Support for album art metadata.
parent
bd523075a4
commit
7491fd3bf0
|
@ -40,6 +40,8 @@
|
|||
1766C8990B912FB4004A7AE4 /* shuffle_on.png in Resources */ = {isa = PBXBuildFile; fileRef = 1766C8910B912FB4004A7AE4 /* shuffle_on.png */; };
|
||||
1770429C0B8BC53600B86321 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 177042980B8BC53600B86321 /* AppController.m */; };
|
||||
1770429E0B8BC53600B86321 /* PlaybackController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1770429A0B8BC53600B86321 /* PlaybackController.m */; };
|
||||
1778D3B00F645A190037E7A0 /* missingArt.png in Resources */ = {isa = PBXBuildFile; fileRef = 1778D3AF0F645A190037E7A0 /* missingArt.png */; };
|
||||
1778D3CA0F645BF00037E7A0 /* MissingAlbumArtTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1778D3C90F645BF00037E7A0 /* MissingAlbumArtTransformer.m */; };
|
||||
177EBFA20B8BC2A70000BC8C /* AppleRemote.m in Sources */ = {isa = PBXBuildFile; fileRef = 177EBF7F0B8BC2A70000BC8C /* AppleRemote.m */; };
|
||||
177EBFA70B8BC2A70000BC8C /* ImageTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 177EBF870B8BC2A70000BC8C /* ImageTextCell.m */; };
|
||||
177EBFAB0B8BC2A70000BC8C /* NDHotKeyControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 177EBF8D0B8BC2A70000BC8C /* NDHotKeyControl.m */; };
|
||||
|
@ -576,6 +578,9 @@
|
|||
177042980B8BC53600B86321 /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = "<group>"; };
|
||||
177042990B8BC53600B86321 /* PlaybackController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PlaybackController.h; sourceTree = "<group>"; };
|
||||
1770429A0B8BC53600B86321 /* PlaybackController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = PlaybackController.m; sourceTree = "<group>"; };
|
||||
1778D3AF0F645A190037E7A0 /* missingArt.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = missingArt.png; path = Images/missingArt.png; sourceTree = "<group>"; };
|
||||
1778D3C80F645BF00037E7A0 /* MissingAlbumArtTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MissingAlbumArtTransformer.h; path = InfoInspector/MissingAlbumArtTransformer.h; sourceTree = "<group>"; };
|
||||
1778D3C90F645BF00037E7A0 /* MissingAlbumArtTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MissingAlbumArtTransformer.m; path = InfoInspector/MissingAlbumArtTransformer.m; sourceTree = "<group>"; };
|
||||
177EBF7F0B8BC2A70000BC8C /* AppleRemote.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = AppleRemote.m; sourceTree = "<group>"; };
|
||||
177EBF860B8BC2A70000BC8C /* ImageTextCell.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ImageTextCell.h; sourceTree = "<group>"; };
|
||||
177EBF870B8BC2A70000BC8C /* ImageTextCell.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ImageTextCell.m; sourceTree = "<group>"; };
|
||||
|
@ -937,6 +942,7 @@
|
|||
177EC02D0B8BC2E60000BC8C /* Images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1778D3AF0F645A190037E7A0 /* missingArt.png */,
|
||||
17B7CF590F5A05EE00A47027 /* pauseBadge.png */,
|
||||
17B7CF5A0F5A05EE00A47027 /* playBadge.png */,
|
||||
17B7CF5B0F5A05EE00A47027 /* stopBadge.png */,
|
||||
|
@ -1134,6 +1140,8 @@
|
|||
children = (
|
||||
17D1B0FF0F63255200694C57 /* InfoWindowController.h */,
|
||||
17D1B1000F63255200694C57 /* InfoWindowController.m */,
|
||||
1778D3C80F645BF00037E7A0 /* MissingAlbumArtTransformer.h */,
|
||||
1778D3C90F645BF00037E7A0 /* MissingAlbumArtTransformer.m */,
|
||||
);
|
||||
name = InfoInspector;
|
||||
sourceTree = "<group>";
|
||||
|
@ -1831,6 +1839,7 @@
|
|||
178456C30F6320B5007E8021 /* SpotlightPanel.xib in Resources */,
|
||||
17D1B0D20F6320EA00694C57 /* InfoInspector.xib in Resources */,
|
||||
17D1B1DC0F6330D400694C57 /* Feedback.xib in Resources */,
|
||||
1778D3B00F645A190037E7A0 /* missingArt.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -1916,6 +1925,7 @@
|
|||
17D1B16A0F632ABB00694C57 /* SecondsFormatter.m in Sources */,
|
||||
17D1B25D0F633A4F00694C57 /* PreferencePluginController.m in Sources */,
|
||||
171CB3DC0F63670D0047EF0A /* PreferencesWindow.m in Sources */,
|
||||
1778D3CA0F645BF00037E7A0 /* MissingAlbumArtTransformer.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
|
@ -38,13 +38,13 @@
|
|||
<object class="NSWindowTemplate" id="424734135">
|
||||
<int key="NSWindowStyleMask">8215</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{246, 262}, {351, 296}}</string>
|
||||
<string key="NSWindowRect">{{246, 60}, {351, 498}}</string>
|
||||
<int key="NSWTFlags">-1543502848</int>
|
||||
<string key="NSWindowTitle">Info Inspector</string>
|
||||
<string key="NSWindowClass">NSPanel</string>
|
||||
<nil key="NSViewClass"/>
|
||||
<string key="NSWindowContentMaxSize">{351, 296}</string>
|
||||
<string key="NSWindowContentMinSize">{351, 296}</string>
|
||||
<string key="NSWindowContentMaxSize">{351, 498}</string>
|
||||
<string key="NSWindowContentMinSize">{351, 498}</string>
|
||||
<object class="NSView" key="NSWindowView" id="585628045">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
|
@ -53,7 +53,7 @@
|
|||
<object class="NSTextField" id="495761946">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{69, 262}, {37, 14}}</string>
|
||||
<string key="NSFrame">{{69, 464}, {37, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="461653135">
|
||||
|
@ -84,7 +84,7 @@
|
|||
<object class="NSTextField" id="117768815">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{63, 240}, {43, 14}}</string>
|
||||
<string key="NSFrame">{{63, 442}, {43, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="184420081">
|
||||
|
@ -100,7 +100,7 @@
|
|||
<object class="NSTextField" id="1053564994">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{68, 196}, {38, 14}}</string>
|
||||
<string key="NSFrame">{{68, 398}, {38, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="311301850">
|
||||
|
@ -116,7 +116,7 @@
|
|||
<object class="NSTextField" id="414942335">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{61, 174}, {45, 14}}</string>
|
||||
<string key="NSFrame">{{61, 376}, {45, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="1047280180">
|
||||
|
@ -132,7 +132,7 @@
|
|||
<object class="NSTextField" id="305531021">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{74, 152}, {32, 14}}</string>
|
||||
<string key="NSFrame">{{74, 354}, {32, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="680181027">
|
||||
|
@ -148,7 +148,7 @@
|
|||
<object class="NSTextField" id="932361833">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{66, 130}, {40, 14}}</string>
|
||||
<string key="NSFrame">{{66, 332}, {40, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="457357318">
|
||||
|
@ -164,7 +164,7 @@
|
|||
<object class="NSTextField" id="113710782">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{33, 86}, {73, 14}}</string>
|
||||
<string key="NSFrame">{{33, 288}, {73, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="91305173">
|
||||
|
@ -180,7 +180,7 @@
|
|||
<object class="NSTextField" id="788744622">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{49, 64}, {57, 14}}</string>
|
||||
<string key="NSFrame">{{49, 266}, {57, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="164828182">
|
||||
|
@ -196,7 +196,7 @@
|
|||
<object class="NSTextField" id="510311055">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{64, 42}, {42, 14}}</string>
|
||||
<string key="NSFrame">{{64, 244}, {42, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="71126344">
|
||||
|
@ -212,7 +212,7 @@
|
|||
<object class="NSTextField" id="596622226">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{17, 20}, {89, 14}}</string>
|
||||
<string key="NSFrame">{{17, 222}, {89, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="553188198">
|
||||
|
@ -228,7 +228,7 @@
|
|||
<object class="NSTextField" id="244367766">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{74, 218}, {32, 14}}</string>
|
||||
<string key="NSFrame">{{74, 420}, {32, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="138246863">
|
||||
|
@ -244,7 +244,7 @@
|
|||
<object class="NSTextField" id="506726868">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 262}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 464}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="470358203">
|
||||
|
@ -260,7 +260,7 @@
|
|||
<object class="NSTextField" id="1007870810">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 240}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 442}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="1003487178">
|
||||
|
@ -276,7 +276,7 @@
|
|||
<object class="NSTextField" id="797234154">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 218}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 420}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="666897980">
|
||||
|
@ -292,7 +292,7 @@
|
|||
<object class="NSTextField" id="188694493">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 196}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 398}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="185361001">
|
||||
|
@ -308,7 +308,7 @@
|
|||
<object class="NSTextField" id="713956939">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 174}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 376}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="440054410">
|
||||
|
@ -324,7 +324,7 @@
|
|||
<object class="NSTextField" id="484678971">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 152}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 354}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="189776383">
|
||||
|
@ -340,7 +340,7 @@
|
|||
<object class="NSTextField" id="57997097">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 130}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 332}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="429725769">
|
||||
|
@ -356,7 +356,7 @@
|
|||
<object class="NSTextField" id="742011215">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 86}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 288}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="946780278">
|
||||
|
@ -372,7 +372,7 @@
|
|||
<object class="NSTextField" id="696884505">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 64}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 266}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="123903370">
|
||||
|
@ -388,7 +388,7 @@
|
|||
<object class="NSTextField" id="350019704">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 42}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 244}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="153216101">
|
||||
|
@ -404,7 +404,7 @@
|
|||
<object class="NSTextField" id="1044989116">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 20}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 222}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="61730948">
|
||||
|
@ -420,7 +420,7 @@
|
|||
<object class="NSTextField" id="528471960">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{50, 108}, {56, 14}}</string>
|
||||
<string key="NSFrame">{{50, 310}, {56, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="987359928">
|
||||
|
@ -436,7 +436,7 @@
|
|||
<object class="NSTextField" id="8570052">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{113, 108}, {221, 14}}</string>
|
||||
<string key="NSFrame">{{113, 310}, {221, 14}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="156952401">
|
||||
|
@ -449,13 +449,42 @@
|
|||
<reference key="NSTextColor" ref="781214686"/>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSImageView" id="844725820">
|
||||
<reference key="NSNextResponder" ref="585628045"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<object class="NSMutableSet" key="NSDragTypes">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="set.sortedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>Apple PDF pasteboard type</string>
|
||||
<string>Apple PICT pasteboard type</string>
|
||||
<string>Apple PNG pasteboard type</string>
|
||||
<string>NSFilenamesPboardType</string>
|
||||
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
|
||||
<string>NeXT TIFF v4.0 pasteboard type</string>
|
||||
</object>
|
||||
<string key="NSFrameSize">{351, 296}</string>
|
||||
</object>
|
||||
<string key="NSFrame">{{17, 17}, {317, 186}}</string>
|
||||
<reference key="NSSuperview" ref="585628045"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSImageCell" key="NSCell" id="23346814">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">33685504</int>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<int key="NSAlign">0</int>
|
||||
<int key="NSScale">0</int>
|
||||
<int key="NSStyle">0</int>
|
||||
<bool key="NSAnimates">NO</bool>
|
||||
</object>
|
||||
<bool key="NSEditable">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{351, 498}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
|
||||
<string key="NSMinSize">{351, 315}</string>
|
||||
<string key="NSMaxSize">{351, 315}</string>
|
||||
<string key="NSMinSize">{351, 517}</string>
|
||||
<string key="NSMaxSize">{351, 517}</string>
|
||||
<string key="NSFrameAutosaveName">InfoInspector</string>
|
||||
</object>
|
||||
<object class="NSUserDefaultsController" id="837857312">
|
||||
|
@ -687,6 +716,37 @@
|
|||
</object>
|
||||
<int key="connectionID">89</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">value: playlistSelectionController.selection.albumArt</string>
|
||||
<reference key="source" ref="844725820"/>
|
||||
<reference key="destination" ref="1001"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="844725820"/>
|
||||
<reference key="NSDestination" ref="1001"/>
|
||||
<string key="NSLabel">value: playlistSelectionController.selection.albumArt</string>
|
||||
<string key="NSBinding">value</string>
|
||||
<string key="NSKeyPath">playlistSelectionController.selection.albumArt</string>
|
||||
<object class="NSDictionary" key="NSOptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>NSAllowsEditingMultipleValuesSelection</string>
|
||||
<string>NSConditionallySetsEnabled</string>
|
||||
<string>NSValueTransformerName</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<boolean value="NO" id="6"/>
|
||||
<reference ref="6"/>
|
||||
<string>MissingAlbumArtTransformer</string>
|
||||
</object>
|
||||
</object>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">106</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
|
@ -755,6 +815,7 @@
|
|||
<reference ref="797234154"/>
|
||||
<reference ref="1007870810"/>
|
||||
<reference ref="506726868"/>
|
||||
<reference ref="844725820"/>
|
||||
</object>
|
||||
<reference key="parent" ref="424734135"/>
|
||||
</object>
|
||||
|
@ -1109,6 +1170,20 @@
|
|||
<reference key="object" ref="666897980"/>
|
||||
<reference key="parent" ref="797234154"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">95</int>
|
||||
<reference key="object" ref="844725820"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="23346814"/>
|
||||
</object>
|
||||
<reference key="parent" ref="585628045"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">96</int>
|
||||
<reference key="object" ref="23346814"/>
|
||||
<reference key="parent" ref="844725820"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
|
@ -1177,20 +1252,24 @@
|
|||
<string>86.IBPluginDependency</string>
|
||||
<string>87.IBPluginDependency</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
<string>95.IBPluginDependency</string>
|
||||
<string>96.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilderKit</string>
|
||||
<string>com.apple.InterfaceBuilderKit</string>
|
||||
<string>{{246, 262}, {351, 296}}</string>
|
||||
<string>{{395, 420}, {351, 498}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{246, 262}, {351, 296}}</string>
|
||||
<boolean value="NO"/>
|
||||
<string>{{395, 420}, {351, 498}}</string>
|
||||
<reference ref="6"/>
|
||||
<boolean value="YES" id="5"/>
|
||||
<reference ref="5"/>
|
||||
<string>{351, 296}</string>
|
||||
<string>{351, 296}</string>
|
||||
<string>{351, 498}</string>
|
||||
<string>{351, 498}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
|
@ -1264,7 +1343,7 @@
|
|||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">94</int>
|
||||
<int key="maxID">106</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
|
@ -26,13 +26,13 @@
|
|||
174C79C90F4FD40B00E18B0F /* mpcfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79470F4FD40B00E18B0F /* mpcfile.cpp */; };
|
||||
174C79CA0F4FD40B00E18B0F /* mpcfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79480F4FD40B00E18B0F /* mpcfile.h */; };
|
||||
174C79CB0F4FD40B00E18B0F /* mpcproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79490F4FD40B00E18B0F /* mpcproperties.cpp */; };
|
||||
174C79CC0F4FD40B00E18B0F /* mpcproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C794A0F4FD40B00E18B0F /* mpcproperties.h */; };
|
||||
174C79CC0F4FD40B00E18B0F /* mpcproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C794A0F4FD40B00E18B0F /* mpcproperties.h */; settings = {ATTRIBUTES = (); }; };
|
||||
174C79CD0F4FD40B00E18B0F /* id3v1genres.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C794D0F4FD40B00E18B0F /* id3v1genres.cpp */; };
|
||||
174C79CE0F4FD40B00E18B0F /* id3v1genres.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C794E0F4FD40B00E18B0F /* id3v1genres.h */; };
|
||||
174C79CF0F4FD40B00E18B0F /* id3v1tag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C794F0F4FD40B00E18B0F /* id3v1tag.cpp */; };
|
||||
174C79D00F4FD40B00E18B0F /* id3v1tag.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79500F4FD40B00E18B0F /* id3v1tag.h */; };
|
||||
174C79D10F4FD40B00E18B0F /* attachedpictureframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79530F4FD40B00E18B0F /* attachedpictureframe.cpp */; };
|
||||
174C79D20F4FD40B00E18B0F /* attachedpictureframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79540F4FD40B00E18B0F /* attachedpictureframe.h */; };
|
||||
174C79D20F4FD40B00E18B0F /* attachedpictureframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79540F4FD40B00E18B0F /* attachedpictureframe.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C79D30F4FD40B00E18B0F /* commentsframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79550F4FD40B00E18B0F /* commentsframe.cpp */; };
|
||||
174C79D40F4FD40B00E18B0F /* commentsframe.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79560F4FD40B00E18B0F /* commentsframe.h */; };
|
||||
174C79D50F4FD40B00E18B0F /* generalencapsulatedobjectframe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79570F4FD40B00E18B0F /* generalencapsulatedobjectframe.cpp */; };
|
||||
|
@ -58,21 +58,21 @@
|
|||
174C79E90F4FD40B00E18B0F /* id3v2footer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C796B0F4FD40B00E18B0F /* id3v2footer.cpp */; };
|
||||
174C79EA0F4FD40B00E18B0F /* id3v2footer.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C796C0F4FD40B00E18B0F /* id3v2footer.h */; };
|
||||
174C79EB0F4FD40B00E18B0F /* id3v2frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C796D0F4FD40B00E18B0F /* id3v2frame.cpp */; };
|
||||
174C79EC0F4FD40B00E18B0F /* id3v2frame.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C796E0F4FD40B00E18B0F /* id3v2frame.h */; };
|
||||
174C79EC0F4FD40B00E18B0F /* id3v2frame.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C796E0F4FD40B00E18B0F /* id3v2frame.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C79ED0F4FD40B00E18B0F /* id3v2framefactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C796F0F4FD40B00E18B0F /* id3v2framefactory.cpp */; };
|
||||
174C79EE0F4FD40B00E18B0F /* id3v2framefactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79700F4FD40B00E18B0F /* id3v2framefactory.h */; };
|
||||
174C79EE0F4FD40B00E18B0F /* id3v2framefactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79700F4FD40B00E18B0F /* id3v2framefactory.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C79EF0F4FD40B00E18B0F /* id3v2header.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79710F4FD40B00E18B0F /* id3v2header.cpp */; };
|
||||
174C79F00F4FD40B00E18B0F /* id3v2header.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79720F4FD40B00E18B0F /* id3v2header.h */; };
|
||||
174C79F00F4FD40B00E18B0F /* id3v2header.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79720F4FD40B00E18B0F /* id3v2header.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C79F10F4FD40B00E18B0F /* id3v2synchdata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79730F4FD40B00E18B0F /* id3v2synchdata.cpp */; };
|
||||
174C79F20F4FD40B00E18B0F /* id3v2synchdata.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79740F4FD40B00E18B0F /* id3v2synchdata.h */; };
|
||||
174C79F30F4FD40B00E18B0F /* id3v2tag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79750F4FD40B00E18B0F /* id3v2tag.cpp */; };
|
||||
174C79F40F4FD40B00E18B0F /* id3v2tag.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79760F4FD40B00E18B0F /* id3v2tag.h */; };
|
||||
174C79F40F4FD40B00E18B0F /* id3v2tag.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79760F4FD40B00E18B0F /* id3v2tag.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C79F50F4FD40B00E18B0F /* mpegfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79770F4FD40B00E18B0F /* mpegfile.cpp */; };
|
||||
174C79F60F4FD40B00E18B0F /* mpegfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79780F4FD40B00E18B0F /* mpegfile.h */; };
|
||||
174C79F60F4FD40B00E18B0F /* mpegfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79780F4FD40B00E18B0F /* mpegfile.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C79F70F4FD40B00E18B0F /* mpegheader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79790F4FD40B00E18B0F /* mpegheader.cpp */; };
|
||||
174C79F80F4FD40B00E18B0F /* mpegheader.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C797A0F4FD40B00E18B0F /* mpegheader.h */; };
|
||||
174C79F80F4FD40B00E18B0F /* mpegheader.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C797A0F4FD40B00E18B0F /* mpegheader.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C79F90F4FD40B00E18B0F /* mpegproperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C797B0F4FD40B00E18B0F /* mpegproperties.cpp */; };
|
||||
174C79FA0F4FD40B00E18B0F /* mpegproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C797C0F4FD40B00E18B0F /* mpegproperties.h */; };
|
||||
174C79FA0F4FD40B00E18B0F /* mpegproperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C797C0F4FD40B00E18B0F /* mpegproperties.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C79FB0F4FD40B00E18B0F /* xingheader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C797D0F4FD40B00E18B0F /* xingheader.cpp */; };
|
||||
174C79FC0F4FD40B00E18B0F /* xingheader.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C797E0F4FD40B00E18B0F /* xingheader.h */; };
|
||||
174C79FD0F4FD40B00E18B0F /* oggflacfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79810F4FD40B00E18B0F /* oggflacfile.cpp */; };
|
||||
|
@ -109,7 +109,7 @@
|
|||
174C7A1C0F4FD40B00E18B0F /* tfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79A30F4FD40B00E18B0F /* tfile.cpp */; };
|
||||
174C7A1D0F4FD40B00E18B0F /* tfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79A40F4FD40B00E18B0F /* tfile.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C7A1E0F4FD40B00E18B0F /* tlist.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79A50F4FD40B00E18B0F /* tlist.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C7A200F4FD40B00E18B0F /* tmap.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79A70F4FD40B00E18B0F /* tmap.h */; };
|
||||
174C7A200F4FD40B00E18B0F /* tmap.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79A70F4FD40B00E18B0F /* tmap.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C7A220F4FD40B00E18B0F /* tstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79A90F4FD40B00E18B0F /* tstring.cpp */; };
|
||||
174C7A230F4FD40B00E18B0F /* tstring.h in Headers */ = {isa = PBXBuildFile; fileRef = 174C79AA0F4FD40B00E18B0F /* tstring.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
174C7A240F4FD40B00E18B0F /* tstringlist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 174C79AB0F4FD40B00E18B0F /* tstringlist.cpp */; };
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 6.4 KiB |
|
@ -7,12 +7,19 @@
|
|||
//
|
||||
|
||||
#import "InfoWindowController.h"
|
||||
|
||||
#import "MissingAlbumArtTransformer.h"
|
||||
|
||||
@implementation InfoWindowController
|
||||
|
||||
@synthesize playlistSelectionController;
|
||||
|
||||
+ (void)initialize
|
||||
{
|
||||
NSValueTransformer *missingAlbumArtTransformer = [[[MissingAlbumArtTransformer alloc] init] autorelease];
|
||||
[NSValueTransformer setValueTransformer:missingAlbumArtTransformer
|
||||
forName:@"MissingAlbumArtTransformer"];
|
||||
}
|
||||
|
||||
- (id)init
|
||||
{
|
||||
return [super initWithWindowNibName:@"InfoInspector"];
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// MissingAlbumArtTransformer.h
|
||||
// Cog
|
||||
//
|
||||
// Created by Vincent Spader on 3/8/09.
|
||||
// Copyright 2009 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
|
||||
@interface MissingAlbumArtTransformer : NSObject {
|
||||
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,26 @@
|
|||
//
|
||||
// MissingAlbumArtTransformer.m
|
||||
// Cog
|
||||
//
|
||||
// Created by Vincent Spader on 3/8/09.
|
||||
// Copyright 2009 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MissingAlbumArtTransformer.h"
|
||||
|
||||
|
||||
@implementation MissingAlbumArtTransformer
|
||||
|
||||
+ (Class)transformedValueClass { return [NSImage class]; }
|
||||
+ (BOOL)allowsReverseTransformation { return NO; }
|
||||
|
||||
// Convert from NSImage to NSImage
|
||||
- (id)transformedValue:(id)value {
|
||||
if (value == nil) {
|
||||
return [NSImage imageNamed:@"missingArt"];
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
@end
|
|
@ -31,6 +31,7 @@
|
|||
NSString *genre;
|
||||
NSNumber *year;
|
||||
NSNumber *track;
|
||||
NSImage *albumArt;
|
||||
|
||||
long long totalFrames;
|
||||
int bitrate;
|
||||
|
@ -82,6 +83,7 @@
|
|||
@property(retain) NSString *genre;
|
||||
@property(retain) NSNumber *year;
|
||||
@property(retain) NSNumber *track;
|
||||
@property(retain) NSImage *albumArt;
|
||||
|
||||
@property long long totalFrames;
|
||||
@property int bitrate;
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
@synthesize genre;
|
||||
@synthesize year;
|
||||
@synthesize track;
|
||||
@synthesize albumArt;
|
||||
|
||||
@synthesize totalFrames;
|
||||
@synthesize bitrate;
|
||||
|
@ -93,6 +94,7 @@
|
|||
self.genre = nil;
|
||||
self.year = nil;
|
||||
self.track = nil;
|
||||
self.albumArt = nil;
|
||||
|
||||
self.endian = nil;
|
||||
|
||||
|
|
|
@ -9,15 +9,19 @@
|
|||
#import "TagLibMetadataReader.h"
|
||||
#import <TagLib/fileref.h>
|
||||
#import <TagLib/tag.h>
|
||||
#import <Taglib/mpegfile.h>
|
||||
#import <Taglib/id3v2tag.h>
|
||||
#import <Taglib/attachedpictureframe.h>
|
||||
|
||||
@implementation TagLibMetadataReader
|
||||
|
||||
+ (NSDictionary *)metadataForURL:(NSURL *)url
|
||||
{
|
||||
if (![url isFileURL]) {
|
||||
return [NSDictionary dictionary];
|
||||
}
|
||||
|
||||
|
||||
NSString *lArtist = @"", *lTitle = @"", *lAlbum = @"", *lGenre = @"";
|
||||
int lYear = 0, lTrack = 0;
|
||||
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
|
||||
|
||||
TagLib::FileRef f((const char *)[[url path] UTF8String], false);
|
||||
if (!f.isNull())
|
||||
|
@ -26,39 +30,67 @@
|
|||
|
||||
if (tag)
|
||||
{
|
||||
TagLib::String pArtist, pTitle, pAlbum, pGenre, pComment;
|
||||
TagLib::String artist, title, album, genre, comment;
|
||||
int year, track;
|
||||
|
||||
pArtist = tag->artist();
|
||||
pTitle = tag->title();;
|
||||
pAlbum = tag->album();
|
||||
pGenre = tag->genre();
|
||||
pComment = tag->comment();
|
||||
artist = tag->artist();
|
||||
title = tag->title();;
|
||||
album = tag->album();
|
||||
genre = tag->genre();
|
||||
comment = tag->comment();
|
||||
|
||||
lYear = tag->year();
|
||||
lTrack = tag->track();
|
||||
year = tag->year();
|
||||
[dict setObject:[NSNumber numberWithInt:year] forKey:@"year"];
|
||||
|
||||
if (!pArtist.isNull())
|
||||
lArtist = [NSString stringWithUTF8String:pArtist.toCString(true)];
|
||||
track = tag->track();
|
||||
[dict setObject:[NSNumber numberWithInt:track] forKey:@"track"];
|
||||
|
||||
if (!pAlbum.isNull())
|
||||
lAlbum = [NSString stringWithUTF8String:pAlbum.toCString(true)];
|
||||
if (!artist.isNull())
|
||||
[dict setObject:[NSString stringWithUTF8String:artist.toCString(true)] forKey:@"artist"];
|
||||
|
||||
if (!pTitle.isNull())
|
||||
lTitle = [NSString stringWithUTF8String:pTitle.toCString(true)];
|
||||
if (!album.isNull())
|
||||
[dict setObject:[NSString stringWithUTF8String:album.toCString(true)] forKey:@"album"];
|
||||
|
||||
if (!pGenre.isNull())
|
||||
lGenre = [NSString stringWithUTF8String:pGenre.toCString(true)];
|
||||
if (!title.isNull())
|
||||
[dict setObject:[NSString stringWithUTF8String:title.toCString(true)] forKey:@"title"];
|
||||
|
||||
if (!genre.isNull())
|
||||
[dict setObject:[NSString stringWithUTF8String:genre.toCString(true)] forKey:@"genre"];
|
||||
}
|
||||
|
||||
NSString *imageCacheTag = [NSString stringWithFormat:@"%@-%@-%@-%@", [dict objectForKey:@"album"], [dict objectForKey:@"artist"], [dict objectForKey:@"genre"], [dict objectForKey:@"year"]];
|
||||
NSImage *image = [NSImage imageNamed:imageCacheTag];
|
||||
|
||||
if (nil == image) {
|
||||
// Try to load the image.
|
||||
|
||||
// WARNING: HACK
|
||||
TagLib::MPEG::File *mf = dynamic_cast<TagLib::MPEG::File *>(f.file());
|
||||
if (mf) {
|
||||
TagLib::ID3v2::Tag *tag = mf->ID3v2Tag();
|
||||
if (tag) {
|
||||
TagLib::ID3v2::FrameList pictures = mf->ID3v2Tag()->frameListMap()["APIC"];
|
||||
if (!pictures.isEmpty()) {
|
||||
TagLib::ID3v2::AttachedPictureFrame *pic = static_cast<TagLib::ID3v2::AttachedPictureFrame *>(pictures.front());
|
||||
|
||||
NSData *data = [[NSData alloc] initWithBytes:pic->picture().data() length:pic->picture().size()];
|
||||
image = [[[NSImage alloc] initWithData:data] autorelease];
|
||||
[data release];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
lArtist, @"artist",
|
||||
lTitle, @"title",
|
||||
lAlbum, @"album",
|
||||
lGenre, @"genre",
|
||||
[NSNumber numberWithInt: lYear], @"year",
|
||||
[NSNumber numberWithInt: lTrack], @"track",
|
||||
nil];
|
||||
if (nil != image) {
|
||||
[image setName:imageCacheTag];
|
||||
}
|
||||
}
|
||||
|
||||
if (nil != image) {
|
||||
[dict setObject:image forKey:@"albumArt"];
|
||||
}
|
||||
}
|
||||
|
||||
return [dict autorelease];
|
||||
}
|
||||
|
||||
+ (NSArray *)fileTypes
|
||||
|
|
Loading…
Reference in New Issue