-
07.08.2012, Version 1.3.2
- v1.3.2
- Info.plist, Version:
bumped version to 1.3.2
- iTunesFormatFile.m:
fixed formatter retrieval bugs in -getFormatter
- iTunesPlaylist.h, iTunesPlaylist.m:
improved fileAttributes to speed up Finder updates
- iTunesFS.xcodeproj/project.pbxproj:
file encodings fixed, compilers updated for Mountain Lion, dead files removed
- English.lproj/PlaylistsTrackFormat.txt:
more examples added to PlaylistsTrackFormat.txt
-
25.07.2012
- GNUmakefile:
fixed OSX GNUstep compile
- GNUmakefile, GSFUSE/GMUserFileSystem.m, GSFUSE/GNUmakefile:
ported to Linux
- .gitignore:
ignore build artifacts
-
25.07.2012
- GNUmakefile, GNUmakefile.preamble:
fixed OSX GNUstep compile
- GNUmakefile, iPodLibrary.m, iTunesLibrary.m:
ported to Linux
- .gitignore:
ignore build artifacts
-
19.02.2012, Version 1.3.1
- v1.3.1
- iTunesFS.xcodeproj:
reenabled ppc for Release builds, as ppc also returned in OSXFUSE 2.3.9 user libraries (which we link against and hence need ppc in order to support ppc binaries).
-
23.09.2011
- FUSESupport.h:
on OSX, use OSXFUSE instead of MacFUSE
-
23.09.2011, Version 1.3.0
- v1.3.0
- Link against OSXFUSE (http:
//osxfuse.github.com/) on MacOS X as of now. As a consequence of the OSXFUSE build process, PPC support is removed.
-
25.05.2011, Version 1.2.3b1
- v1.2.3b1
- iTunesTrack.[hm]:
extract "Comments" from iTunes library and expose as "comments" property
- English.lproj/{AlbumsTrackFormat.txt, PlaylistsTrackFormat.txt}:
documented %(comments)
-
23.04.2011, Version 1.2.2
- v1.2.2
- iPodLibrary.m:
extract a lot more properties from track items, persistentID from playlists
- iTunesTrack.[hm], iTunesPlaylist.[hm]:
merged init methods, provide "keys" for representations
- iTunesTrack.[hm]:
also added quite a lot new properties
- English.lproj/{AlbumsTrackFormat.txt,PlaylistsTrackFormat.txt}:
documented new properties
-
26.02.2011
- iTunesPlaylist.m:
only show PlaylistsTrackFormat file if it really exists (isn't true for real Playlist folders)
-
25.02.2011
- iTunesFSFormatter.m:
fixed bug with leading "/" in path components
-
21.02.2011, Version 1.2.1
-
19.02.2011, Version 1.2.1b1
- v1.2.1b1
- iTunesTrack.[hm]:
added -genre and -grouping as properties for formatting tracks on user request
- English.lproj/{AlbumsTrackFormat.txt, PlaylistsTrackFormat.txt}:
documented %(genre) and %(grouping)
- README-GNUstep:
updated
-
18.02.2011
- iTunesFSFormatter.m:
set formatter behaviour explicitly to 10.0
- PlaylistsTrackFormat.txt:
fixed a typo
-
16.02.2011
- FUSEOFSAppController.m:
don't terminate NSApp in -didUnmount: when GNU_GUI_LIBRARY is used as this leads to an instant crash
-
16.02.2011
- iTunesFileSystem.m:
volname is a MacFUSE-only option
- iTunesFSFormatter.m:
removed old workaround for GNUstep, but there are still problems (see README-GNUstep)
- README-GNUstep:
updated
-
14.02.2011
- FUSEOFSAppController.m:
workaround for broken -objectForInfoDictionaryKey: in current GNUstep base
- FUSEObjectFileSystem.m:
ported to GNUstep
- GNUmakefile:
added FUSEOFSAppController
- GSFUSE/GNUmakefile:
added c99 compile time option and properly provided FUSE define via compiler flag
- GSFUSE/GMUserFileSystem.m:
re-added c99 code in for-loops, improved GNUstep port which should work now (in theory).
-
14.02.2011
- README-GNUstep:
updated
- COPYING, COPYRIGHT:
it's 2011 by now
- GNUmakefile:
added main.m
- iTunesFileSystem.m:
properly implemented -needsLocalOption for GNUstep
- English.lproj/MainMenu.gorm:
changed application delegate to FUSEOFSAppController
- iTunesFSInfo.plist:
added new defaults for GNUstep
-
07.02.2011
- FUSEObjectFileSystem.m:
fixed multiple errors with NSError assignment
-
07.02.2011
- iTunesLibrary.m:
fixed a leak
- iPodLibrary.m:
fixed format strings
- iTunesFormatFile.m:
fixed format strings and conditional expression
-
06.02.2011
- GSFUSE/*:
added sdk-objc from MacFUSE as a GNUstep port
- GNUmakefile:
added GSFUSE subproject and minor adjustments
- FUSESupport.h:
new header for directing either to MacFUSE or GSFUSE
- FUSEObjectFileSystem.m, FUSEOFSFileProxy.m, NSObject+FUSEOFS.m, FUSEOFSAppController.m:
ported to GNUstep
-
06.02.2011
- GNUmakefile*, *.[hm]:
ported to GNUstep
- Info.plist:
it's 2011 by now
- iTunesFileSystem.m:
fixed an uninitialized variable access
-
30.01.2011
- FUSEObjectFileSystem.m:
fixed multiple incorrect implicit SEL == char* assumptions
- FUSEOFSAppController.m:
added a missing #import
-
29.01.2011
- FUSEOFSAppController.[hm]:
new controller class designed to works as a generic NSApplication delegate in a nib/xib/gorm file suitable for creating and destroying the associated FUSEObjectFileSystem subclass. The FUSEObjectFileSystem class to use is determined via the new "FUSEObjectFileSystemClass" NSUserDefault.
-
29.01.2011
- iTunesFSController.[hm]:
removed. Added a new FUSEOFSAppController in FUSEOFS which does everything iTunesFS requires in a more abstracted manner.
- Info.plist:
added new "FUSEObjectFileSystemClass" user default for FUSEOFSAppController.
-
26.01.2011
- FUSEObjectFileSystem.m, FUSEOFSFileProxy.m, NSObject+FUSEOFS.m:
fixes for GNUstep build
- NSString+FUSEOFS.[hm]:
removed
- NSObject+FUSEOFS.[hm]:
merged contents from NSString+FUSEOFS.[hm] in order to make our life easier (keep all extensions in a single place)
- FUSEObjectFileSystem.[hm]:
fixed missing and wrong imports
- GNUmakefile:
adjusted for gnustep-make 2.4.0
-
26.01.2011
- GNUmakefile:
first changes for gnustep-make 2.4.0 compat
- iTunesFSFormatter.m, iTunesPlaylist.m, iTunesTrack.m, iPodLibrary.m, iTunesLibrary.m:
fixed imports
- removed outdated FUSEObjC-GNUstep subproject
- FUSEOFS is an svn:
external now
- NSString+Extensions.[hm]:
moved -properlyEscapedFSRepresentation to FUSEOFS/NSString+FUSEOFS.[hm]
- iPodLibrary.m, iTunesFSFormatter.m, iTunesLibrary.m, iTunesTrack.m:
adjusted includes
-
22.12.2010
- NSObject+FUSEOFS.[hm]:
changed layout and renamed every wording of 'directory' into 'container'.
- FUSEOFSMemoryFolder.[hm]:
renamed to FUSEOFSMemoryContainer
- FUSEOFSMemoryContainer.[hm]:
see above
- FUSEObjectFileSystem.m:
minor fix for valueOfExtendedAttribute:...
-
22.12.2010, Version 1.2.0
- v1.2.0
- iTunesFileSystem.m:
only show AlbumsTrackFormat.txt if new 'ShowFormatFiles' default is YES and 'UseCategories' is YES
- iTunesFormatFile.m:
ignore lines starting with '#' altogether
- iTunesPlaylist.m:
use new 'ShowFormatFiles' default
- v1.2.0b1
- NSObject+FUSEOFS.[hm]:
changed layout and renamed every wording of 'directory' into 'container'.
- iTunesFileSystem.m, iTunesLibrary.m, iTunesPlaylist.m, FUSEObjectFileSystem.m, FUSEOFSFileProxy.m, FUSEOFSMemoryFile.m, FUSEOFSMemoryObject.m
- FUSEOFSMemoryFolder.[hm]:
renamed to FUSEOFSMemoryContainer
- FUSEOFSMemoryContainer.[hm]:
see above
- FUSEObjectFileSystem.m:
minor fix for valueOfExtendedAttribute:...
- iTunesFileSystem.[hm]:
implemented 'AlbumsTrackFormat.txt' and 'PlaylistsTrackFormat.txt' for global default manipulation
- iTunesFormatFile.m:
bugfixes
- iTunesLibrary.m:
removed caching of albumsTrackFormat, which can change during runtime. Some code cleanup.
- English.lproj/AlbumsTrackFormat.txt:
help text added
-
21.12.2010
- NSObject+FUSEOFS.[hm]:
added -setFileAttributes: api
- FUSEOFSMemoryFile.[hm]:
renamed -setData: to -setFileContents, renamed -setAttributes: to -setFileAttributes:
- FUSEOFSMemoryFolder.[hm]:
renamed -setAttributes: to -setFileAttributes:, minor fixes and improvements
- FUSEObjectFileSystem.m:
massively improved debug logging, improved moveItemAtPath:toPath:error: and fixed a major bug in writeFileAtPath:...
-
21.12.2010, Version 1.1.14b4
- v1.1.14b4
- iTunesFormatFile.[hm]:
new FUSEOFSMemoryFile subclass, implementing a generic iTunesFSFormatter format string interface. Debug logging can be turned on via new 'iTunesFormatFileDebugEnabled' default.
- iTunesPlaylist.[hm]:
implemented track format via new iTunesFormatFile.
- NSObject+FUSEOFS.[hm]:
added -setFileAttributes: api
- FUSEOFSMemoryFile.[hm]:
renamed -setData: to -setFileContents, renamed -setAttributes: to -setFileAttributes:
- FUSEOFSMemoryFolder.[hm]:
renamed -setAttributes: to -setFileAttributes:, minor fixes and improvements
- FUSEObjectFileSystem.m:
massively improved debug logging, improved moveItemAtPath:toPath:error: and fixed a major bug in writeFileAtPath:...
-
20.12.2010
- NSObject+FUSEOFS.m:
minor cleanup
- FUSEOFSFileProxy.m:
properly implemented to transparently work for files and folders
- FUSEOFSMemoryFile.[hm]:
new class which acts as a properly attributed data object in memory
- FUSEOFSMemoryFolder.[hm]:
new class which acts as a properly attributed folder object in memory
- FUSEObjectFileSystem.m:
added lots of debugging logs via new 'FUSEObjectFileSystemAccessDebugEnabled' user default. Added naive implementation of -moveItemAtPath:toPath:error: (works for file objects, only).
- FUSEObjectFileSystem.[hm]:
header cleanup, added +errorWithCode: convenience method. Added MacFUSE write methods and all remaining access methods (i.e. extended attributes) as skeletons. This needs a lot of improvement in order to become fully functional, but writing is good enough for iTunesFS, already.
- NSObject+FUSEOFS.[hm]:
added write support (see above)
-
20.12.2010, Version 1.1.14b3
- v1.1.14b3
- NSObject+FUSEOFS.m:
minor cleanup
- FUSEOFSFileProxy.m:
properly implemented to transparently work for files and folders
- FUSEOFSMemoryFile.[hm]:
new class which acts as a properly attributed data object in memory
- FUSEOFSMemoryFolder.[hm]:
new class which acts as a properly attributed folder object in memory
- FUSEObjectFileSystem.m:
added lots of debugging logs via new 'FUSEObjectFileSystemAccessDebugEnabled' user default. Added naive implementation of -moveItemAtPath:toPath:error: (works for file objects, only).
- iTunesPlaylist.[hm]:
lots of cleanup in conjunction with granting write access to the playlist format file. Renamed this file from '.format' to 'PlaylistTrackFormatter.txt' and made it visible, if playlist isn't virtual. Implemented shadow-write cache in order to enable TextEdit.app to properly edit (and autosave) this file, which is probably the text editor of choice for a lot of people.
- v1.1.14b2
- iTunesFileSystem.m:
cleanup
- FUSEObjectFileSystem.[hm]:
header cleanup, added +errorWithCode: convenience method. Added MacFUSE write methods and all remaining access methods (i.e. extended attributes) as skeletons. This needs a lot of improvement in order to become fully functional, but writing is good enough for iTunesFS, already.
- NSObject+FUSEOFS.[hm]:
added write support (see above)
- iTunesFSFormatter.[hm]:
exposed -formatString
- iTunesPlaylist.[hm]:
reworked the way tracks and corresponding trackNames are being built, as these can change now during playlists' life at runtime. Added -getTrackFormatString in order to make this available via newly implemented write methods. A playlist exposes a virtual object called '.format' for reading, writing and removal. Currently, '.format' won't show up in directoryContents, though this might change via a default. The name isn't fixed yet, it might be better to call it differently and to always show it, but that depends on more research.
-
19.12.2010
- iTunesPlaylist.[hm]:
added new -getTrackFormatter private method which also sports formatter lookup via aliases. Also, minor code cleanup and bugfixes in -generatePrettyTrackNames.
-
18.12.2010, Version 1.1.14b1
- v1.1.14b1
- iTunesFSFormatter.[hm]:
added -isPathFormat and -pathComponentsByFormattingObject: in order to determine if a formatter describes a path and if so, get this path (optimized by stripping empty path components and ready for display by properly escaping it)
- iTunesPlaylist.[hm]:
changed internals to allow /both/ tracks and children to co-exist in a playlist (previously, this was impossible due to the way that it's impossible to mix both in iTunes). Added -name to also display the persistentId if the new "ShowPersistentIDs" default is set to YES. Added per-playlist formatters, which require the persistentId of playlists to be known. Changed -generatePrettyTrackNames to detect appropriate formatters and detect whether these describe a path (hierarchy). If so, a new virtual playlist hierarchy is created and tracks moved these new playlists in order to reflect this hierarchy.
-
22.09.2010, Version 1.1.13
- v1.1.13
- Released after testing confirmed everything works as expected
-
15.09.2010, Version 1.1.13b2
- v1.1.13b2
- IPhoneDiskIPodLibrary.[hm]:
removed, moved contents to iPodLibrary.[hm] for simplicity's sake
- iPodLibrary.[hm]:
added previous contents from IPhoneDiskIPodLibrary.[hm], also added support for com.apple.afc2 mounted iPhones.
- iTunesFileSystem.m:
added JBiPhoneDiskIPodLibrary detection
- v1.1.13b1
- iPodLibrary.m:
forgot to reset jump offset after decompressing the library, fixed. Improved debug logs and added new 'iPodLibraryDebugVerbose' switch for verbose debugging.
- iTunesFileSystem.m:
work seamlessly in conjunction with iPhoneDisk by faking its default mountpoint into the list of mount points to check
-
09.07.2010, Version 1.1.12
- v1.1.12
- project.pbxproj:
corrected 10.6 SDK dependency to be 10.5 instead, required 10.5 minimum deployment target.
-
15.03.2010, Version 1.1.11
- v1.1.11
- README:
removed a lot of obsolete stuff and instead redirected to the project webpages
- iPodLibrary.[hm], IPhoneDiskIPodLibrary.m, JBiPodLibrary.m:
corrected library lookup, which was static before - now it's iTunesCDB first, then iTunesDB. Cleaned up old API, code is much leaner now.
- iTunesFileSystem.m:
adjusted -needsLocalOption for 10.6
- project.pbxproj:
adjusted settings for Snow Leopard compilation.
- MacOSX10.6.patch, MacOSX10.6-README.txt:
Added patch and README for proper execution on Mac OS X 10.6.
- COPYING, COPYRIGHT:
changed copyright notice for 2010
-
15.08.2009, Version 1.1.11b3
- v1.1.11b3
- iPodLibrary.m:
OS X 10.6 compatible
-
12.08.2009, Version 1.1.11b2
- v1.1.11b2
- StreamReader.[hm]:
simple abstraction for wrapping small parts of the NSFileHandle API either around NSFileHandle or NSData. This is used when parsing iTunesDB files and will be extended for parsing the decompressed NSData contents of an iTunesCDB file.
- iPodLibrary.m:
use StreamReader when parsing iTunesDB, properly parse new header and discover compression. If compression is in use, decompress data accordingly.
- NSData+ZlibDecompression.m:
code cleanup
- iTunesFileSystem.m:
fixed duplicate library inserts
-
09.08.2009
- IPhoneDiskIPodLibrary.[hm]:
new iPod/iPhone library required for parsing the contents of an iPod/iPhone mounted via the iphonedisk (http://code.google.com/p/iphonedisk/) FUSE filesystem.
- NSData+ZlibDecompression.[hm]:
categories for NSData to decompress zlib compressed byte content, required for new iTunesCDB files.
-
07.04.2009, Version 1.1.11b1
- v1.1.11b1
- iTunesFileSystem.m:
removed an obsolete and ugly hack by implementing lookup properly, according to my own specs.
- iTunesLibrary.m, iTunesTrack.m:
fixed a typo in description (missing trailing ">")
- iTunesTrack.m:
added a hack for the -ext method, if the file has no extension return "m4a" nevertheless.
-
30.01.2009, Version 1.1.10
- v1.1.10
- iTunesPlaylist.[hm]:
implemented playlist folders (don't recall when they have been introduced in iTunes), which only contain a set of other playlists. Technically, they also contain the tracks of all their contained playlists, but in iTunesFS (as well as in iTunes) these are ignored.
- iTunesLibrary.m:
only playlists, which are no folders, are added to the top-level. Properly add playlists to their parent folders, creating a nested hierarchy as in iTunes.
-
29.01.2009, Version 1.1.9
- v1.1.9
- iTunesLibrary.m:
changed detection of libraryPath; if no default is set, a candidate is looked up in the com.apple.iApps domain, first. This change is based on code contributed by Frederik Seiffert .
-
28.01.2009, Version 1.1.8
- v1.1.8
- iTunesFileSystem.m:
"allow_other" FUSE option is now triggerable via a new "FUSEOptionAllowOther" default and OFF by default, as it caused problems for some users.
- README:
documented new "FUSEOptionAllowOther" default
-
25.01.2009
- NSObject+FUSEOFS.m:
changed file permissions to be more liberal (more appropriate for iTunesFS)
-
25.01.2009, Version 1.1.7
- v1.1.7
- NOTES:
added Apache2/DAV config snippet
- iTunesFileSystem.m:
added "allow_other" FUSE option
- FUSEOFS/NSObject+FUSEOFS.m:
changed file permissions to be more liberal (more appropriate for iTunesFS)
-
11.01.2009
- FUSEObjectFileSystem.m:
fixed legacy bug in willUnmount, no need to call [fs unmount]... leads to infinite recursion which apparently broke unmounting.
-
11.01.2009, Version 1.1.7b7
- v1.1.7b7
- iTunesFS.xcodeproj:
pulled the plug on 10.4.x version, don't have a 10.4.x box around any more and can't guarantee that the 10.4.x builds will work.
- *.[hm]:
updated copyright notice for 2009, explicitly set space vs. tabs and UTF-8 encoding for all code files.
- iTunesFileSystem.m:
added debug logs for (un-)mounting, explicitly release libraries in -willUnmount in order to break retain cycle with watchdog. Removed "ping_diskarb" from options as we no longer support Tiger.
- iTunesLibrary.m:
added debug log
- FUSEOFS/FUSEObjectFileSystem.m:
fixed legacy bug in willUnmount, no need to call [fs unmount]... leads to infinite recursion which apparently broke unmounting.
-
31.12.2008
- NSObject+FUSEOFS.[hm]:
new experimental version of FUSEOFS with slightly different object lookup (provides a context), removed -isFile but added -isMutable reflection to allow write methods later on
- FUSEOFSLookupContext.[hm]:
new file, represents a context used during -lookupPathComponent:inContext:
- FUSEObjectFileSystem.[hm]:
-lookupPath: uses new FUSEOFSLookupContext during lookup now
- FUSEOFSFileProxy.h:
code cleanup
-
31.12.2008, Version 1.1.7b6
- v1.1.7b6
- FUSEOFS/NSObject+FUSEOFS.[hm]:
new experimental version of FUSEOFS with slightly different object lookup (provides a context), removed -isFile but added -isMutable reflection to allow write methods later on
- FUSEOFS/FUSEOFSLookupContext.[hm]:
new file, represents a context used during -lookupPathComponent:inContext:
- FUSEOFS/FUSEObjectFileSystem.[hm]:
-lookupPath: uses new FUSEOFSLookupContext during lookup now
- iTunesPlaylist.m:
code changed due to FUSEOFS API changes
- iTunesFileSystem.m:
code changed due to FUSEOFS API changes
- iTunesLibrary.m:
code changed due to FUSEOFS API changes
- FUSEOFS/FUSEOFSFileProxy.h:
code cleanup
- NSString+Extensions.m:
major bug fixed, properly apply Unicode string normalization (decomposed form) in -properlyEscapedFSRepresentation.
-
29.12.2008, Version 1.1.7b5
- v1.1.7b5
- Added filesystems-objc-support external, need NSImage+IconData for displaying iconData *sigh*
- iPodLibrary.m:
fixed 64bit issues, updated iTunesDB documentation reference, fixed crashbug in -close, implemented -iconData and removed (old) obsolete -icon
- iTunesLibrary.m:
properly create NSData for libraryIconData (this differs from previous MacFUSE versions)
- JBiPodLibrary.m:
fixed comment
- iTunesFS.xcodeproj:
link against Accelerate.framework (NSImage+IconData utilizes this)
-
28.12.2008, Version 1.1.7b4
- v1.1.7b4
- iTunesFS.xcodeproj:
properly enabled 64bit builds, build debug build with platform arch only
- iTunesFileSystem.m:
minor cleanup and proper fuse options
-
27.12.2008
- NSObject+FUSEOFS.[hm]:
added -finderAttributes and -resourceAttributes
- FUSEObjectFileSystem.m:
properly implemented the new FUSE ObjC API
-
27.12.2008, Version 1.1.7b3
- v1.1.7b3
- iTunesFS.xcodeproj:
enabled 64bit builds
- iTunesPlaylist.m:
fixed a 64bit issue, added experimental finderAttributes (disabled)
- iTunesTrack.m:
changes for new API
- Watchdog.m:
fixed several 64bit issues
- iTunesFileSystem.m:
removed AutoOpenInFinder code (moved to iTunesFSController), completed conversion to new FUSE ObjC API
- FUSEOFS/NSObject+FUSEOFS.[hm]:
added -finderAttributes and -resourceAttributes
- FUSEOFS/FUSEObjectFileSystem.m:
properly implemented the new FUSE ObjC API
- iTunesLibrary.[hm]:
several internal changes for burn folder support
- iTunesFSController.m:
enabled registration of defaults from bundle's Info.plist, observe mounting/unmounting and implemented AutoOpenInFinder when mount occurred and default is set.
- common.h:
added MacFUSE/MacFUSE.h
-
11.03.2008
- NSObject+FUSEOFS.[hm]:
changed icon API
- FUSEObjectFileSystem.[hm]:
according to new API this no longer subclasses from FUSEFileSystem but is now a delegate to GMUserFileSystem. There is quite a lot to be done still and several places need to be revisited.
-
11.03.2008
- NOTE:
THIS BUILD DOESN'T WORK, YET. It's a necessary rewrite for the now official ObjC API, however it's not finished (and not polished)
- FUSEObjC:
removed external dependency, as this was removed from googlecode.
- main.m:
added new main() method, this will start AppKit's runloop like any other AppKit based application.
- iTunesFileSystem.m:
changed to new API
- FUSEOFS/NSObject+FUSEOFS.[hm]:
changed icon API
- FUSEOFS/FUSEObjectFileSystem.[hm]:
according to new API this no longer subclasses from FUSEFileSystem but is now a delegate to GMUserFileSystem. There is quite a lot to be done still and several places need to be revisited.
- English.lproj/MainMenu.nib:
changed to new object model
- iTunesLibrary.[hm]:
changed icon API, see FUSEOFS/NSObject+FUSEOFS
- JBiPodLibrary.m:
added a comment, need to address this
- iTunesFSController.[hm]:
new application delegate, needs work (i.e. defaults need to be fetched dynamically, FS initializer is pretty ugly)
- common.h:
we need Appkit now
-
09.01.2008
- FUSEObjectFileSystem.m:
properly set the volicon fuse option if we have a custom icon for the filesystem
-
09.01.2008
- README:
updated for new defaults 'AutoOpenInFinder' and 'UseBurnFoldersInFinder'
- FUSEOFS/FUSEObjectFileSystem.m:
properly set the volicon fuse option if we have a custom icon for the filesystem
- iTunesLibrary.h:
expose burn folder helper methods to subclassers
- iTunesLibrary.m, iPodLibrary.m:
properly set burn folder names if the default is set to YES
- iTunesFS.xcodeproj/project.pbxproj:
removed redundant variables, use standard way to choose C99
- Info.plist:
set the default value (YES) for new 'AutoOpenInFinder' user default
-
07.01.2008
- iPodLibrary.m:
forgot to set "Track Number" properly, reported by Tim Fitzgerald
- *.*:
updated copyright information for 2008
-
31.12.2007, Version 1.1.6
- v1.1.6
- README:
updated, added proper MacFUSE Core versions
- iTunesFileSystem.m:
added "NoITunes" default, preventing iTunes library from being displayed (feature request by Iacopo Cacciaguerra)
-
27.12.2007
- FUSEObjectFileSystem.m:
renamed all overridden methods due to upgrade of FUSEObjC
-
27.12.2007
- README:
updated, added .fseventsd TODO
- FUSEObjectFileSystem.m:
renamed all overridden methods due to upgrade of FUSEObjC
- iTunesFileSystem.m:
implemented -fuseOptions, renamed -isLocal to - needsLocalOption
-
22.11.2007
- iTunesFileSystem.m:
implement -isLocal to return YES on Mac OS X 10.5.x due to Leopard's Finder's broken behavior in dealing with FUSE filesystems
- iTunesFS.xcodeproj/project.pbxproj:
promoted to Xcode 3.0 project
-
30.10.2007, Version 1.1.5
- v1.1.5
- iPodLibrary.h:
expose -mountPoint (for subclassers).
- iPodLibrary.m:
added safeguards in -setLocation: in case content in iTunesDB file is malformed (or in a new scheme we don't understand, yet).
- JBiPodLibrary.[hm]:
new subclass of iPodLibrary which sports the new folder locations of iPod Touch and iPhone.
- iTunesFileSystem.m:
added JBiPodLibrary support. Add additional entries to volume paths of removable devices from new "iPodMountPoints" user default.
-
01.08.2007
- iTunesLibrary.m:
added "Compilations" patch from Mark Wallis which aggregates all albums which have different artists in this folder
- {*}.lproj/Localizable.strings:
added "Compilations"
- AUTHORS:
updated
- NOTES:
updated
- English.lproj/MainMenu.nib:
updated, but still invisible - we probably could use a UI for setting formatters and the like, but I'm still a bit undecided.
-
08.07.2007
- {Italian,Spanish}.lproj/Localizable.strings:
fixed Italian and Spanish localizations.
-
02.07.2007
- added new FUSEOFS subproject. The idea here is to have a reusable object model for other FUSEObjC based file systems.
-
02.07.2007, Version 1.1.4
- v1.1.4
- README:
updated defaults section and added "Formatters" section
- iTunesFSFormatter.[hm]:
new formatter object - this is used for formatting all track names for now. Includes ability to provide format strings for number formatters.
- iTunesTrack.[hm]:
deprecated -prettyName, use -name now. Added -extension (and, as a convenience, -ext), -trackNumber and -playlistNumber for formatting purposes. Removed the "DetailedTrackNames" default.
- iTunesLibrary.m:
added new "AlbumsTrackFormat" default for formatting track names in "Albums" and "Songs".
- iTunesPlaylist.m:
added new "PlaylistsTrackFormat" default for formatting track names in "Playlists".
- FUSEOFS/*:
added new FUSEOFS subproject. The idea here is to have a reusable object model for other FUSEObjC based file systems.
- iTunesFileSystem.[hm]:
moved all lookup related stuff to new superclass, FUSEObjectFileSystem.
- iTunesLibrary.m, iPodLibrary.m, iTunesPlaylist.m, iTunesTrack.m:
changed all references of "iTunesFS" to "FUSEOFS".
- NSArray+Extensions.[hm]:
removed obsolete category
- NSObject+Extensions.[hm]:
removed, part of FUSEOFS now.
- GNUmakefile{,.preamble}:
added FUSEOFS
-
14.06.2007
- NSString+Extensions.m:
removed obsolete category methods. Properly escape ":" (0x35) with similar glyph (0xFF1A)
-
14.06.2007, Version 1.1.3
- v1.1.3
- README:
updated with GNUstep info and new NSUserDefaults description
- README-GNUstep:
added
- NOTES:
added localization hint
- Info.plist:
added all NSUserDefaults
- iTunesLibrary.[hm]:
added new -reloadVirtualMaps public API used by subclassers to call after -reload is done
- iTunesLibrary.m:
if "UseCategories" default is YES, display "Playlists", "Artists" and "Albums" as virtual folders
- iPodLibrary.m:
call -reloadVirtualMaps after -reload, properly parse "Albums" and "Artists" for tracks
- iTunesTrack.[hm]:
remember "Artist" and "Album" for later use
- NSString+Extensions.m:
removed obsolete category methods. Properly escape ":" (0x35) with similar glyph (0xFF1A)
- {English,German,French,Italian,Spanish,Japanese}.lproj/ Localizable.strings:
added localized variants of the virtual category folder names
- English.lproj/MainMenu.gorm:
added main interface for GNUstep
- FUSEObjC-GNUstep/*:
added port of FUSEObjC specifically for GNUstep, basically removed all HFS+ and Finder related stuff
- examples/iTunesMusicLibrary.xml:
added new tiny library for users who don't have iTunes around but want to take a look nevertheless
-
08.06.2007
- iTunesFileSystem.m:
fixed typo in -description
- iTunesLibrary.m:
only append iTunes library version number to name if debugging is enabled.
- Resources/*:
moved everything in here to top-level directory
-
31.05.2007, Version 1.1.2
- v1.1.2
- iTunesFileSystem.m:
inform NSWorkspace about directory changes (doesn't seem to have the desired effect on my system, though). Implemented symbolic link lookup.
- NSURL+Extensions.[hm]:
new category for properly demangling "?" characters in file URLs to "_", as this is what iTunes seems to do
- NSObject+Extensions.[hm]:
added new method -symbolicLinkTarget
- iTunesLibrary.m:
if library contains only one playlist (i.e. Shuffle) skip the playlist in listing and instead show all tracks.
- iPodLibrary.m:
extract "dateModified" and "dateAdded" from iTunesDB and put it into representation dictionary for iTunesTrack to initialize with
- iTunesTrack.[hm]:
Derive FileSystemAttributes from attributes stored in either iTunes or iTunesDB representation. Properly demangle file URL paths before accessing data in hose file system. Return these URL paths as symbolic link targets when asked to. Return NSFileType == NSFileTypeSymbolicLink in case the "SymbolicLinks" user default is true.
- iTunesFileSystem.m, iTunesLibrary.m, iTunesPlaylist.m, iTunesTrack.m:
added custom -description to aid in debugging
-
29.05.2007, Version 1.1.1
- v1.1.1
- NOTES:
added some Spotlight info
- README:
updated
- NSObject+Extensions.[hm]:
new iTunesFS lookup methods which dramatically simplify the implementation
- iTunesFileSystem.m:
added new "iTunesFileSystemDebugEnabled" and "NoIPods" defaults (described in README). Added some debug output, when iTunesFileSystemDebugEnabled == YES. All paths will be mangled now before they are being processed - using the "NoIPods" default this leads to the whole "libraries" hierarchy to be hidden, as it's not useful to display it then. Implemented new lookup algorithm for looking up "generic" objects for performing all file system related operations on. Call -close on libraries whose mount points are about to vanish.
- iTunesTrack.[hm]:
minor renaming, implemented file system operations as part of the new lookup API
- iTunesPlaylist.m:
implemented lookup API
- iTunesLibrary.[hm]:
removed quite a bit of the old API, implemented new lookup API. Added new -close method which can be called in case a file system will be unmounted.
-
24.05.2007, Version 1.1.0
- v1.1.0
- iTunesTrack.[hm]:
remove name (including playlist index) from track, instead provide just the prettyName stub. Directly access NSUserDefaults for finding out about whether detailed track names are requested - and subsequently removed the public API for setting that. Added initializer for iPodLibrary representation, renamed the old initializer to better reflect what's happening.
- iTunesPlaylist.[hm]:
store the trackNames locally, including the proper playlist index. Changed API to initialize using the respective library. Use this library now to retrieve tracks via their ID. Added initializers similar to iTunesTrack.
- iTunesLibrary.[hm]:
create a cache for tracks which works universally in all playlists. Doing so reduces memory footprint significantly. Changed API to allow access to cached tracks via their ID. Added API for -mountPoint, which is required for the iPodLibrary subclass.
- iPodLibrary.[hm]:
New subclass of iTunesLibrary, representing the iTunesDB which is found on iPods.
- iTunesFileSystem.[hm]:
Added API for removing libraries. The iTunesFileSystem registers itself for distributed workspace notifications regarding the mounting/unmounting of removable devices. If such a device is found and in fact is an iPod, its library will be exposed in a fashion similar to that of the iTunes Library.
- NSString+Extensions.[hm]:
added new method for dealing with initializing NSStrings with little endian unicode representations.
-
23.05.2007, Version 1.0.4
- v1.0.4
- iTunesTrack.m:
added safeguard against nameless tracks - not as impossible to encounter as I'd hoped.
- iTunesPlaylist.m:
in case playlists sport track ids which have disappeared from the library, skip the creation of those tracks and adjust playlist index accordingly. This effect has been observed with Podcasts only, yet.
- create-itunesfs-binary-package.sh:
remove 'Version' file from .dmg
- README:
updated
- v1.0.3
- ChangeLog:
added
- Watchdog.[hm]:
added kqueue observer capable of reloading libraries in case their underlying database files changed.
- NSArray+Extensions.[hm]:
added category for all things specific to path handling, enhances code readability in most places.
- iTunesFileSystem.[hm]:
Added new top level hierarchy, enabling more than one library to be displayed beneath the root directory. The intended purpose is to also allow traversal of mounted iPods in the similar fashion as is with the iTunes library.
- iTunesLibrary.[hm]:
Library exposes its name and associated icon now. Also, the library uses the shared watchdog to watch its database file and reload upon change.
- iTunesTrack.[hm], iTunesPlaylist.[hm]:
added copyright notice.
- NSString+Extensions.m:
removed debug log message.