7 years agoRequire gmodule-2.0 for the blob loading code
Bastien Nocera [Sun, 20 Mar 2011 22:31:34 +0000 (22:31 +0000)]
Require gmodule-2.0 for the blob loading code

7 years agoFix warnings with GCC 4.6
Bastien Nocera [Sun, 20 Mar 2011 22:30:35 +0000 (22:30 +0000)]
Fix warnings with GCC 4.6

Set but unused variables, and a few used variables that could
be unset.

7 years ago[mono] raise mono versioning since ABI was broken
Christophe Fergeau [Mon, 21 Mar 2011 10:18:06 +0000 (11:18 +0100)]
[mono] raise mono versioning since ABI was broken

The ABI of the mono bindings was broken, so we raise the version
of the assembly to make the ABI breakage detectable by binding

7 years agouse unsigned int for file size in iTunesDB
Christophe Fergeau [Wed, 19 Jan 2011 22:14:53 +0000 (23:14 +0100)]
use unsigned int for file size in iTunesDB

Itdb_Track was storing the track file size as an int32. Changing
it to an uint32 will not break ABI and will allow libgpod to
support files up to 4GB (up from 2GB previously). Some people
have hit the 2GB limit using very large audio books or transcoded

7 years ago[mono] fix alignment issues on x86
Christian Krause [Thu, 6 Jan 2011 22:12:43 +0000 (23:12 +0100)]
[mono] fix alignment issues on x86

7 years agoFixed memory leaks
phantomjinx [Wed, 2 Mar 2011 22:19:44 +0000 (22:19 +0000)]
Fixed memory leaks

* Thanks to Peter Hoepfner for identifying them

7 years agoreport libimobiledevice dependency in .pc file
Christophe Fergeau [Tue, 8 Feb 2011 13:01:31 +0000 (14:01 +0100)]
report libimobiledevice dependency in .pc file

When libgpod is compiled against libimobiledevice, this dependency
needs to be reported in libgpod-1.0.pc.

7 years agouse appropriate compile flags for libimobiledevice
Christophe Fergeau [Tue, 8 Feb 2011 12:47:25 +0000 (13:47 +0100)]
use appropriate compile flags for libimobiledevice

The makefile was hardcoding -limobiledevice instead of using
the flags provided by pkg-config. This was causing issues on
debian squeeze where this caused link failures.

7 years agoadd more nano6g serial numbers
Christophe Fergeau [Wed, 19 Jan 2011 22:01:02 +0000 (23:01 +0100)]
add more nano6g serial numbers

I got the Green 8GB and Pink 16GB from a store, and inferred the
Green and Orange 16GB as well as the 8GB Red serial numbers from

7 years agoadd more error reporting to sqlite generation
Christophe Fergeau [Thu, 6 Jan 2011 20:23:37 +0000 (21:23 +0100)]
add more error reporting to sqlite generation

Someone reported an issue with gtkpod reporting "failed to write
sqlite DB" errors when trying to write to his Nano 5g. It was
finally tracked down to a missing HashInfo file which made
Locations.itdb.cbk generation fail. Add better error reporting
to that part of the code so that things are easier to track down
next time :)

7 years agofailing to parse recent playcounts isn't fatal
Christophe Fergeau [Sun, 2 Jan 2011 23:24:56 +0000 (00:24 +0100)]
failing to parse recent playcounts isn't fatal

When an error occurs when parsing the playcounts file, the loading
of the iPod database was aborted. This error can be safely ignored,
it's better to lose information about the recently played songs
rather than failing entirely to load the ipod database.

7 years agofix nano5g support
Christophe Fergeau [Sat, 1 Jan 2011 13:05:28 +0000 (14:05 +0100)]
fix nano5g support

It was broken when adding hashAB support because even if the
nano5g says it uses DBVersion 3, it expects Locations.itdb.cbk to
be checksummed using a hash72 (as if it was a DBVersion 4 device).

7 years agofix libgpod version number
Christophe Fergeau [Sat, 1 Jan 2011 12:30:42 +0000 (13:30 +0100)]
fix libgpod version number

It was inadvertantly changed back to 0.7.95 when cleaning up the
various autotools files.

7 years agoDo not write mhips for mhsd type 5 playlists
Nikias Bassen [Fri, 31 Dec 2010 13:55:41 +0000 (14:55 +0100)]
Do not write mhips for mhsd type 5 playlists

7 years agofactor common code in hash functions
Christophe Fergeau [Fri, 31 Dec 2010 21:44:35 +0000 (22:44 +0100)]
factor common code in hash functions

All the hash functions need the idevice firewire guid as a 20-byte
hex number. Introduce an internal itdb_device_get_hex_uuid function
to factor this code which is common to the 3 hash implementations.

7 years agoadd hashAB support via external module
Nikias Bassen [Sun, 3 Oct 2010 23:15:39 +0000 (01:15 +0200)]
add hashAB support via external module

7 years agowrite empty mhsd of type 10
Nikias Bassen [Mon, 4 Oct 2010 00:00:47 +0000 (02:00 +0200)]
write empty mhsd of type 10

Found since iOS4. We don't know yet what this is for -- this is for

7 years agoread genius_cuid (mhsd type 9) and also write it back
Nikias Bassen [Sun, 3 Oct 2010 23:56:52 +0000 (01:56 +0200)]
read genius_cuid (mhsd type 9) and also write it back

This new mhsd of type 9 is new since iOS4. It just holds the genius cuid
if genius is activated. Otherwise, this mhsd node is not written to the
iTunesCDB file. Also updates the genius_cuid field in the db_info sqlite
table if available.

7 years agoremove duplicate AC_CONFIG_SRCDIR
Christophe Fergeau [Tue, 28 Dec 2010 12:14:35 +0000 (13:14 +0100)]
remove duplicate AC_CONFIG_SRCDIR

7 years agoAdd 16GB Black Nano 6g serial number
Christophe Fergeau [Tue, 28 Dec 2010 12:00:51 +0000 (13:00 +0100)]
Add 16GB Black Nano 6g serial number

Courtesy of J. Alves

7 years agoadd 8GB Blue Nano 6g serial number
Christophe Fergeau [Mon, 13 Dec 2010 20:30:21 +0000 (21:30 +0100)]
add 8GB Blue Nano 6g serial number

Courtesy of Boyce Fullmer.

7 years agoadd 16GB Blue Nano 6g serial number
Christophe Fergeau [Wed, 13 Oct 2010 07:44:47 +0000 (09:44 +0200)]
add 16GB Blue Nano 6g serial number

8 years agoadd 8GB Orange Nano 6g serial number
Christophe Fergeau [Wed, 13 Oct 2010 07:44:47 +0000 (09:44 +0200)]
add 8GB Orange Nano 6g serial number

8 years ago[sqlitedb] Implement iPhoneSortKey and iPhoneSortSection sqlite functions
Martin Szulecki [Tue, 27 Jul 2010 14:14:17 +0000 (16:14 +0200)]
[sqlitedb] Implement iPhoneSortKey and iPhoneSortSection sqlite functions

The latest iOS 4 post process commands expect these sqlite functions to be
defined or a range of commands will fail. The implementation is ugly as it
attempts to emulate the data blob structure as closely as possible to the
one iTunes generates.

8 years ago[sqlitedb] Remove the i_tunes_u column to fix a post process error
Martin Szulecki [Tue, 27 Jul 2010 13:30:55 +0000 (15:30 +0200)]
[sqlitedb] Remove the i_tunes_u column to fix a post process error

This column is created by the post process commands defined by the
device on demand.

8 years agoMerge branch 'next'
Christophe Fergeau [Tue, 12 Oct 2010 13:19:52 +0000 (15:19 +0200)]
Merge branch 'next'

8 years agofix warning in test compilation
Christophe Fergeau [Tue, 12 Oct 2010 13:19:04 +0000 (15:19 +0200)]
fix warning in test compilation

test-cp was returning NULL instead of exiting with an error code
when it failed to parse the iPod iTunesDB.

8 years agoAdd ebook support
Christophe Fergeau [Fri, 1 Oct 2010 10:01:40 +0000 (12:01 +0200)]
Add ebook support

Patch from wuda

8 years agoMerge branch 'autotools'
Christophe Fergeau [Tue, 12 Oct 2010 13:11:33 +0000 (15:11 +0200)]
Merge branch 'autotools'


8 years agogenerate bzip2 tarballs
Christophe Fergeau [Wed, 29 Sep 2010 17:37:17 +0000 (19:37 +0200)]
generate bzip2 tarballs

8 years ago0.8.0 release 0.8.0
Christophe Fergeau [Tue, 12 Oct 2010 12:01:10 +0000 (14:01 +0200)]
0.8.0 release

8 years agofix inverted test in HashInfo generation
Christophe Fergeau [Sun, 10 Oct 2010 15:56:10 +0000 (17:56 +0200)]
fix inverted test in HashInfo generation

A test to check if HashInfo generation is needed or not wasn't not
properly negated, which means we were generating HashInfo files
in cases when it was not needed (eg non-hash72 iOS devices).

8 years agoRemove unused get/put16lint functions
Christophe Fergeau [Wed, 6 Oct 2010 14:04:28 +0000 (16:04 +0200)]
Remove unused get/put16lint functions

8 years agoSkip writing empty playlists on 3rd gen shuffles
Adam Broschinski [Wed, 6 Oct 2010 02:45:41 +0000 (22:45 -0400)]
Skip writing empty playlists on 3rd gen shuffles

The third gen shuffles do not handle empty playlists well so
the patch makes the changes necessary to allow them to be skipped.
This delays the writing of the number of playlists in the bdhs header
until we count the number of nonempty playlist in write_hphs.

8 years agoAdd bookmarks and skip on shuffle to old shuffles
Adam Broschinski [Wed, 6 Oct 2010 02:38:50 +0000 (22:38 -0400)]
Add bookmarks and skip on shuffle to old shuffles

Removes the hard coded values for bookmarks and skip on shuffle
from the 2nd gen writing code allowing those features to be enabled.
Also clarifies a few comments.

8 years agoupdate MhbdHeader field names
Nikias Bassen [Sat, 2 Oct 2010 22:48:10 +0000 (00:48 +0200)]
update MhbdHeader field names

8 years agofield unk_0xa8 is 16 bit not 32 bit wide
Nikias Bassen [Sat, 2 Oct 2010 18:43:41 +0000 (20:43 +0200)]
field unk_0xa8 is 16 bit not 32 bit wide

8 years agorespect 'platform' field in iTunes(C)DB and version_info sqlite table
Nikias Bassen [Sat, 2 Oct 2010 17:01:24 +0000 (19:01 +0200)]
respect 'platform' field in iTunes(C)DB and version_info sqlite table

8 years agoget rid of obsolete and obnoxious warning
Christophe Fergeau [Sat, 2 Oct 2010 14:31:10 +0000 (16:31 +0200)]
get rid of obsolete and obnoxious warning

8 years agoadd 4th generation Shuffles
Christophe Fergeau [Thu, 30 Sep 2010 17:30:37 +0000 (19:30 +0200)]
add 4th generation Shuffles

These models are 2GB only.

8 years agoattempt to bring sanity in shuffle generations
Christophe Fergeau [Thu, 30 Sep 2010 17:26:09 +0000 (19:26 +0200)]
attempt to bring sanity in shuffle generations

libgpod has been naming the 2.5g iPod Shuffle (which is physically
identical to the 2g iPod Shuffle) a 3rd generation iPod Shuffle
while for the rest of the world, the 3rd generation iPod Shuffle is
the button-less bar with voice-over.

Change libgpod to use the same convention as the rest of the world,
it's a little bit less accurate since now the 2g and 2.5g models
can't be differentiated, but the less confusing naming should be
better in the long run.  It's also technically an ABI breakage, but
I don't think anyone relies at all on the generation for an iPod
model not changing.

8 years agoadd serial numbers for various Nano 6G
Christophe Fergeau [Thu, 30 Sep 2010 17:07:13 +0000 (19:07 +0200)]
add serial numbers for various Nano 6G

Add serial number for 8GB Pink and Black Nano 6G and for 16GB Silver
and Red Nano 6G.

8 years agoremove recent playcount file after db writing
Christophe Fergeau [Thu, 30 Sep 2010 16:46:08 +0000 (18:46 +0200)]
remove recent playcount file after db writing

Currently, when parsing an iPod database, libgpod reads the iPod
file containing information about the recent playcounts and merges
it with the database. However, it doesn't automatically remove this
file, and gives no way for applications to do it, as a result,
playcounts will be merged several times if itdb_parse is called
several time on an iPod. To avoid that, once the database has been
successfully written to disk, we make sure to remove the recent
playcount files.

8 years agoadd serial number for 64GB iPod Touch 4G
Christophe Fergeau [Thu, 30 Sep 2010 16:52:54 +0000 (18:52 +0200)]
add serial number for 64GB iPod Touch 4G

8 years ago[mono] forgot to add the iPad in IpodGeneration
Christophe Fergeau [Thu, 30 Sep 2010 09:04:44 +0000 (11:04 +0200)]
[mono] forgot to add the iPad in IpodGeneration

8 years ago[mono] sync enum mappings with C enums
Christophe Fergeau [Thu, 30 Sep 2010 08:59:41 +0000 (10:59 +0200)]
[mono] sync enum mappings with C enums

The IpodGeneration and IpodModel didn't contain the latest values
added to the C enum, add these.

8 years agoadjust versioning to current autotools pratices
Christophe Fergeau [Wed, 29 Sep 2010 17:36:52 +0000 (19:36 +0200)]
adjust versioning to current autotools pratices

8 years agouse autoupdate to modernize
Christophe Fergeau [Wed, 29 Sep 2010 17:35:54 +0000 (19:35 +0200)]
use autoupdate to modernize

8 years agoadd missing strings for new iPod generations
Christophe Fergeau [Thu, 30 Sep 2010 08:23:15 +0000 (10:23 +0200)]
add missing strings for new iPod generations

When adding the latest iPhone, iPod Touch and Nano, I forgot to add
description strings, which result in empty entries in gtkpod ipod
initialization GUI.

8 years agoHandle "not-binary-and" as smart playlist action
Christophe Fergeau [Wed, 29 Sep 2010 20:07:19 +0000 (22:07 +0200)]
Handle "not-binary-and" as smart playlist action

This appearead as part of ebook handling on recent iOS databases. Without
this action, a warning appears in the console.

8 years agoget ready for 0.7.95 0.7.95
Christophe Fergeau [Wed, 29 Sep 2010 17:10:22 +0000 (19:10 +0200)]
get ready for 0.7.95

8 years agoupdate NEWS for 0.7.95
Christophe Fergeau [Wed, 29 Sep 2010 17:10:01 +0000 (19:10 +0200)]
update NEWS for 0.7.95

8 years agofix typo in 0.7.94 NEWS entry
Christophe Fergeau [Wed, 29 Sep 2010 16:53:12 +0000 (18:53 +0200)]
fix typo in 0.7.94 NEWS entry

8 years agoFix for video_info table to sort by TV Show title
Joel Smith [Thu, 15 Apr 2010 03:36:42 +0000 (21:36 -0600)]
Fix for video_info table to sort by TV Show title

Fixes for 959928ee72bb1073982f72574e8bbe2fd3f1389f.
If sort_tvshow isn't present, use the TV Show Title for sorting instead.
Additionally, create an episode sort value by combining the season
number and the episode number.

8 years agoAdd serial number for 2GB Silver Shuffle 2nd Gen
Christophe Fergeau [Wed, 29 Sep 2010 16:25:42 +0000 (18:25 +0200)]
Add serial number for 2GB Silver Shuffle 2nd Gen

8 years ago[mono] Add Playlist ctor for making new playlists
Gabriel Burt [Thu, 23 Sep 2010 20:28:31 +0000 (15:28 -0500)]
[mono] Add Playlist ctor for making new playlists

8 years ago[mono] Return null if Master playlist is null
Gabriel Burt [Thu, 23 Sep 2010 21:35:28 +0000 (16:35 -0500)]
[mono] Return null if Master playlist is null

8 years ago[mono] Return null if Podcasts playlist is null
Gabriel Burt [Thu, 23 Sep 2010 20:27:42 +0000 (15:27 -0500)]
[mono] Return null if Podcasts playlist is null

8 years agoAdd serial number for 8GB Silver Nano 6g
Christophe Fergeau [Fri, 24 Sep 2010 18:06:12 +0000 (20:06 +0200)]
Add serial number for 8GB Silver Nano 6g

Thanks to Daniele Ricci for all the information about the Nano 6g!

8 years agoAdd model numbers for nano 6g
Christophe Fergeau [Fri, 24 Sep 2010 17:37:31 +0000 (19:37 +0200)]
Add model numbers for nano 6g

8 years agoAdd Nano 6th gen to the various enums
Christophe Fergeau [Fri, 24 Sep 2010 16:15:31 +0000 (18:15 +0200)]
Add Nano 6th gen to the various enums

This device uses an hash AB in both its iTunesCDB and its
Locations.itdb.cbk files so it's unfortunately impossible to write
to it for now.

8 years ago[sqlite] Don't abort after the first copying error
Christophe Fergeau [Fri, 24 Sep 2010 16:13:07 +0000 (18:13 +0200)]
[sqlite] Don't abort after the first copying error

After my recent changes, the code copying the temporary sqlite files
to the device would abort after the first copy error that happens.
Change it so that it tries to copy as many files as possible and
report the last error that occurred to be as close as the previous
behaviour as possible.

8 years ago[sqlite] don't forget to copy Locations.itdb.cbk
Christophe Fergeau [Thu, 23 Sep 2010 09:53:24 +0000 (11:53 +0200)]
[sqlite] don't forget to copy Locations.itdb.cbk

This was broken when adding GError handling in this code in
4066f9114. As a result, adding new files to sqlite-enabled iPods
would fail.

8 years agoAdd serial number for 8GB iPod Touch 4G
Christophe Fergeau [Tue, 21 Sep 2010 16:47:55 +0000 (18:47 +0200)]
Add serial number for 8GB iPod Touch 4G

Thanks to Luis Lopez for sending info about this model.

8 years agoMediaType is a bitfield
Christophe Fergeau [Tue, 21 Sep 2010 15:55:53 +0000 (17:55 +0200)]
MediaType is a bitfield

1e719585f6 added new members to Itdb_Mediatype, but these members
are trivial binary OR of existing Itdb_MediaType elements. Media types
are actually bitfields, but this was never mentioned explicitly
anywhere. Improve Itdb_MediaType definition and documentation
to make that more obvious. This also fixes the few places where libgpod
manipulates media types to take into account the fact that it's a

8 years agodon't attempt to dereference NULL GError
Christophe Fergeau [Tue, 21 Sep 2010 15:33:50 +0000 (17:33 +0200)]
don't attempt to dereference NULL GError

Thanks to Alan for spotting this bug.

8 years agostyle/whitespace fixes in the mono bindings
Nathaniel McCallum [Tue, 21 Sep 2010 15:19:41 +0000 (16:19 +0100)]
style/whitespace fixes in the mono bindings

8 years agofix a pretty bad bug accessing the g_lists from managed code
Alan McGovern [Sun, 12 Sep 2010 22:21:07 +0000 (23:21 +0100)]
fix a pretty bad bug accessing the g_lists from managed code

If managed land created a GLib.List from the native pointer and then we
did something to cause an item to be added/removed from the native list,
the managed copy would be out of sync and would be pointing at
just-freed memory. For example if the first item in the glist was
removed in native code, the managed copy would still think it was there.

We work around this issue by instantiating a GLib.List and letting it
die as soon as we use it once. We don't store it and re-use it.

Signed-off-by: Nathaniel McCallum <>
8 years agoAdd more MimeTypes (bgo#630215)
Gabriel Burt [Mon, 20 Sep 2010 22:31:41 +0000 (17:31 -0500)]
Add more MimeTypes (bgo#630215)

Signed-off-by: Nathaniel McCallum <>
8 years agoAdd video podcast and music tv show mimetypes
Gabriel Burt [Mon, 20 Sep 2010 22:33:47 +0000 (17:33 -0500)]
Add video podcast and music tv show mimetypes

Signed-off-by: Nathaniel McCallum <>
8 years agoDon't try to destroy NULL GHashTable
Christophe Fergeau [Mon, 20 Sep 2010 13:10:58 +0000 (15:10 +0200)]
Don't try to destroy NULL GHashTable

FImport::pcounts2 is only non-NULL on iOS devices where some
songs have been played since last sync. Make sure we don't try to
free it if it wasn't created or we get a warning from glib.

8 years agoAdd comment about mac epoch
Christophe Fergeau [Mon, 20 Sep 2010 13:03:21 +0000 (15:03 +0200)]
Add comment about mac epoch

I always forget when it starts, and since the sqlite databases use
a different epoch for their timestamps, things were getting confusing

8 years agoPrevent an overflow when marshalling datetimes.
Alan McGovern [Fri, 17 Sep 2010 21:31:14 +0000 (22:31 +0100)]
Prevent an overflow when marshalling datetimes.

We know the itunes database can only represent 32bit times, so ensure
that we only generate 32bit values for dates. Prevents throwing an
overflow exception 32bit systems if we have a date too large for a
32bit value. Fixes banshee bug #629838.

8 years ago[sqlite] Add error handling through GError
Christophe Fergeau [Sun, 19 Sep 2010 21:04:16 +0000 (23:04 +0200)]
[sqlite] Add error handling through GError

The sqlite code wasn't filling a GError when something goes wrong.
Since itdb_write_file_internal expects a GError to be filled when
there's a problem, errors during sqlite handling would go unnoticed.
Adding a GError which is filled when there's an error solves this

8 years agoFill GError when HashInfo file is missing
Christophe Fergeau [Sun, 19 Sep 2010 21:01:41 +0000 (23:01 +0200)]
Fill GError when HashInfo file is missing

itdb_write_internal only detects errors if the GError it uses is
filled. No GError was filled when the HashInfo file is missing so
itdb_write_internal was thinking all was going well when this
happened instead of reporting an error

8 years agoAdd ITDB_ERROR as a domain for GErrors
Christophe Fergeau [Sun, 19 Sep 2010 20:57:22 +0000 (22:57 +0200)]
Add ITDB_ERROR as a domain for GErrors

libgpod already has an ITDB_FILE_ERROR domain, but it's too specific,
add the really generic ITDB_ERROR domain which will be used from now

8 years agoImprove directory creation in itdb_init_ipod
Christophe Fergeau [Sun, 19 Sep 2010 11:35:54 +0000 (13:35 +0200)]
Improve directory creation in itdb_init_ipod

For the creation of the iPod_Control directory, we first attempt
to reuse an existing directory using itdb_get_control_dir. This feels
safer than hardcoding the directory names as the old code does,
especially since the iPods seem to automatically recreate the
iPod_Control directory when it's deleted, The old code is still used
as a fallback for at least the iPod Nano 5th gen.

8 years agoRemove unused variable in itdb_init_ipod
Christophe Fergeau [Sun, 19 Sep 2010 10:46:01 +0000 (12:46 +0200)]
Remove unused variable in itdb_init_ipod

itdb_init_ipod uses a devicefile variable to conditionnally create
the Device/ directory, but this variable is always set to TRUE, so
we can just get rid of it.

8 years agoHandle nested itdb_start/stop_sync calls
Hector Martin [Sun, 19 Sep 2010 02:09:54 +0000 (04:09 +0200)]
Handle nested itdb_start/stop_sync calls

8 years agoadd 4th gen iPod Touch to known models
Christophe Fergeau [Sat, 18 Sep 2010 16:34:04 +0000 (18:34 +0200)]
add 4th gen iPod Touch to known models

This adds the part numbers for the 8GB, 32GB and 64GB iPod Touch,
as well as the serial number for the 32GB model courtesy of Riley

8 years agoLocate the proper control directory when both iPod_Control and iTunes_Control directo...
Whitney Young [Thu, 16 Sep 2010 16:01:22 +0000 (11:01 -0500)]
Locate the proper control directory when both iPod_Control and iTunes_Control directories exist on a device

8 years agoSupport for reading PlayCounts.plist for play counts, stats and bookmarks. iPhone...
Joel Smith [Thu, 15 Apr 2010 03:58:19 +0000 (21:58 -0600)]
Support for reading PlayCounts.plist for play counts, stats and bookmarks. iPhone/iPod Touch 3.x use this file, so without this support, bookmarks are lost during sync.

8 years agoGet gint64 value instead of gint as returned from plist
Joel Smith [Thu, 15 Apr 2010 03:55:43 +0000 (21:55 -0600)]
Get gint64 value instead of gint as returned from plist

8 years agoadd chapter support for sqlite tables
Joel Smith [Sat, 4 Sep 2010 01:00:02 +0000 (19:00 -0600)]
add chapter support for sqlite tables

8 years agoadd itdb_chapterdata_build_chapter_blob
Joel Smith [Sat, 4 Sep 2010 00:58:45 +0000 (18:58 -0600)]
add itdb_chapterdata_build_chapter_blob

8 years agomove chapter data writing to a helper function
Joel Smith [Sat, 4 Sep 2010 00:58:45 +0000 (18:58 -0600)]
move chapter data writing to a helper function

8 years agohandle child atoms other than name in chapter parsing
Joel Smith [Thu, 15 Apr 2010 03:49:54 +0000 (21:49 -0600)]
handle child atoms other than name in chapter parsing

Since chapters can have several child atoms besides name (such as url ,
urlt, or ploc/trak), the parser now properly skips them and only looks
at the name child atom

8 years agoRevert "Fix for creation of blank playlist on 80GB ipod video"
Christophe Fergeau [Sat, 4 Sep 2010 15:59:37 +0000 (17:59 +0200)]
Revert "Fix for creation of blank playlist on 80GB ipod video"

This reverts commit 1252bc0e18c396b2cb5e1bd5369f17403ca181aa.

On an iPod Video with 1.2.1 firmware:
-  With 1252bc0, no songs, no videos, no playlists at
all (except the On-the-go playlist)
-  Before 1252bc0, songs/videos/playlists are visible, but
there is an additional unnamed blank music playlist.

With latest firmware, none of these issues show up. The blank playlist
bug is better than the empty ipod bug, so let's revert to the earlier
behaviour and if someone encounters the blank playlist issue, we just
have to remember to tell him to update his firmware. For the record,
it seems only writing 4 mhsds on an iPod Video with firmware 1.2.1
avoids these 2 issues too.

8 years ago[mono] fix dll name in dllmap
Chow Loong Jin [Sat, 4 Sep 2010 14:51:35 +0000 (16:51 +0200)]
[mono] fix dll name in dllmap

Correct the name of the dllmap from "libgpod" to "gpod", and remove
quotes from .so name

8 years ago0.7.94 0.7.94
Christophe Fergeau [Tue, 31 Aug 2010 21:09:37 +0000 (23:09 +0200)]

8 years agodescribe a previously unknown mhbd field
Christophe Fergeau [Mon, 30 Aug 2010 23:01:41 +0000 (01:01 +0200)]
describe a previously unknown mhbd field

Thanks to Nikias for the info

8 years agoimprove itdb_parse error message on empty iPods
Christophe Fergeau [Mon, 30 Aug 2010 20:54:48 +0000 (22:54 +0200)]
improve itdb_parse error message on empty iPods

The error message returned when trying to call itdb_parse on a mount
where neither an iTunesDB or iTunesCDB could be found was referring to
a "(null)" filename that couldn't be found. Changes the error message
to something more sane.

8 years agoupdate NEWS
Christophe Fergeau [Mon, 30 Aug 2010 20:26:23 +0000 (22:26 +0200)]
update NEWS

8 years agoFix for creation of blank playlist on 80GB ipod video
phantomjinx [Mon, 30 Aug 2010 09:51:25 +0000 (10:51 +0100)]
Fix for creation of blank playlist on 80GB ipod video

* The ordering of itdb writes seems to be crucial for certain ipod models.
  The 80GB ipod video requires the albums to be written before the playlists.
  Otherwise, a blank playist is created, which has no name and cannot be
  accessed by itdb parsing applications. It is only visible on the ipod
  itself but can mask other playlists that have been written.

8 years agoMerge branch 'artwork-alignment'
Christophe Fergeau [Mon, 30 Aug 2010 19:37:35 +0000 (21:37 +0200)]
Merge branch 'artwork-alignment'

8 years agofix endianness issue in iTunesCDB reading
Christophe Fergeau [Fri, 27 Aug 2010 19:41:17 +0000 (21:41 +0200)]
fix endianness issue in iTunesCDB reading

8 years ago[mono] wrap the itdb_start/stop_sync methods
Alan McGovern [Sun, 29 Aug 2010 22:31:34 +0000 (23:31 +0100)]
[mono] wrap the itdb_start/stop_sync methods

8 years ago[mono] make the managed struct size match the native struct size
Alan McGovern [Sun, 29 Aug 2010 22:10:30 +0000 (23:10 +0100)]
[mono] make the managed struct size match the native struct size

Ensure that the managed Itdb_Playlist struct exactly mirrors the native
struct so that we can directly access the native pointer to get/set

8 years agotake into account tvshow field in album comparison
Alex Mauer "hawke [Wed, 21 Jul 2010 16:40:17 +0000 (18:40 +0200)]
take into account tvshow field in album comparison

8 years agoimprove album comparison
Alex Mauer "hawke [Wed, 21 Jul 2010 16:29:58 +0000 (18:29 +0200)]
improve album comparison

Before this commit, tracks with no (or same) album name and where one
has an artist name and the other does not have an artist name would be
considered as part of the same album.