| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
* src/itdb_itunesdb.c: (write_db_checksum):
* src/itdb_private.h: add an itdb_device_requires_checksum function so
that we only error out because of checksum writing issues on ipods which
require a checksum. Ideally, we should restore the old file when there is
a fatal checksum writing error, but libgpod isn't currently doing that
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1722 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
| |
before writing the artwork since artwork writing uses them
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1717 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
| |
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1713 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
| |
creation of the iTunesDB instead of modifying the iTunesDB file
in place (Christophe)
* src/itdb_device.c: re-use artwork definition for iPod classic
also for iPod Nanos 3G.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1712 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
| |
new iPod Nanos and Classics so they display artwork (Christophe)
* src/db-artwork-writer (ipod_artwork_set_ids): modify the
assignment of IDs for artwork (Christophe)
* src/itdb_device.c: added artwork definition file (cover only)
for iPod Nano Videos (3G). Thanks to Simon Schulz.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1711 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
| |
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1708 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
| |
(itdb_write_checksum):
* src/itdb_sha1.c: (itdb_compute_hash):
* src/itdb_sha1.h: propagate the calculated checksum length as an out
parameter to the checksumming functions, fixes a bug where a partial
checksum would be written if it contained a \0
* tests/test-checksum.c: (calculate_db_checksum): update test program
to that API change
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1702 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/itdb_itunesdb.c (mk_mhbd): write extended header needed
for new iPod Nanos (3G Video) and iPod Classics.
src/itdb_device.c
src/itdb_device.h: Code to parse SysInfoExtended and SysInfo
for the FireWireGUID. You must either copy the iPod
description XML file to Device/SysInfoExtended or add a line
'FirewireGuid: 000A27....' to Device/SysInfo. You can get
your FirewireGuid by using the tests/test-fw-id test program.
* src/sha1.c
src/sha1.h
src/itdb_sha1.c
src/itdb_sha1.h
New files for obscure hash generation code.
* src/Makefile.am: added new files.
* tests/test-checksum.c
tests/test-fw-id.c
tests/Makefile.am: test programs to retrieve the
FirewireGuid and calculate/write the obscure hash.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1698 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
added support for iPhones
* itdb.h: added ITDB_IPOD_MODEL_IPHONE_1 enum
* itdb_device.c: added iPhone description
TODO: define artwork definition in itdb_device.c -- currently
artwork is not supported.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1690 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
| |
ipod_parse_artwork_db() if iTunesDB was not read successfully.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1682 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
| |
unnecessary. Thanks to Javier Kohen for the patch.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1680 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
| |
sort strings -- fixes multiple display of same album on the
iPod.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1580 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
| |
src/itdb.h: libgpod will not change the values for sort_artist.
Furthermore, libgpod reads the stored values of
sort_artist/_album... from the iTunesDB and makes them available
through the Itdb_Track structure. Applications should modify
these values along with the corresponding artist/album... fields
if a particular sort order is required.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1549 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
src/db-artwork-writer.c
src/itdb_device.c
src/itdb_itunesdb.c
src/itdb_private.h:
Fixed segfault when parsing photo databases introduced by the
new handling of timestamps (all timestamps exported are
host-local time_t).
itdb_time_time_t_to_mac() and itdb_time_mac_to_time_t() were
renamed to device_*() and take a pointer to an Itdb_Device
instead of a pointer to an Itdb_iTunesDB structure as the latter
does not exist in case of photo databases. All references to
those two functions were changed accordingly and the functions
themselves were moved from itdb_itunesdb.c to itdb_device.c.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1439 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
| |
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1438 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
| |
* src/itdb_itunesdb.c (playcounts_init): C&P error stat'ing the
wrong file. Thanks to Raymond Walsh.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1436 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
| |
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1430 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
| |
itdb can never be NULL. Thanks to Raymond Walsh.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1429 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
| |
Fix for 64 bit systems: don't show "last played" data as played
in the last century... Thanks to Christophe.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1428 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
| |
src/itdb_itunesdb.c
tests/test-photos.c:
Corrected some typos. Thanks to Daniele Forsi.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1427 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
src/itdb_device.c
src/itdb_private.h
src/itdb.h:
New API functions to facilitate copying to the iPod in a
background thread and implementation of own copying code.
itdb_cp_get_dest_filename(): obtain a valid filename on the iPod
to where a track can be copied. This function can be used in a
thread-safe way.
itdb_cp_finalize(): to be called after the track was
copied to the iPod to update some fields in the Itdb_Track
structure. This function can also be used in a thread-safe way.
You can use the already existing function itdb_cp() to copy a
track to the iPod and itdb_cp_track_to_ipod() remains available
unchanged in functionality.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1426 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
| |
variable "dir_num" which was initialized once and cycled through
for each track transfered. This doesn't seem right since
different iPods with different number of music directories may
be connected at the same time, and itdb_cp_track_to_ipod() may
be called for different iTunesDBs at the same in in a threaded
environment. Since there is no inherent value in cycling through
the directories, a random directory is selected each time.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1425 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
| |
(thanks to Daniele Forsi).
* tests/test-ls.c (display_recently_played): fixed compile warning
(thanks to Daniele Forsi).
* tests/get-timezone.c: added to CVS (thanks to Daniele Forsi).
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1422 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
src/itdb.h
src/itdb_itunesdb.c
src/itdb_track.c: Added the following fields to Itdb_Track:
sort_artist
sort_title
sort_album
sort_albumartist
sort_composer
sort_tvshow
These fields can (theoretically) be used to force a certain sort
order on the iPod when displaying by artist, album...
Even though these fields are present in the iTunesDB, they are
discarded when reading the iTunesDB and applications must always
set them before writing the iTunesDB again. This is to avoid
that the fields 'artist' and 'sort_artist' accidentially get out
of sync.
libgpod will automatically create a sort_artist key for you if
artist is of the type 'The Artist' and sort_artist is not
set. The sort key used in that case is 'Artist, The' (followed
by five time 0x01), even though sort_artist itself will not be
touched.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1421 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
src/itdb_itunesdb.c
src/itdb_playlist.c
src/itdb_private.h: namespace cleanup. Applications supporting
smart playlists will have to be adapted. The following changes
were implemented to make sure all exported symbols start with
ITDB or Itdb:
structs:
SPLPref -> Itdb_SPLPref
SPLRules -> Itdb_SPLRules
SPLRule -> Itdb_SPLRule
SPL_* -> ITDB_SPL_*
enums, #defines:
LIMITTYPE_* -> ITDB_LIMITTYPE_*
LIMITSORT_* -> ITDB_LIMITSORT_*
SPLMATCH_* -> ITDB_SPLMATCH_*
SPLACTION_* -> ITDB_SPLACTION_*
SPLFIELD_* -> ITDB_SPLFIELD_*
SPLDATE_IDENTIFIER -> ITDB_SPL_DATE_IDENTIFIER
splft_* -> ITDB_SPLFT_*
splat_* -> ITDB_SPLAT_*
enum SPLAction -> ItdbSPLAction
enum SPLActionType -> ItdbSPLActionType
enum SPLField -> ItdbSPLField
enum SPLFieldType -> ItdbSPLFieldType
enum ItdbLimitType (new)
enum ItdbLimitSort (new)
enum ItdbSPLMatch (new)
removed SPL_MAXSTRINGLENGTH (use ITDB_SPL_STRING_MAXLEN)
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1418 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
docs/reference/tmpl/itunesdb-time.sgml
docs/reference/tmpl/libgpod-unused.sgml
docs/reference/tmpl/track.sgml
src/db-artwork-parser.c
src/db-artwork-writer.c
src/db-itunes-parser.h
src/itdb.h
src/itdb_device.c
src/itdb_device.h
src/itdb_itunesdb.c
src/itdb_private.h
tests/Makefile.am:
Christophe's patch for automatic correction of timestamps
depending on which timezone the iPod is set to.
ATTENTION DEVELOPERS: as a consequence all exported timestamps
are no longer guint32 mac-type timestamps but standard time_t
timestamps. This also includes the 64 bit timestamps in smart
playlists. The following functions are therefore no longer
needed and are deprecated:
itdb_time_mac_to_host(), itdb_time_host_to_mac(): simply return
the argument without changing it. Argument and return value are
now both of type 'time_t'.
itunesdb_time_get_mac_time(): returns the seconds passed since
Epoch in seconds and is equivalent to time(NULL).
These functions may be removed in a future version of
libgpod. Programs linking to libgpod may need to be changed
slightly if they made any assumptions on the type of timestamps
used. This should be obvious through compile-time warnings.
tests/test-ls.c: print a list of recently played tracks.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1417 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
| |
* src/itdb_device.c: add itdb_device_supports_artwork and
idb_device_supports_photo functions
* docs/reference/tmpl/device.sgml: update api doc
* src/itdb_itunesdb.c: don't try to write artwork database if the iPod
model doesn't support artwork.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1414 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
| |
and let mk_mhod() handle the sorting of mhod52 directly).
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1409 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
| |
playlist. This speeds up the iPod interface when browsing titles
or albums etc. because the iPod won't have to sort through the
track list.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1408 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
| |
into the mhyp header according to the iTunesDB wiki (mhod count /
libmhod count)
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1407 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
| |
extension to lowercase because some people reported new iPod
models choking on filenames with uppercase extensions like
test.MP3. Not sure if it helps, though.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1404 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
src/itdb_itunesdb.c
src/itdb_playlist.c: introduced splft_binary_and as separate
field type as this will simplify handling in applications.
* src/itdb_itunesdb.c (get_mhod, mk_mhod): replaced
if()... with a switch()... to catch changes made to
SPLFieldType more easily.
* src/itdb.h: introduced Itdb_Mediatype enum.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1398 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
| |
in smart rules to avoid writing illegal smart playlist rules
corrupting the iTunesDB in the process.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1397 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
| |
src/itdb_itunesdb.c
src/itdb_playlist.c:
Updated smart playlist handling to recognize album artist, tv
show, last skipped, season number, skipcount and video kind
fields.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1396 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
| |
src/itdb_itunesdb.c (itdb_cp_track_to_ipod): changed declaration
of 'filename' from "gchar *" to "const gchar *".
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1389 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
| |
fields like 'tvepisode', 'tvshow' without forgetting half of the
places that need to be touched.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1364 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
| |
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1360 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
| |
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1357 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
| |
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1355 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
| |
src/itdb_itunesdb.c: added tvshow, tvepisode, tvnetwork,
albumartist, keywords, reseved to Itdb_Track. 'reserved' can
later be used to support 'Artist, The'.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1353 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/itdb.h
src/itdb_itunesdb.c: renamed unk156 to skipcount and unk160 to
last_skipped.
Added unk244, gapless_data, unk252, gapless_track_flag,
gapless_album_flag, recent_skipcount.
Added handling of skipcount and last_skipped to playount file
handling.
* src/itdb_private.h: added skipcount and last_skipped to struct
playcount.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1348 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
| |
src/itdb_itunesdb.c: removed mhodcount and libmhodcount from
Itdb_Playlist as these are only used internally and reset during
syncing.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1340 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
itdb_itunesdb.c:
itdb_track.c:
renamed some formerly unknown Itdb_Track entries and added
comments:
- unk184->pregap
- samplecount: guint32 -> guint64.
- unk192->(removed)
- unk200->postgap
- unk208->mediatype
- unk212->season_nr
- unk216->episode_nr
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1334 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
| |
Nano to 14 after user report.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1316 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
| |
NULL (SF tracker bugs item #1519048)
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1308 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
| |
(shuffle database) when initializing shuffle. Thanks to
James Joyce for the patch.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1307 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
| |
messages.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1306 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
| |
src/itdb.h:
Added itdb_get_itunessd_path ().
itdb_init_ipod() will no longer overwrite existing iTunesDB and
iTunesSD.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1304 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
src/itdb_device.c:
Added itdb_device_write_sysinfo() and itdb_device_set_sysinfo().
* src/itdb_itunesdb.c (itdb_create_directories):
Use functions introduced above.
(itdb_write): Write SynsInfo file when writing the iTunesDB if
SysInfo hash has been changed by application.
* src/itdb_device.[ch]: mark sysinfo hash as changed/unchanged.
* src/itdb_photoalbum.c (itdb_photodb_write): Write SynsInfo file
when writing the iTunesDB if SysInfo hash has been changed by
application.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1302 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|
|
|
|
|
| |
":" when writing SysInfo file.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1301 f01d2545-417e-4e96-918e-98f8d0dbbcb6
|