2009-02-18 Linus Walleij <triad@df.lth.se> * src/tagfile.c: implement the public bug fix from: http://blog.steve.org.uk/what_can_you_do__sparta_will_need_sons_.html cheers! 2009-01-22 Linus Walleij <triad@df.lth.se> * src/filesystem.c: finally (hopefully) nailed the bug that caused unsolicited deletion of "." and "..". * po/LINGUAS: renamed Norweigan bokmaal translation from no.po to nb.po. * po/no.po: deleted. * po/nb.po: created. * src/wmaread.c: disregard meta->trackno == 0. It's OK. 2009-01-20 Linus Walleij <triad@df.lth.se> * configure.ac: bump to 2.9.3 and check for libmtp 0.3.0+ * src/jukebox.c: conditional code for old libmtp versions. 2008-08-07 Linus Walleij <triad@df.lth.se> * configure.ac: release 2.9.2 to get a libmtp 0.3.0 compliant version out there. 2008-06-27 Linus Walleij <triad@df.lth.se> * src/jukebox.c: update to released libmtp 0.3.0 API. 2008-06-21 Linus Walleij <triad@df.lth.se> * src/riffile.c: a generic interface to read metadata from RIFF files like WAV or AVI. Functions not yet merged. includes new work by Kees van Veen <kees.vanveen@gmail.com> on AVI stuff. * src/riffile.h: header. * src/filesystem.c: use new function to get AVI file info, move header name. * src/wavfile.c: remove. * src/wavfile.h: remove. 2008-06-09 Linus Walleij <triad@df.lth.se> * configure.ac: require the new libmtp 0.3.0 for the next version of gnomad2. * gnomad2.desktop.in: put in some MIME type handlers. 2008-05-10 Linus Walleij <triad@df.lth.se> * src/gnomad2.c: make it possible to compile with dbus-glib but without HAL. (But why...) 2008-03-26 Linus Walleij <triad@df.lth.se> * src/jukebox.c: Fix so that we can compile without libmtp again. 2008-02-16 Richard Quirk <richq@users.sourceforge.net> * src/metadata.c: patch to sort after song length correctly and also support this in the jukebox view. 2008-01-28 Linus Walleij <triad@df.lth.se> * Release Gnomad 2.9.1 with all this D-Bus and HAL stuff, it's cool so why not. 2008-01-24 Linus Walleij <triad@df.lth.se> * configure.ac: properly also detect HAL/libhal. Bump to 2.9.1. * src/Makefile.am: add flags for HAL. * src/gnomad2.c: use D-Bus and HAL to detect devices properly detected through the libmtp and libnjb FDI files. Make gnomad2 connect and shut down automatically when known devices are plugged in/removed. * src/jukebox.c: consequental changes. * src/jukebox.h: consequental changes. * src/playlists.c: consequental changes. 2007-12-02 Linus Walleij <triad@df.lth.se> * src/filesystem.c: do not delete "." or ".." directories if these are selected. 2007-09-20 Linus Walleij <triad@df.lth.se> * src/common.h: enable even more customization of colors and styles for folder and directory entries. * src/data.c: dito. * src/xfer.c: dito. 2007-09-14 Linus Walleij <triad@df.lth.se> * src/jukebox.c: enable cancellation on MTP devices. 2007-09-12 Linus Walleij <triad@df.lth.se> * src/editmeta.c: make it possible to use taglib only. * src/filesystem.c: dito. * src/filesystem.h. dito. * src/jukebox.c: dito. * src/prefs.c: dito. * src/prefs.h: dito. * src/tagfile.c: dito. 2007-09-02 Linus Walleij <triad@df.lth.se> * configure.ac: make it possible to use taglib exclusively, like for everything including MP3 files. * src/tagfile.h: expect taglib to be able to strip tags soon. * src/tagfile.c: dito. 2007-08-30 PaweŠWlaź <pwlaz@mat.pol.lublin.pl> * src/jukebox.c: implement the much-aftersought folder support for the MTP datafile view. 2007-08-29 Linus Walleij <triad@df.lth.se> * configure.ac: Bump to version 2.9.0 and release. * README: doc on using taglib. * NEWS: dito. 2007-08-23 Linus Walleij <triad@df.lth.se> * configure.ac: detect taglib C interface if available. * src/Makefile.am: conditionally build taglib support. * src/tagfile.c: taglib support glue courtesy of Peter Randeu <ranpet@sbox.tugraz.at> * src/tagfile.h: dito. * src/filesystem.c: consequental changes. * src/editmeta.c: dito. 2007-08-14 Linus Walleij <triad@df.lth.se> * src/gnomad2.c: fix the aboutbox issue with it not closing, bug fix pointed out by Fabrice Foucaud. 2007-06-09 Linus Walleij <triad@df.lth.se> * src/jukebox.c: fix a problem making it impossible to compile gnomad2 without libmtp. (Sorry.) * configure.ac: bump to 2.8.13 and release. 2007-04-19 Linus Walleij <triad@df.lth.se> * src/xfer.c: make colors more editable. * src/data.c: dito. 2007-04-14 D. Hugh Redelmeier <hugh@mimosa.com> * src/editmeta.c: replace accidental old-style function declaration -- () => (void) * src/filesystem.c: ditto * src/filesystem.h: ditto * src/jukebox.c: ditto * src/metadata.c: ditto * src/metadata.h: ditto * src/player.c: ditto * src/playlists.c: ditto * src/prefs.h: ditto * src/xfer.c: ditto * src/xfer.h: ditto * src/data.c: ditto plus get type of data_from_hd_to_jukebox right 2007-04-14 D. Hugh Redelmeier <hugh@mimosa.com> * INSTALL: describe how to run autoconf * po/.cvsignore: ignore stamp-it, a generated file 2007-04-14 Linus Walleij <triad@df.lth.se> * src/jukebox.c: bring the PDE device playlist handling into a sane state. It's been broken for some time... :-( * src/common.h: retire the unused darkblue color. Move file/dir color definitions here. More GPOINTER/GUINT32 fixups, use GTK GUINT32/GUINT64 print formatting macros. * src/xfer.c: color defines. * src/data.c: color defines. * src/gnomad2.c: dito. * release gnomad 2.8.12. 2007-04-13 Linus Walleij <triad@df.lth.se> * configure.ac: look for <inttypes.h> * src/common.h: define guint32 and guint64 printing macros. Remove the JAM_Lu() and JAM_lu() macros finally. * src/jukebox.c: start using the macros. * src/jukebox.h: removed one function signature and made it static. * src/util.h: rename a few functions and reprototype to explicit guint32 nature. * src/util.c: dito. * src/editmeta.c: consequental changes. * src/id3read.c: dito. * src/playlists.c: dito. * src/filenaming.c: dito. * src/wmaread.c: dito. * src/metadata.h: dito. * src/filesystem.c: comment out debug code. 2007-04-10 Linus Walleij <triad@df.lth.se> * src/playlist.c: remove unused variable. * src/id3read.c: remove quarantained hasid3tag() function. 2007-04-10 Gervais Mulongoy <gervais.mulongoy@gmail.com> * src/jukebox.c: use mkdtemp() instead of tmpnam(). this breaks Windows compatibility for now. * src/mp3file.c: problem with free format frame headers fix-up. * src/filesystem.c: replace g_convert() with the failsafe g_convert_with_fallback(). 2007-04-02 Linus Walleij <triad@df.lth.se> * src/metadata.h: make size of files gulong, but keep year and track number as guint. (No sense to have bigger numbers.) * src/editmeta.c: ridded a few unsigned long cast JAM:s by printing the types for what they are, other by the aforementioned change in metadata_t. * src/id3read.c: dito. * src/metadata.c: dito. * src/util.c: dito. 2007-04-02 D. Hugh Redelmeier <hugh@mimosa.com> * src/filesystem.c: fixed strncat() off-by-one errors. * src/id3read.c: dito. 2007-04-01 D. Hugh Redelmeier <hugh@mimosa.com> * A large set of patches cleaning up numerous compiler warnings and fixing a host of bad programming practice. After this patchset, a number of problems reported on the 64bit platforms should be fixed. Hugh writes: I started with gnomad2-2.8.11 from Fedora. This appears to be 2.8.11 plus a small patch to src/filesystem.c called gnomad2-2.8.11.patch. The way I did my diff was diff(2.8.11, 2.8.11 + small patch + my changes). So, in effect, my changes are mingled with the small patch. If this is inconvenient, I could easily generate my diff a different way. My changes are almost always very local and designed to fix a problem identified by a gcc warning. I don't know gnomad2 or GTK well enough to make global changes. I have tried not to cover over deeper problems just to shut up gcc. It is important to make sure all function calls occur within the scope of a declaration of that function. The default type inferred for an undeclared function can be dangerous. To that end, I have added a number of include statements. I also added a declaration of scan_jukebox to common.h even though there ought to be a better place. I added forward declarations where they were needed. I eliminated most local variables that were unused. In some cases, these were unused due to conditional compilation. In those cases I made the definitions conditional too. I left one in because the initializer might have an important side-effect (active, defined in playlists.c line 693). I made sure that functions declared to return a non-void did in fact do so. Usually this meant returning NULL. In one important case... printf-like functions require that the format effectors match the corresponding arguments. In a lot of cases this was not the case. I added calls to JAM_lu and JAM_Lu to cast the arguments to match the format. I used these ugly names because I had no way of knowing whether the aregument type or the format needed to be changed. The JAM* call flags that further analysis would be good. I renamed kill_braces to kill_squarebrackets because the old name was wrong. I was mildly inventive about what to return in the case where there is a [ but no ]; this used to be a bug (a return of no value when a gchar * is expected). In a number of places gcc complained that a local variable "may be used uninitialized in this function". In all cases, the logic of the code seemed to be correct, if a little contorted. So I silenced gcc by adding an initializer to variable definitions. I also added a comment to mark this: /* initialize to shut up GCC */ In some cases where a function could be made file-static, I did so. This can improve gcc's analysis and may help a programmer too. I did not do this everywhere (that would be a Good Thing). I fiddled with some string handling code in id3read.c:getTracknum to eliminate a potential buffer overflow. I recast boolean expressions that looked like equality tests but were assignments: - while (playlist = NJB_Get_Playlist(pdedevice)) { + while ((playlist = NJB_Get_Playlist(pdedevice)) != NULL) { * src/jukebox.c: Got the crazy gint-in-pointer conversions correct in call_fill_in_dir and calls to it. * src/jukebox.c: jb2hd_thread, got the arguments right for a call to set_tag_for_mp3file. * src/jukebox.c: jukebox_synchronize_time I eliminated type punning between GTime and time_t. * src/mp3file.c: I started to add code to detect failures of fread but gave up since I didn't know what to do once failure was detected. * src/prefs.c: In a few places, I changed function definitions like this: -void write_prefs_file() +void write_prefs_file(void) This changed the definition from an old-K&R-style one to one with function prototypes. It would be good style to do this everywhere. Especially in header files. 2007-02-14 Linus Walleij <triad@df.lth.se> * src/xfer.c: reintroduce 2.6.x compatibility. * src/filesystem.c: handling the fact that g_stat() is broken with some GCC optflags or whatever cause this crap by reverting to using just plain old stat(). * src/configure.ac: require libmtp 0.1.3, bump to 2.8.12. 2007-01-29 Linus Walleij <triad@df.lth.se> * src/jukebox.c: real sucky bug :-( * RELEASE gnomad 2.8.11. 2007-01-24 Linus Walleij <triad@df.lth.se> * src/jukebox.c: final bug (in the player) hopefully. * RELEASE gnomad 2.8.10. 2007-01-23 Linus Walleij <triad@df.lth.se> * src/jukebox.c: found the real nasty bug blocking 2.8.10. 2007-01-09 Linus Walleij <triad@df.lth.se> * src/jukebox.c: finally remove all kind of drawing operations done in threads. (PHEW!) * src/jukebox.h: the wacko threading args to some functions consequently goes away. * src/playlist.c: side effect of that (calls altered). * src/filenaming.h: added a missing prototype. * configure.ac: no need to set DISABLE_THREADED_DRAWING anylonger. * src/gnomad2.c: no need to initialize GDK thread locking any more. * src/filesystem.c: support some of the new filetypes added to libmtp. 2007-01-08 Linus Walleij <triad@df.lth.se> * configure.ac: require libmtp 0.1.2 if we shall build with libmtp. Changes in Storage retrieveal require this... Rename "DISABLE THREADING" to "DISABLE_THREADED_DRAWING" since that is what we're actually trying to disable. * src/jukebox.c: reflect change, rename threading define. * src/filesystem.c: remove all threaded drawing. Drawing is now sent down to the main (idle) loop. 2006-11-09 Linus Walleij <triad@df.lth.se> * src/filesystem.c: made threading code conditional. * src/jukebox.c: dito. * configure.ac: disable threading by default after many bug reports. (Something changed in X11 or GTK I think.) 2006-10-17 Linus Walleij <triad@df.lth.se> * configure.ac: bump version to 2.8.10, add dbus detection code for experiments. * src/Makefile.am: get D-BUS libs and headers. * src/gnomad2.c: emit some test signals. 2006-09-26 mips <mips.tian@gmail.com> * src/filesystem.c: now files >2gb will display (not correctly though). 2006-09-26 mips <mips.tian@gmail.com> * src/filesystem.c: improved windows compatibility. 2006-09-25 mips <mips.tian@gmail.com> * src/filesystem.c: "Delete selected" works properly now. 2006-09-22 mips <mips.tian@gmail.com> * src/filesystem.c: "Delete selected" can't delete non-empty folders. i'm working on that, in the meantime it won't show the folder as deleted if it isn't. 2006-09-22 mips <mips.tian@gmail.com> * src/filesystem.c: "Delete selected" now also deletes folders. * src/xfer.c: changed the confirmation dialog message to: "Really delete selected files/folders?". 2006-09-21 mips <mips.tian@gmail.com> * src/xfer.c: added a working "new folder" entry to the local folders popup menu. 2006-09-21 mips <mips.tian@gmail.com> * src/xfer.c: corrected spelling, "transfering"->"transferring" 2006-09-21 Linus Walleij <triad@df.lth.se> * configure.ac: bump to 2.8.9 and release. 2006-09-21 mips <mips.tian@gmail.com> * src/jukebox.c: no more overwriting when transferring from device to hd. * src/playlists.c: won't crash if selecting "delete playlist" with no playlists selected. 2006-09-19 mips <mips.tian@gmail.com> * src/filesystem.c: fixed a bug that caused the codec info column to display garbage characters. 2006-09-03 Linus Walleij <triad@df.lth.se> * src/id3read.c: fixed a nasty bug that caused problems when sending files with really long ID3 tags. 2006-08-25 Linus Walleij <triad@df.lth.se> * Release 2.8.7. 2006-08-19 Linus Walleij <triad@df.lth.se> * configure.ac: require libmtp 0.0.12+ * jukebox.c: set owner/friendly name. 2006-08-03 Linus Walleij <triad@df.lth.se> * configure.ac: version bump. * src/filesystem.c: atleast one byte the music file must be. 2006-07-28 Linus Walleij <triad@df.lth.se> * src/player.c: avoid trying to play stuff on MTP devices. * src/jukebox.h: determination function for MTP. * src/jukebox.c: dito. * src/gnomad2.c: spelling error. 2006-07-26 Linus Walleij <triad@df.lth.se> * configure.ac: rewrote potentially problematic regex for GTK version check, courtesy of Oliver Gould. 2006-06-16 Linus Walleij <triad@df.lth.se> * src/jukebox.c: more MTP support, now also playlists work. 2006-06-15 Linus Walleij <triad@df.lth.se> * configure.ac: bump version. * src/jukebox.c: sync to latest libmtp CVS. * src/filesystem.c: ditto, plus support more filetypes properly. 2006-05-30 Linus Walleij <triad@df.lth.se> * configure.ac: fix LINGUAS again now by bumping intltool to 0.35.0 so we get correct distribution of the files. Also bump to 2.8.5. 2006-05-12 Linus Walleij <triad@df.lth.se> * src/jukebox.c: patches for new, fresh libmtp support up to libmtp 0.0.5. Patch by Pierre-Yves Strub. Thanks Pierre! 2006-04-10 Linus Walleij <triad@df.lth.se> * configure.ac: fix use of po/LINGUAS file instead of maintaining languages in configure.ac. * po/LINGUAS: obvious addition. 2006-03-22 Linus Walleij <triad@df.lth.se> * configure.ac: bump to 2.8.3 and release. Let God sort out the remaining bugs... 2006-03-21 Linus Walleij <triad@df.lth.se> * src/jukebox.c: assure we have a clean compile also without libmtp. * configure.ac: proper messages on non-detection of libmtp. 2006-03-18 Linus Walleij <triad@df.lth.se> * src/jukebox.c: added support for libmtp for accessing MTP-enabled devices! But you need libmtp of course. I'm considering including it in the gnomad2 source as a fallback at some point so I don't need the libmtp #ifdefs. * configure.ac: dito. * src/Makefile.am: dito. 2006-01-30 Linus Walleij <triad@df.lth.se> * src/metadata.c: patch from Martin Bartlett to fix sort order in primary/secondary columns. 2006-01-08 Linus Walleij <triad@df.lth.se> * Recently folded in numerous Win32 fixes and a number of ordinary stupid bugs found during porting. (It's good to port, one should do it more often.) * Changed track number retrieveal algorithm to concatenate the album number in case it exist in the ID3v2 tag. 2005-12-13 Linus Walleij <triad@df.lth.se> * src/filesystem.h: windows file mode fixes. * src/filesystem.c: dito. * src/id3read.c: dito. * src/wavfile.c: dito. * src/wmaread.c: dito. 2005-11-11 Linus Walleij <triad@df.lth.se> * src/editmeta.c: we cannot edit anything else than ID3v1/v2 metadata on the host harddisk side. * src/filesystem.c: small fixes here and there. * src/id3read.c: adding debug messages while trying to locate some Win32 problems. 2005-11-10 Linus Walleij <triad@df.lth.se> * src/filesystem.c: Windows fixes for porting to Win32. * src/jukebox.c: Dito. * src/metadata.c: Dito. 2005-11-03 Linus Walleij <triad@df.lth.se> * src/filesystem.h: Windows fixes for porting to Win32. * src/filesystem.c: Windows fixes for porting to Win32. 2005-10-23 Linus Walleij <triad@df.lth.se> * Release version 2.8.2 because I don't have anything better to do. 2005-10-21 Linus Walleij <triad@df.lth.se> * src/id3read.c: finally fixed unicode writing UTF-8 tags properly I THINK. 2005-10-17 Linus Walleij <triad@df.lth.se> * src/common.h: and serveral other files, applied a patch from Maxima Dheneb removing the last dependencies for libgnomeui on GTK+ >= 2.6.0. * Removed all things that can be generated by "autogen.sh", so I don't have to clutter the repository with these. * src/metadata.h: doing some const correctness tests to learn that stuff. * src/metadat.c: same. 2005-10-10 Linus Walleij <triad@df.lth.se> * src/jukebox.c: add selectable turbo mode per device. This release will require libnjb >= 2.2.4. * src/prefs.c: add a turbo mode preference checkbox. * src/prefs.h: dito. 2005-10-07 Linus Walleij <triad@df.lth.se> * src/id3tag.c: further fixed up the header handling now looking into the handling of UTF-8 unicode which all of a suddens seems to be ignored... 2005-10-05 Linus Walleij <triad@df.lth.se> * src/id3tag.c: horrendous bug in ID3v2 header length detection - did not use unsynced integers. No wonder they were getting it wrong all the time! 2005-09-21 Linus Walleij <triad@df.lth.se> * src/jukebox.c: rely on libnjb for device strings. * configure.ac: bumped to 2.8.2. 2005-09-07 Linus Walleij <triad@df.lth.se> * configure.ac: bumped to version 2.8.1 * Released gnomad2-2.8.1. 2005-08-29 Linus Walleij <triad@df.lth.se> * src/filenaming.c: fixed a particularly nasty bug in kill_tracknumber() which would g_free() what should not be g_free():ed causing corruption. Bug courtesy of Carsten Luedtke with support from Shaun Jackman. Plus general cleanup of bogus code. * src/filesystem.c: cleanup and debug code... * src/metadata.c: dito. 2005-08-23 Linus Walleij <triad@df.lth.se> * src/id3read.c: revamped ID3 tag writing to render tags to RAM before stripping the old ones and appending the new ones at the beginning and the end of the file. * src/util.c: improved hexdump facility. 2005-08-16 Linus Walleij <triad@df.lth.se> * configure.ac: stopped generating .spec file from spec.in file. No good idea. * gnomad2.spec.in: removed. * gnomad2.spec: added. Target: Fedora Extras. * Makefile.am: stop distributing specfile. 2005-08-07 Linus Walleij <triad@df.lth.se> * gnomad2.spec.in: some preparations for a move into Fedora Extras. Other distros couldn't care less. * README: update some of the blather. 2005-07-24 Linus Walleij <triad@df.lth.se> * src/data.c: patch for OK/Cancel swap in accordance with GNOME HIG guidelines from Leandro Licarella. * src/editmeta.c: dito. * src/gnomad2.c: dito. * src/playlists.c: dito. 2005-07-24 Linus Walleij <triad@df.lth.se> * src/data.c: patch by Leandro Lucarella, arrow order swap for GNOME overall look-and-feel (HIG) compliance. * src/xfer.c: Reflect the change here to make it intuitive. 2005-07-02 Linus Walleij <triad@df.lth.se> * src/prefs.c: old bug found by Mathias Rodenstein. 2005-06-30 Linus Walleij <triad@df.lth.se> * Finally release gnomad2 2.8.0. 2005-06-29 Linus Walleij <triad@df.lth.se> * src/util.c: hunting a memory corruption bug in seconds_to_mmss but couldn't find it. 2005-06-27 Linus Walleij <triad@df.lth.se> * Hesitated but didn't release gnomad2 2.8.0 2005-06-27 Linus Walleij <triad@df.lth.se> * configure.ac: bumped to 2.8.0, many changes in libnjb makes this the obvious new version number. * gnomad2.spec.in: dependency on new libnjb updated. 2005-06-20 Linus Walleij <triad@df.lth.se> * src/filenaming.c: more less cleverness (eQ). 2005-06-19 Linus Walleij <triad@df.lth.se> * gnomad2-logo.png: made a new icon depicing a NJB1 * src/gnomad2.c: use the icon inside the program as a default icon in GTK+-2.6.x systems. 2005-06-17 Linus Walleij <triad@df.lth.se> * src/filesystem.c: fixed a nobrainer in metadata model updating thread. 2005-06-16 Linus Walleij <triad@df.lth.se> * src/gnomad2.c: GTK+-2.6.x about dialog fixes. * src/id3read.c: C casting fixes courtesy of GCC 4.0.0. * src/wmaread.c: dito. * src/mp3file.c: dito. 2005-06-14 Linus Walleij <triad@df.lth.se> * src/gnomad2.c: more GtkDialog widget porting to remove yet more dependencies on libgnomeui in GTK+-2.4.0 and higher. 2005-06-13 Linus Walleij <triad@df.lth.se> * src/jukebox.c: reflect changes in libnjb. 2005-06-08 Linus Walleij <triad@df.lth.se> * src/jukebox.c: adapt to libnjb changes. * src/filenaming.c: make the title detection a bit less stupid when selecting the preference not to detect metadata from path. Filename will be used as title, as in mediasource. (Request from eQ) * src/filenaming.h: dito. 2005-06-07 Linus Walleij <triad@df.lth.se> * filesystem.c: moved all metadata scanning into separate threads (one will be started for each event, both on track and data pane) * filesystem.h: reflect changes. * xfer.c: reflect changes. * configure.ac: bump to 2.7.2 * util.c: made the error dialog non-locking. 2005-06-06 Linus Walleij <triad@df.lth.se> * Released bugfix 2.7.1 that fix an error with GTK+-2.6.x. 2005-06-06 Linus Walleij <triad@df.lth.se> * Require latest libnjb (to-become 2.2) * Fix the insane gnomad2.spec.in file 2005-06-05 Linus Walleij <triad@df.lth.se> Released Gnomad 2.7.0. 2005-05-31 Linus Walleij <triad@df.lth.se> Several small bugfixes. Migrated from GNOME dialogs to GTK message dialogs in a few spots. 2005-05-30 Linus Walleij <triad@df.lth.se> * src/Makefile.am: added in RIFF/WAVE parser files. * src/filesystem.c: added a RIFF/WAVE file parser call. * src/wavfile.c: RIFF/WAVE file parser. * src/wavfile.h: RIFF/WAVE file parser. * src/wmaread.c: fixed a small g_free() memleak. 2005-05-29 Linus Walleij <triad@df.lth.se> * src/util.c: Added a generic confirmation dialog (YES/NO). * src/util.h: dito. * src/gnomad2.c: fixed double entry to expose() function. * src/xfer.c: confirmation on all delete operations. * src/data.c: confirmation on all delete operations. * src/playlists.c: confirmation on all delete operations. 2005-05-27 Linus Walleij <triad@df.lth.se> * src/filenaming.c: fix handling of Cyrillic and probably many other charsets in the routine that determine filename from path. * src/gnomad2.c: improved device info dialog by moving stuff into jukebox.c. * src/jukebox.h: dito. * src/jukebox.c: dito. * nomadjukebox: removing this an require libnjb to be installed * nomad.usersmap: dito. * hotplug.sh: dito. * libnjb.spec.in: dito. * Makefile.am: dito. * src/filesystem.c: fixed a length detection bug that made WAV files default to 0 seconds, while 0:01 is a more apropriate default value. * configure.ac: updated and cleaned up. 2005-04-11 Linus Walleij <triad@df.lth.se> * src/filesystem.c: fix to directory recursive creation routine from Jaime Medrano. 2005-04-04 Linus Walleij <triad@df.lth.se> * Fixed some autoconf/automake weirdness that appeared as a result of something. Needed to introduce OSFLAGS in configure.ac and AC_SUBST() it to void. Tested with latest libnjb sources. 2005-03-03 Linus Walleij <triad@df.lth.se> * Bumping to version 2.7.0 as we released libnjb 2.0. 2005-02-11 Linus Walleij <triad@df.lth.se> * Fixed some problematic codec capitalization bugs both in gnomad2 and libnjb. * Some hackish fixes for skipping in songs (forward and backward) by dragging the song position bar in the player. Doesn't work so well though, probably because of libnjb or (even more probable) device limitations. 2005-02-09 Linus Walleij <triad@df.lth.se> * Fixed up a few things relating to playlist management and released an incremental 2.6.3. 2005-01-24 Linus Walleij <triad@df.lth.se> * Modified for the new EAX API changes from David. 2005-01-20 Linus Walleij <triad@df.lth.se> * Released Gnomad 2.6.2 as an incremental upgrade. 2005-01-13 Linus Walleij <triad@df.lth.se> * Added som GTK+-2.6 specific things, just as a test. Perhaps it will be possible to move away from libgnomeui in future versions... 2005-01-11 Linus Walleij <triad@df.lth.se> * Removed WMA parsing bugprints that were just annoying me and others. * Applied a patch from Jaime Medrano that adds directory creation on jukebox->host transfer, and also a fix for getting the track number from the path name if it exists. Thanks Jaime! 2005-01-09 Linus Walleij <triad@df.lth.se> * Applied a patch from Martin Bartlett that adds playlist shuffle support. Playlists may now be shuffled! 2004-12-30 Linus Walleij <triad@df.lth.se> * Synced in libnjb support for Dell Pocket DJ. Fixed a few small flunkies. 2004-12-10 Linus Walleij <triad@df.lth.se> * Fixed a real ugly tag edit bug on the NJB1, added support for the second generation Dell DJ and released Gnomad 2.6.1. 2004-11-19 Linus Walleij <triad@df.lth.se> * Folders for datafiles now simply works, also creation of new folders. * The EAX settings GUI in the player now responds according to the library specification with regards to exclusive patches. 2004-11-14 Linus Walleij <triad@df.lth.se> * Fixing a few bugs and lots of changes from the new libnjb API. Looking good now, and folder support in the file view is being worked on. 2004-09-29 Linus Walleij <triad@df.lth.se> * But not until today will i *REALLY* release 2.5.0. 2004-09-24 Linus Walleij <triad@df.lth.se> * This is a good opportunity to pack up and release Gnomad 2.5.0. 2004-09-20 Linus Walleij <triad@df.lth.se> * Gnomad now remembers the last recently used directory, if desired. * Fixed a bug in the WMA parser, making it compatible with big-endian architectures. * Added a function that exports playlists to text files. (In playlist view, select and right-click a playlist entry, select "Export playlist".) 2004-08-22 Linus Walleij <triad@df.lth.se> * Finalized WMA/ASF file parser, while being infected by a real nasty cold virus and listening to that Total Epygt remix by DHS of TSW. Transferring WMA files from *NIX to jukeboxes now works as expected and supports WMA metadata with Gnomad. * Pushed Gnomad version to 2.5.0. Lots of changes have gone into Gnomad now... 2004-08-21 Linus Walleij <triad@df.lth.se> * Finalized ID3 (+RIFF) detection, removal and addition algorithms. id3tag is used only for modifying existing tags. * Begun work on a WMA/ASF file parser for atleast reading in WMA metadata correctly. 2004-08-16 Linus Walleij <triad@df.lth.se> * Imported MP3 songlength detection algorithms from the gtkpod project. (They also have nice replaygain retrieveal functions that we can use if we ever understand how to use the "Smartvolume" thing.) * Switched to using pkgconfig for detecting libnjb, meaning we'll require a real recent version of it (CVS!) for Gnomad to compile correctly. * Switched back to the id3tag library again after looking at the gtkpod code and finally understanding how to use it. 2004-05-01 Linus Walleij <triad@df.lth.se> * Upped to 2.4.4. and released in sync with the fresh libnjb 1.1 release. Happy mayday! 2004-04-26 Linus Walleij <triad@df.lth.se> * Added a preference option to disable automatic scanning of contents on startup. 2004-04-22 Linus Walleij <triad@df.lth.se> * Added the possibility to use the original filename when saving files to the local harddrive. Preference in the prefs tab added for this, and dependencies on reading in extended metadata was added too. 2004-04-21 Linus Walleij <triad@df.lth.se> * Fixed a filenaming bug when saving using the track number: always prefix with "0", e.g. "01" instead of "1" for the %n macro in filenames. 2004-04-19 Linus Walleij <triad@df.lth.se> * Updated to reflect changes in the EAX structure of libnjb. (Now it presents max and min volume values.) 2004-04-18 Linus Walleij <triad@df.lth.se> * Updated the prefs to reflect that libnjb now can do extended metadata scans selectively. 2004-04-10 Linus Walleij <triad@df.lth.se> * Time to roll out a bugfix 2.4.3 release with the latest fixes of Gnomad2 and libnjb. 2004-04-05 Linus Walleij <triad@df.lth.se> * Removed deprecation from GTK functions -- we need these for some time still. Things introduced in GTK+ 2.3/2.4 like the GtkComboBox, cannot immediately deprecate all old code using the GtkOptionMenu right now. I have written new code for use with the GtkComboBox that will be activated at some time in the future. 2004-03-31 Linus Walleij <triad@df.lth.se> * OK I know what the problem is now: several people have old filesystems with filenames in ISO 8859-1 that they use together with a locale like e.g. "de_DE.UTF-8" -- this means conversion functions will fail as they rely on the characters used in filenames to be the same as the ones specified by the locale. * Problems with NULL directories in UTF-8 flunkies avoided. Directories with accented characters caused crashes in filesystems which were treated as UTF-8 while not being UTF-8. Still working on the cause of this problem. 2004-03-09 Linus Walleij <triad@df.lth.se> * A particularly nasty bug caused by the fact that the code was not checking if a track that was part of a playlist actually existed, was removed today. 2004-02-22 Linus Walleij <triad@df.lth.se> * Minor bug fixes here and there, syncing up with the much improved metadata handling in libnjb, I release Gnomad 2.4.2. 2004-01-22 Linus Walleij <triad@df.lth.se> * After some extra bug fixes in libnjb that screwed up the NJB1 track upload, I release 2.4.1. 2004-01-21 Linus Walleij <triad@df.lth.se> * The libraries libnjb and id3lib are to be linked statically from now on. I have grown tired on distributions where this has not worked as I could expect, so only standard libs will be linked dynamically from now on. 2004-01-20 Linus Walleij <triad@df.lth.se> * Made the jukebox delete the tracks from playlists before deleting the tracks themselves. * Several new translations too, but that part has its own changelog. 2004-01-12 Linus Walleij <triad@df.lth.se> * Massive attempt att internationalization. Added a translation file for Swedish as a starter. * Fixed a preference option to turn off the "smart" filename detection that use the filename to figure out what the current artist and track title is. * Oh! Gnomad was 2 years old yesterday! 2004-01-10 Linus Walleij <triad@df.lth.se> * Bumped to version 2.4.0 and released with Dell Digital Jukebox support and stuff. Not many changes in Gnomad but libnjb is considerably improved! When did I release Gnomad 2.3.0? I forgot to enter it into the ChangeLog! 2004-01-02 Linus Walleij <triad@df.lth.se> * Added support for Dell Digital Jukebox. 2003-12-06 Linus Walleij <triad@df.lth.se> * Release to keep up with libnjb 1.0 and the Zen Xtra support. Minor code cleanup. 2003-10-27 Linus Walleij <triad@df.lth.se> * Full migration to GTK+-2.0 and some fixes. Rolling this out as Gnomad 2.2.0. 2003-10-10 Linus Walleij <triad@df.lth.se> * Added Zen NX support. From libnjb. 2003-09-27 Linus Walleij <triad@df.lth.se> * Fixed the bug giving nonsense filename in the filename field of transferred songs. Could be good later when we want to do synchronization stuff... E.g: filename same == same file, it's sync:ed. Else, update. 2003-09-07 Linus Walleij <triad@df.lth.se> * Some GNOME 2 updates, and a fix so that "edit metadata" does not work on directories (would cause problemz...) 2003-08-22 Linus Walleij <triad@df.lth.se> * I released 2.1.0 a few days ago and forgot to update the changelog... 2003-07-23 Linus Walleij <triad@df.lth.se> * Fixed the error that made Gnomad write ID3 tags even if both had been disabled. 2003-07-01 Linus Walleij <triad@df.lth.se> * Fixed a very annoying bug that made track number display the year instead for NJB3-series. Sorry for this one, I was drunk. 2003-06-29 Linus Walleij <triad@df.lth.se> * Added multiple playlist selection (cool!) and several GNOME 2 fixes. 2003-06-27 Linus Walleij <triad@df.lth.se> * Begun a new host of GNOME 2 fixes removing deprecated widgets and function calls. This will take some time. 2003-06-25 Linus Walleij <triad@df.lth.se> * Removed the clickable column headers in the playlist view, they just crashed the program. Probably a GTK bug but won't dive into it right now. * Fixed the NULL bug in editing and info-from-path detection (meta->genre was not set to "<Unknown>" when not present. 2003-06-14 Linus Walleij <triad@df.lth.se> * Resurrected the recursive directory transfer function. * Some other debugging and healthy refactoring... 2003-06-07 Linus Walleij <triad@df.lth.se> * Fixed the GtkListStore code to add rows first and then sort them, to avoid the slow O(n^2) behaviour of the list addition for the often huge jukebox list. * Version is set at 2.0.3. 2003-05-22 Linus Walleij <triad@df.lth.se> * Pushing out 2.0.2 just to get some of the fixes from libnjb CVS in the RPM package. 2003-05-18 Linus Walleij <triad@df.lth.se> * Some bugfixes relating to how GTK 2.0 deletes a multiple selection (obviously you're not quite supposed to do this at all!) * Bumped to 2.0.2 2003-03-30 Linus Walleij <triad@df.lth.se> * OK after more minor fixes this is the time to release 2.0.1. 2003-03-18 Linus Walleij <triad@df.lth.se> * Replaced the playlist CTree with the new MVC model and view structure. Much better. Bumped to 2.0.1 many changes in libnjb too, perhaps time to roll out a new version soon. 2003-01-17 Linus Walleij <triad@df.lth.se> * Fixed both selection and sorting. * Releasing this as Gnomad 2.0.0! 2003-01-16 Linus Walleij <triad@df.lth.se> * Many bugs removed today. Things that need to be taken care of before any release: * Selection of rows. Callback happens after pressing down the right button and thus cannot block the signal. * Sorting of rows. This causes damn segfaults. 2003-01-16 Linus Walleij <triad@df.lth.se> * This seem to take time. Removing the old CLists in the paned views of the interface in favor of the new Model-View-Controller trees from GTK+-2.0 proved very annoyingly complicated. However it lead to several refactorings of the code and was all for the better. I expect I will release 2.0.0 quite soon. 2002-11-19 Linus Walleij <triad@df.lth.se> * I have basically ported all of Gnomad to the new name gnomad2 which implies that it is time to move to Gnome 2.0 (the future). Gnomad2 compiles file under Gnome 2, and also under GTK+-2.0 if you use it there. The sources have been moved to Sourceforge. 2002-10-07 Linus Walleij <triad@df.lth.se> * A lot of bugfixes that are related to the fact that I've been digging in libnjb while implementing support for Nomad Jukebox 3. I will roll the RPM packages with the native NJB3 support... * Rolling out as GNOMAD 1.1.6. 2002-08-07 Linus Walleij <triad@df.lth.se> * Added fixes to make GNOMAD much more tolerant to older versions of ID3lib. The code was proudly stolen from EasyTag (thanks guys!) * Rolling out recent changes as GNOMAD 1.1.5. 2002-07-26 Linus Walleij <triad@df.lth.se> * Fixed some extra keybindings so you can atleast navigate the file hierarchy using nothing but the keyboard. Now, how to bring up the popup menu? 2002-07-22 Linus Walleij <triad@df.lth.se> * Added some accelerator keys to try it out. Just the most basic ones. * Fixed a bug that would unselect ID3v2 tagging all the time, even if you turned it on. (Error in prefs saving, damn.) * Fixed a bug that caused Gnomad to crash if you selected device info before reading in any track listing. * Added the ability to use track number in the file naming when transferring to harddisk. 2002-07-18 Linus Walleij <triad@df.lth.se> * Found out how to hotplug properly. Documented this procedure in the README file. * Fixed a directory-recursion bug that some users found very annoying (recursion would only descend one level). * Fixed string comparison bug which stopped edited metadata from being written back if the only difference was the CaSe of the characters. Actuallt this was all because of my stupidity, using g_strcasecmp() instead of just using strcmp() which was actually what I wanted. * Rolling out as GNOMAD 1.1.4 2002-06-18 Linus Walleij <triad@df.lth.se> * Bugfix for a trouble with GNOMAD crashing when there is not .gnomadrc file in the users home directory. I hope I have fixed this now, please report back. * Rolling out as GNOMAD 1.1.3 2002-05-31 Linus Walleij <triad@df.lth.se> * Merged a patch from David Blackman <david@whizziwig.com> that adds directory recursion and makes it possible to skip playlist selection. * Added preferences for ID3v1 / ID3v2 writing. * Rolling out changes as GNOMAD 1.1.2 2002-04-08 Linus Walleij <triad@df.lth.se> * Samuel Monsarrat found a bug in the track number scheme which I instantly had to fix. Transfered files did not get the desired track number. * I was also requested to fix so that the editing of metadata does not redraw the filelist windows. I fixed it, by not redrawing the filelists at all, but instead I just edit the CLIST row data. * Rolled out this as GNOMAD 1.1.1, also I learned how to make RPMs of GNOMAD now, funny thing. 2002-04-05 Linus Walleij <triad@df.lth.se> * John released libnjb 0.8b so now it's the right time to roll out GNOMAD 1.1.0! 2002-03-31 Linus Walleij <triad@df.lth.se> * Removed a particulary nasty bug causing memory allocated on the stack to be deallocated (reassigned an allocated memory pointer to local variable, then freed the same memory pointer -- not good). * Various fixes in the GUI. * File transfer functionality is now in both libnjb and GNOMAD. Playing with thoughts about releasing RPMs of GNOMAD linked to the CVS version of libnjb as its release schedule (libnjb) isn't really to be trusted... 2002-03-28 Linus Walleij <triad@df.lth.se> * Several patches finally included in the libnjb CVS as John gave me write access (thanks!) proceeding to extend libnjb with file transfer functionality. * Pushed GNOMAD version to 1.1.0 as this will obviously be the next version. 2002-03-21 Linus Walleij <triad@df.lth.se> * Found that several packages of id3lib, including the Mandrake packages, does not link to libstdc++, requiring the using application to link to libstdc++ even if it is not a C++ program! (id3lib has a non-C++ interface which is used by Gnomad.) Tacked on some changes into configure.in to compensate for this, and found that there is some nasty bug somewhere that prevents AC_SEARCH_LIBS from working on GCC3. Need to report this to the Autoconf team, or am I misunderstanding something? 2002-03-11 Linus Walleij <triad@df.lth.se> * Fixed an extremely annoying memory bug caused by misspeling a variable. (D'oh!) 2002-03-10 Linus Walleij <triad@df.lth.se> * More changes to the player (now the threading is a lot better), new hacks to libnjb due to problems in the protocol guide, added "play playlist" feature. * Added support for track number and original filename in the metadata listings and editor. Track number and original filename are now stored on the jukebox when transferring, and also stored inside the ID3V2 tag when transfering in the other direction. And now my teawater is boiling!! 2002-03-08 Linus Walleij <triad@df.lth.se> * Made several changes to the player, including full EAX and equalizer support. Submitted EAX struct code and NJB_Adjust_Sound() patches to John for inclusion in libnjb. The current codebase will probably require an updated version of libnjb when released. However limited functionality on old libraries is a small price to pay for all the new functionality. So it looks like this will one day become GNOMAD 1.1.0. 2002-03-05 Linus Walleij <triad@df.lth.se> * Removed annoying playing bug - the player window only appeared the first time you selected some tracks to play. Several other tweaks to the player. * GNOMAD will be able to change metadata on jukebox files for folks using the CVS version of libnjb. 2002-01-24 Linus Walleij <triad@df.lth.se> * Added a few extra GNOME specific dialogs in the ongoing GNOME support. * Lots of fun with the configure.in autoconf macros to make it detect and use/not use libusb correctly. Things should now compile on *BSD not using libusb without any problems. * Bug fixes and beautifications here and there. * Rolled out as GNOMAD 1.0.5 2002-01-16 Linus Walleij <triad@df.lth.se> * Found out from Dan Gray that GNOMAD didn't compile correctly in GCC 3. After installing GCC 3 I could repeat the problem and solved it by rewriting the id3lib wrapper to use the C-interface of id3lib rather than the C++ wrapper used before. This way I also eliminated all C++ code from the program and made it undependent of the C++ compiler and linker. The cause of the problem was something in GCC 3 (not sure of what) that stops you from linking C code and C++ code into the same executable, possibly because the main() method was not inside a C++ file (though testing that approach didn't help me). The C interface of id3lib is just as useable anyway, though perhaps not as elegant. * By the way, if you have both GCC 2.x and GCC 3 on a RedHat system you can compile with gcc3 by configuring using: CC=gcc3 ./configure * Added a few extra GNOME desktop features. (Still to be completed for full GNOME compliance.) * Rolling these changes out as GNOMAD 1.0.4. 2002-01-12 Linus Walleij <triad@df.lth.se> * Finally found out that mingling jukebox calls with GTK calls is a major source of unstability, especially so if you are playing around with playlists. Letting jukebox calls create memory structures (lists, hashes) and then building the widgets from the structures added a LOT of stability. Now you can even use the program a bit before it crashes :-) * Also implemented a fast file copy method that improved the speed of stripping ID3 tags by, say 800%. * A lot of other stupid bugs got squashed. So rolling out GNOMAD 1.0.3 is a good thing to do before going to bed. 2002-01-12 Linus Walleij <triad@df.lth.se> * Removed all use of stdbool.h, and the bool type in favor of gboolean and the C++ builting bool type in id3.cpp. Released this single bugfix as GNOMAD 1.0.1 :-) * Later that night, I moved all opening and closing of the jukebox into the opening and closing of the program, so that NJB_Release() and NJB_Close() are not called all the time. * In the night same day I had still not been able to locate the problem which makes the application crash on clearing and rebuilding the playlist tree. The only thing I know is that the error only occurs when I build playlists which are expandable and with songs in them. Also any destruction of playlists using playlist_destroy() seems to be dangerous. * However things are much more useable right now, so I will roll these fixes as GNOMAD 1.0.2. Just so that folks trying it out will actually be able to use it... 2002-01-11 Linus Walleij <triad@df.lth.se> * Created the initial release of GNOMAD 1.0