Compare commits
5 Commits
version-1.
...
version-1.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d55cb8c5e | ||
|
|
7f6ef6588c | ||
|
|
e0261f7353 | ||
|
|
8d4fba8d8a | ||
|
|
548214479a |
@@ -4,7 +4,7 @@
|
||||
\paperw12240\paperh15840\margl1440\margr1440\vieww9000\viewh8400\viewkind0
|
||||
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
|
||||
|
||||
\f0\b\fs24 \cf0 Design an Development
|
||||
\f0\b\fs24 \cf0 Design and Development
|
||||
\b0 \
|
||||
Kim Wittenburg\
|
||||
\
|
||||
@@ -5,7 +5,7 @@ Version 1.0
|
||||
Version 1.1
|
||||
|
||||
Added:
|
||||
+ 'Try again' option for errors.
|
||||
+ 'Try again' option for errors
|
||||
+ Options for tags not to be saved
|
||||
+ Option to use censored names
|
||||
+ Option for case (in)sensitivity
|
||||
@@ -14,4 +14,11 @@ Added:
|
||||
Fixed:
|
||||
* Added support for OS X 10.11 El Capitan
|
||||
* Error descriptions are now more understandable
|
||||
* Cancelling the saving process of tracks does not crash the application on slow network connections anymore
|
||||
* Cancelling the saving process of tracks does not crash the application on slow network connections anymore
|
||||
|
||||
Version 1.2
|
||||
|
||||
Added:
|
||||
+ Option for displayed number of search results
|
||||
+ Option to change the iTunes Store used to get tags
|
||||
+ Option to remove saved items
|
||||
@@ -1,11 +1,14 @@
|
||||
TagTunes is an application that uses Apple's [Search API][Search API] to get tags for your music files direcly from the iTunes store. With TagTunes you can easily clean your music library using exactly the tags that Apple itself uses.
|
||||
|
||||
#[Download TagTunes][Download 1.1]
|
||||
#[Download TagTunes][Download 1.2]
|
||||
|
||||
------------------------------------------------------------
|
||||
|
||||
## All Versions
|
||||
|
||||
### [Version 1.2][Download 1.2]
|
||||
This version adds a German translation and a setting to search in a specific iTunes Store.
|
||||
|
||||
### [Version 1.1][Download 1.1]
|
||||
This version adds several new settings as well as support for OS X 10.11 El Capitan. It also improves the overall stability of the app.
|
||||
|
||||
@@ -24,6 +27,9 @@ The first release of TagTunes includes all functions needed to clean your iTunes
|
||||
#### How does TagTunes work?
|
||||
> TagTunes uses Apple's [Search API][Search API] to get its tags.
|
||||
|
||||
#### TagTunes does not find an album but iTunes does
|
||||
> There is a different iTunes Store for each country. By default TagTunes uses a store based on your current system settings. You can change the store used by TagTunes in the preferences.
|
||||
|
||||
#### The tags I got from TagTunes differ from the one's in the iTunes Store.
|
||||
> Unfortunately Apple's Search API does not always return the name results as the iTunes Store does. This mainly affects composers (which aren't returned by the Search API at all) and track titles.
|
||||
|
||||
@@ -40,6 +46,7 @@ Currently TagTunes is not released under a open source license. This will most l
|
||||
|
||||
|
||||
[Search API]: https://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html
|
||||
[Download 1.2]: https://bitbucket.org/Codello/tagtunes/downloads/TagTunes%201.2.dmg
|
||||
[Download 1.1]: https://bitbucket.org/Codello/tagtunes/downloads/TagTunes%201.1.dmg
|
||||
[Download 1.0]: https://bitbucket.org/Codello/tagtunes/downloads/TagTunes%201.0.dmg
|
||||
[E-Mail]: mailto:dev.kwittenburg@icloud.com
|
||||
@@ -16,12 +16,12 @@
|
||||
3B489DC71B90B38C002B7EB3 /* iTunes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B489DC61B90B38C002B7EB3 /* iTunes.swift */; };
|
||||
3B489DCB1B90B3E3002B7EB3 /* iTunes.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B489DCA1B90B3E3002B7EB3 /* iTunes.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
||||
3B489DD61B90E0D8002B7EB3 /* AlbumTableCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B489DD51B90E0D8002B7EB3 /* AlbumTableCellView.swift */; };
|
||||
3B66275F1BA767C500483219 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 3B66275E1BA767C500483219 /* Credits.rtf */; settings = {ASSET_TAGS = (); }; };
|
||||
3B76C7731B909B280025D550 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B76C7721B909B280025D550 /* AppDelegate.swift */; };
|
||||
3B76C7751B909B280025D550 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B76C7741B909B280025D550 /* MainViewController.swift */; };
|
||||
3B76C77A1B909B280025D550 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3B76C7781B909B280025D550 /* Main.storyboard */; };
|
||||
3B76C7851B909B280025D550 /* TagTunesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B76C7841B909B280025D550 /* TagTunesTests.swift */; };
|
||||
3B76C7901B909B280025D550 /* TagTunesUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B76C78F1B909B280025D550 /* TagTunesUITests.swift */; };
|
||||
3B86A4021BA9E94F00B150AE /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 3B86A4041BA9E94F00B150AE /* Credits.rtf */; };
|
||||
3B96BD661B9CA24100CC4101 /* DescriptiveError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B96BD651B9CA24100CC4101 /* DescriptiveError.swift */; };
|
||||
3B9752721BA85C2F00E26515 /* AppKitPlus.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BBF710A1B95E00F00BB1EDB /* AppKitPlus.framework */; };
|
||||
3B9752731BA85C2F00E26515 /* AppKitPlus.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3BBF710A1B95E00F00BB1EDB /* AppKitPlus.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
@@ -75,7 +75,6 @@
|
||||
3B489DC91B90B3E3002B7EB3 /* iTunes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iTunes.h; sourceTree = "<group>"; };
|
||||
3B489DCA1B90B3E3002B7EB3 /* iTunes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iTunes.m; sourceTree = "<group>"; };
|
||||
3B489DD51B90E0D8002B7EB3 /* AlbumTableCellView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = AlbumTableCellView.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
|
||||
3B66275E1BA767C500483219 /* Credits.rtf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.rtf; name = Credits.rtf; path = ../Credits.rtf; sourceTree = "<group>"; };
|
||||
3B76C76F1B909B280025D550 /* TagTunes.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TagTunes.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3B76C7721B909B280025D550 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
3B76C7741B909B280025D550 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; };
|
||||
@@ -87,6 +86,11 @@
|
||||
3B76C78B1B909B280025D550 /* TagTunesUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TagTunesUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3B76C78F1B909B280025D550 /* TagTunesUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagTunesUITests.swift; sourceTree = "<group>"; };
|
||||
3B76C7911B909B280025D550 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
3B86A4001BA9E92F00B150AE /* de */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
3B86A4011BA9E92F00B150AE /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = de; path = de.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
|
||||
3B86A4031BA9E94F00B150AE /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = Base; path = Base.lproj/Credits.rtf; sourceTree = "<group>"; };
|
||||
3B86A4051BA9E95100B150AE /* de */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = de; path = de.lproj/Credits.rtf; sourceTree = "<group>"; };
|
||||
3B86A40B1BA9F11200B150AE /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Main.strings; sourceTree = "<group>"; };
|
||||
3B96BD651B9CA24100CC4101 /* DescriptiveError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DescriptiveError.swift; sourceTree = "<group>"; };
|
||||
3B97526A1BA85B5A00E26515 /* AppKitPlus.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKitPlus.framework; path = ../AppKitPlus/build/Release/AppKitPlus.framework; sourceTree = "<group>"; };
|
||||
3BAD17CC1B9F0F6800FEF908 /* AlbumCollection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AlbumCollection.swift; sourceTree = "<group>"; };
|
||||
@@ -238,7 +242,7 @@
|
||||
3BB1C97C1BA76F5F0083301F /* Assets.xcassets */,
|
||||
3BFDED601BA84AD1007E7F36 /* Localizable.strings */,
|
||||
3B76C77B1B909B280025D550 /* Info.plist */,
|
||||
3B66275E1BA767C500483219 /* Credits.rtf */,
|
||||
3B86A4041BA9E94F00B150AE /* Credits.rtf */,
|
||||
3BFDED761BA855B8007E7F36 /* Localizable.stringsdict */,
|
||||
);
|
||||
name = Resources;
|
||||
@@ -331,6 +335,7 @@
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
de,
|
||||
);
|
||||
mainGroup = 3B76C7661B909B280025D550;
|
||||
productRefGroup = 3B76C7701B909B280025D550 /* Products */;
|
||||
@@ -352,7 +357,7 @@
|
||||
3BFDED621BA84AD1007E7F36 /* Localizable.strings in Resources */,
|
||||
3B76C77A1B909B280025D550 /* Main.storyboard in Resources */,
|
||||
3BB1C97D1BA76F5F0083301F /* Assets.xcassets in Resources */,
|
||||
3B66275F1BA767C500483219 /* Credits.rtf in Resources */,
|
||||
3B86A4021BA9E94F00B150AE /* Credits.rtf in Resources */,
|
||||
3BFDED741BA855B8007E7F36 /* Localizable.stringsdict in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -431,14 +436,26 @@
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
3B76C7791B909B280025D550 /* Base */,
|
||||
3B86A40B1BA9F11200B150AE /* de */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3B86A4041BA9E94F00B150AE /* Credits.rtf */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
3B86A4031BA9E94F00B150AE /* Base */,
|
||||
3B86A4051BA9E95100B150AE /* de */,
|
||||
);
|
||||
name = Credits.rtf;
|
||||
path = ..;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3BFDED601BA84AD1007E7F36 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
3BFDED611BA84AD1007E7F36 /* Base */,
|
||||
3B86A4001BA9E92F00B150AE /* de */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
@@ -447,6 +464,7 @@
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
3BFDED751BA855B8007E7F36 /* Base */,
|
||||
3B86A4011BA9E92F00B150AE /* de */,
|
||||
);
|
||||
name = Localizable.stringsdict;
|
||||
sourceTree = "<group>";
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<scene sceneID="JPo-4y-FX3">
|
||||
<objects>
|
||||
<application id="hnw-xV-0zn" sceneMemberID="viewController">
|
||||
<menu key="mainMenu" title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
|
||||
<menu key="mainMenu" systemMenu="main" id="AYu-sK-qS6">
|
||||
<items>
|
||||
<menuItem title="TagTunes" id="1Xt-HY-uBw">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
@@ -173,417 +173,6 @@ CA
|
||||
<action selector="selectAll:" target="Ady-hI-5gd" id="VNm-Mi-diN"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
|
||||
<menuItem title="Find" id="4EN-yA-p0u">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Find" id="1b7-l0-nxx">
|
||||
<items>
|
||||
<menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
|
||||
<connections>
|
||||
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="cD7-Qs-BN4"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
|
||||
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||
<connections>
|
||||
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="WD3-Gg-5AJ"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
|
||||
<connections>
|
||||
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="NDo-RZ-v9R"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
|
||||
<connections>
|
||||
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="HOh-sY-3ay"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
|
||||
<connections>
|
||||
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="U76-nv-p5D"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
|
||||
<connections>
|
||||
<action selector="centerSelectionInVisibleArea:" target="Ady-hI-5gd" id="IOG-6D-g5B"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
|
||||
<items>
|
||||
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
|
||||
<connections>
|
||||
<action selector="showGuessPanel:" target="Ady-hI-5gd" id="vFj-Ks-hy3"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
|
||||
<connections>
|
||||
<action selector="checkSpelling:" target="Ady-hI-5gd" id="fz7-VC-reM"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
|
||||
<menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="toggleContinuousSpellChecking:" target="Ady-hI-5gd" id="7w6-Qz-0kB"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="toggleGrammarChecking:" target="Ady-hI-5gd" id="muD-Qn-j4w"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="toggleAutomaticSpellingCorrection:" target="Ady-hI-5gd" id="2lM-Qi-WAP"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Substitutions" id="9ic-FL-obx">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
|
||||
<items>
|
||||
<menuItem title="Show Substitutions" id="z6F-FW-3nz">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="orderFrontSubstitutionsPanel:" target="Ady-hI-5gd" id="oku-mr-iSq"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
|
||||
<menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="toggleSmartInsertDelete:" target="Ady-hI-5gd" id="3IJ-Se-DZD"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Smart Quotes" id="hQb-2v-fYv">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="toggleAutomaticQuoteSubstitution:" target="Ady-hI-5gd" id="ptq-xd-QOA"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Smart Dashes" id="rgM-f4-ycn">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="toggleAutomaticDashSubstitution:" target="Ady-hI-5gd" id="oCt-pO-9gS"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Smart Links" id="cwL-P1-jid">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="toggleAutomaticLinkDetection:" target="Ady-hI-5gd" id="Gip-E3-Fov"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Data Detectors" id="tRr-pd-1PS">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="toggleAutomaticDataDetection:" target="Ady-hI-5gd" id="R1I-Nq-Kbl"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Text Replacement" id="HFQ-gK-NFA">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="toggleAutomaticTextReplacement:" target="Ady-hI-5gd" id="DvP-Fe-Py6"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Transformations" id="2oI-Rn-ZJC">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Transformations" id="c8a-y6-VQd">
|
||||
<items>
|
||||
<menuItem title="Make Upper Case" id="vmV-6d-7jI">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="uppercaseWord:" target="Ady-hI-5gd" id="sPh-Tk-edu"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Make Lower Case" id="d9M-CD-aMd">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="lowercaseWord:" target="Ady-hI-5gd" id="iUZ-b5-hil"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Capitalize" id="UEZ-Bs-lqG">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="capitalizeWord:" target="Ady-hI-5gd" id="26H-TL-nsh"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Speech" id="xrE-MZ-jX0">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Speech" id="3rS-ZA-NoH">
|
||||
<items>
|
||||
<menuItem title="Start Speaking" id="Ynk-f8-cLZ">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="startSpeaking:" target="Ady-hI-5gd" id="654-Ng-kyl"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Stop Speaking" id="Oyz-dy-DGm">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="stopSpeaking:" target="Ady-hI-5gd" id="dX8-6p-jy9"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Format" id="jxT-CU-nIS">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Format" id="GEO-Iw-cKr">
|
||||
<items>
|
||||
<menuItem title="Font" id="Gi5-1S-RQB">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
|
||||
<items>
|
||||
<menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq"/>
|
||||
<menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27"/>
|
||||
<menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq"/>
|
||||
<menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
|
||||
<connections>
|
||||
<action selector="underline:" target="Ady-hI-5gd" id="FYS-2b-JAY"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
|
||||
<menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL"/>
|
||||
<menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST"/>
|
||||
<menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
|
||||
<menuItem title="Kern" id="jBQ-r6-VK2">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Kern" id="tlD-Oa-oAM">
|
||||
<items>
|
||||
<menuItem title="Use Default" id="GUa-eO-cwY">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="useStandardKerning:" target="Ady-hI-5gd" id="6dk-9l-Ckg"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Use None" id="cDB-IK-hbR">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="turnOffKerning:" target="Ady-hI-5gd" id="U8a-gz-Maa"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Tighten" id="46P-cB-AYj">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="tightenKerning:" target="Ady-hI-5gd" id="hr7-Nz-8ro"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Loosen" id="ogc-rX-tC1">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="loosenKerning:" target="Ady-hI-5gd" id="8i4-f9-FKE"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Ligatures" id="o6e-r0-MWq">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
|
||||
<items>
|
||||
<menuItem title="Use Default" id="agt-UL-0e3">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="useStandardLigatures:" target="Ady-hI-5gd" id="7uR-wd-Dx6"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Use None" id="J7y-lM-qPV">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="turnOffLigatures:" target="Ady-hI-5gd" id="iX2-gA-Ilz"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Use All" id="xQD-1f-W4t">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="useAllLigatures:" target="Ady-hI-5gd" id="KcB-kA-TuK"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Baseline" id="OaQ-X3-Vso">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Baseline" id="ijk-EB-dga">
|
||||
<items>
|
||||
<menuItem title="Use Default" id="3Om-Ey-2VK">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="unscript:" target="Ady-hI-5gd" id="0vZ-95-Ywn"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Superscript" id="Rqc-34-cIF">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="superscript:" target="Ady-hI-5gd" id="3qV-fo-wpU"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Subscript" id="I0S-gh-46l">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="subscript:" target="Ady-hI-5gd" id="Q6W-4W-IGz"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Raise" id="2h7-ER-AoG">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="raiseBaseline:" target="Ady-hI-5gd" id="4sk-31-7Q9"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Lower" id="1tx-W0-xDw">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="lowerBaseline:" target="Ady-hI-5gd" id="OF1-bc-KW4"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
|
||||
<menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
|
||||
<connections>
|
||||
<action selector="orderFrontColorPanel:" target="Ady-hI-5gd" id="mSX-Xz-DV3"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
|
||||
<menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
|
||||
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||
<connections>
|
||||
<action selector="copyFont:" target="Ady-hI-5gd" id="GJO-xA-L4q"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
|
||||
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||
<connections>
|
||||
<action selector="pasteFont:" target="Ady-hI-5gd" id="JfD-CL-leO"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Text" id="Fal-I4-PZk">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Text" id="d9c-me-L2H">
|
||||
<items>
|
||||
<menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
|
||||
<connections>
|
||||
<action selector="alignLeft:" target="Ady-hI-5gd" id="zUv-R1-uAa"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
|
||||
<connections>
|
||||
<action selector="alignCenter:" target="Ady-hI-5gd" id="spX-mk-kcS"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Justify" id="J5U-5w-g23">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="alignJustified:" target="Ady-hI-5gd" id="ljL-7U-jND"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
|
||||
<connections>
|
||||
<action selector="alignRight:" target="Ady-hI-5gd" id="r48-bG-YeY"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
|
||||
<menuItem title="Writing Direction" id="H1b-Si-o9J">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
|
||||
<items>
|
||||
<menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
</menuItem>
|
||||
<menuItem id="YGs-j5-SAR">
|
||||
<string key="title"> Default</string>
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="makeBaseWritingDirectionNatural:" target="Ady-hI-5gd" id="qtV-5e-UBP"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem id="Lbh-J2-qVU">
|
||||
<string key="title"> Left to Right</string>
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="makeBaseWritingDirectionLeftToRight:" target="Ady-hI-5gd" id="S0X-9S-QSf"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem id="jFq-tB-4Kx">
|
||||
<string key="title"> Right to Left</string>
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="makeBaseWritingDirectionRightToLeft:" target="Ady-hI-5gd" id="5fk-qB-AqJ"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
|
||||
<menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
</menuItem>
|
||||
<menuItem id="Nop-cj-93Q">
|
||||
<string key="title"> Default</string>
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="makeTextWritingDirectionNatural:" target="Ady-hI-5gd" id="lPI-Se-ZHp"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem id="BgM-ve-c93">
|
||||
<string key="title"> Left to Right</string>
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="makeTextWritingDirectionLeftToRight:" target="Ady-hI-5gd" id="caW-Bv-w94"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem id="RB4-Sm-HuC">
|
||||
<string key="title"> Right to Left</string>
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="makeTextWritingDirectionRightToLeft:" target="Ady-hI-5gd" id="EXD-6r-ZUu"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
|
||||
<menuItem title="Show Ruler" id="vLm-3I-IUL">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="toggleRuler:" target="Ady-hI-5gd" id="FOx-HJ-KwY"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
|
||||
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
|
||||
<connections>
|
||||
<action selector="copyRuler:" target="Ady-hI-5gd" id="71i-fW-3W2"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
|
||||
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
|
||||
<connections>
|
||||
<action selector="pasteRuler:" target="Ady-hI-5gd" id="cSh-wd-qM2"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
@@ -760,11 +349,11 @@ CA
|
||||
<objects>
|
||||
<viewController title="General" id="tzd-4a-CRb" customClass="GeneralPreferencesViewController" customModule="TagTunes" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<view key="view" id="pOc-Vr-IET" customClass="PreferenceView" customModule="AppKitPlus">
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="222"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="400"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="kl3-n8-T9b">
|
||||
<rect key="frame" x="18" y="186" width="188" height="18"/>
|
||||
<rect key="frame" x="18" y="364" width="188" height="18"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Automatically Save Artwork" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="q2l-4t-mL0">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
@@ -776,10 +365,7 @@ CA
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1fj-p7-sMs">
|
||||
<rect key="frame" x="335" y="152" width="101" height="32"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="89" id="EKB-5X-IoR"/>
|
||||
</constraints>
|
||||
<rect key="frame" x="339" y="330" width="97" height="32"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Choose…" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="A5S-ps-EYW">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
@@ -789,8 +375,8 @@ CA
|
||||
<action selector="chooseArtworkPath:" target="tzd-4a-CRb" id="v67-Ay-ckG"/>
|
||||
</connections>
|
||||
</button>
|
||||
<pathControl verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="pT8-NA-x3W">
|
||||
<rect key="frame" x="20" y="158" width="313" height="22"/>
|
||||
<pathControl horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="pT8-NA-x3W">
|
||||
<rect key="frame" x="20" y="336" width="317" height="22"/>
|
||||
<animations/>
|
||||
<pathCell key="cell" selectable="YES" alignment="left" id="Sgq-Mk-WnH">
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -805,7 +391,7 @@ CA
|
||||
</connections>
|
||||
</pathControl>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="iE4-HP-hS8">
|
||||
<rect key="frame" x="18" y="134" width="160" height="18"/>
|
||||
<rect key="frame" x="18" y="312" width="160" height="18"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Overwrite existing files" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="WQN-Bj-me1">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
@@ -816,7 +402,7 @@ CA
|
||||
</connections>
|
||||
</button>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="MSr-08-ucR">
|
||||
<rect key="frame" x="18" y="112" width="147" height="18"/>
|
||||
<rect key="frame" x="18" y="292" width="147" height="18"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Keep Search Results" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="uED-ee-Oc7">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
@@ -827,7 +413,7 @@ CA
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="QNf-Uy-bMT">
|
||||
<rect key="frame" x="30" y="92" width="402" height="14"/>
|
||||
<rect key="frame" x="30" y="272" width="338" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" title="If checked the search results are not hidden if a result is added." id="Lnf-PQ-PX4">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
@@ -836,7 +422,7 @@ CA
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="HT2-V6-Vrs">
|
||||
<rect key="frame" x="18" y="68" width="184" height="18"/>
|
||||
<rect key="frame" x="18" y="153" width="184" height="18"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Use low resolution artwork" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="pp5-kZ-w5f">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
@@ -847,7 +433,7 @@ CA
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ODz-LZ-Acs">
|
||||
<rect key="frame" x="30" y="20" width="402" height="42"/>
|
||||
<rect key="frame" x="30" y="105" width="402" height="42"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="NMm-Jw-bon">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
@@ -856,26 +442,147 @@ CA
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dA4-F6-y0G">
|
||||
<rect key="frame" x="227" y="239" width="19" height="27"/>
|
||||
<animations/>
|
||||
<stepperCell key="cell" continuous="YES" alignment="left" minValue="1" maxValue="200" doubleValue="1" id="qF2-IP-GuD"/>
|
||||
<connections>
|
||||
<binding destination="aSx-iH-PLA" name="value" keyPath="sharedPreferences.numberOfSearchResults" id="cfs-pJ-Ror"/>
|
||||
</connections>
|
||||
</stepper>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tZ6-50-jBC">
|
||||
<rect key="frame" x="18" y="245" width="98" height="17"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Search Results:" id="aTC-x8-iNw">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Fxp-Bf-M0J">
|
||||
<rect key="frame" x="122" y="242" width="100" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="100" id="Slg-G8-db4"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="0F2-h7-a02">
|
||||
<numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="pJw-0u-LVa">
|
||||
<real key="minimum" value="1"/>
|
||||
<real key="maximum" value="200"/>
|
||||
</numberFormatter>
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="aSx-iH-PLA" name="value" keyPath="sharedPreferences.numberOfSearchResults" id="qrT-Ml-RRF"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QpH-uA-EUO">
|
||||
<rect key="frame" x="18" y="217" width="84" height="17"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="iTunes Store:" id="M6p-MI-JS7">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="k1x-7X-WP5">
|
||||
<rect key="frame" x="106" y="210" width="105" height="26"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="100" id="FjM-26-Vzy"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="0ry-cV-J7h">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" id="Snk-Ps-hdB"/>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="tzd-4a-CRb" name="content" keyPath="iTunesStores" id="2yF-K3-Y81"/>
|
||||
<binding destination="tzd-4a-CRb" name="selectedIndex" keyPath="currentITunesStoreIndex" previousBinding="2yF-K3-Y81" id="5fE-u9-14f"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gzG-qy-YYr">
|
||||
<rect key="frame" x="30" y="177" width="402" height="28"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="xMj-9f-8N6">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<string key="title">There is some music that does not exist in all iTunes Stores. You can select a country to search the iTunes Store for that country.</string>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="R6h-LJ-31t">
|
||||
<rect key="frame" x="18" y="81" width="146" height="18"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Remove saved items" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="heo-fa-eoL">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="aSx-iH-PLA" name="value" keyPath="sharedPreferences.removeSavedItems" id="4jF-Yd-im9"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DN6-b7-q61">
|
||||
<rect key="frame" x="30" y="61" width="402" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" title="If selected, TagTunes will remove saved objects from the list." id="xtk-Fn-FCa">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="3Fb-Bt-hfa">
|
||||
<rect key="frame" x="30" y="37" width="190" height="18"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Don't remove saved albums" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="yih-Me-SPj">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="aSx-iH-PLA" name="value" keyPath="sharedPreferences.keepSavedAlbums" id="F8U-8C-mw6"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="kl3-n8-T9b" firstAttribute="leading" secondItem="pT8-NA-x3W" secondAttribute="leading" id="14U-Qy-cIb"/>
|
||||
<constraint firstItem="1fj-p7-sMs" firstAttribute="trailing" secondItem="QNf-Uy-bMT" secondAttribute="trailing" id="1dO-X0-RCl"/>
|
||||
<constraint firstAttribute="bottom" secondItem="ODz-LZ-Acs" secondAttribute="bottom" constant="20" symbolic="YES" id="3xM-bh-eY2"/>
|
||||
<constraint firstItem="ODz-LZ-Acs" firstAttribute="top" secondItem="HT2-V6-Vrs" secondAttribute="bottom" constant="8" symbolic="YES" id="DkF-kz-drm"/>
|
||||
<constraint firstItem="HT2-V6-Vrs" firstAttribute="top" secondItem="QNf-Uy-bMT" secondAttribute="bottom" constant="8" symbolic="YES" id="HMN-Go-Bye"/>
|
||||
<constraint firstItem="QNf-Uy-bMT" firstAttribute="leading" secondItem="ODz-LZ-Acs" secondAttribute="leading" id="JqT-1C-LFg"/>
|
||||
<constraint firstItem="pT8-NA-x3W" firstAttribute="baseline" secondItem="1fj-p7-sMs" secondAttribute="baseline" id="LqN-ud-IWM"/>
|
||||
<constraint firstItem="kl3-n8-T9b" firstAttribute="leading" secondItem="pOc-Vr-IET" secondAttribute="leading" constant="20" symbolic="YES" id="NSX-jk-ITr"/>
|
||||
<constraint firstItem="MSr-08-ucR" firstAttribute="leading" secondItem="iE4-HP-hS8" secondAttribute="leading" id="Ott-bf-Jd3"/>
|
||||
<constraint firstAttribute="trailing" secondItem="1fj-p7-sMs" secondAttribute="trailing" constant="20" symbolic="YES" id="Ucr-v6-obP"/>
|
||||
<constraint firstItem="iE4-HP-hS8" firstAttribute="leading" secondItem="pT8-NA-x3W" secondAttribute="leading" id="cZq-iz-phO"/>
|
||||
<constraint firstItem="iE4-HP-hS8" firstAttribute="top" secondItem="pT8-NA-x3W" secondAttribute="bottom" constant="8" symbolic="YES" id="g9V-s8-6a8"/>
|
||||
<constraint firstItem="QNf-Uy-bMT" firstAttribute="top" secondItem="MSr-08-ucR" secondAttribute="bottom" constant="8" symbolic="YES" id="l11-R3-ejh"/>
|
||||
<constraint firstItem="QNf-Uy-bMT" firstAttribute="leading" secondItem="pOc-Vr-IET" secondAttribute="leading" constant="32" id="mZA-pG-v6r"/>
|
||||
<constraint firstItem="kl3-n8-T9b" firstAttribute="top" secondItem="pOc-Vr-IET" secondAttribute="top" constant="20" symbolic="YES" id="pRK-sJ-oMw"/>
|
||||
<constraint firstItem="1fj-p7-sMs" firstAttribute="leading" secondItem="pT8-NA-x3W" secondAttribute="trailing" constant="8" symbolic="YES" id="qbN-IH-9co"/>
|
||||
<constraint firstItem="pT8-NA-x3W" firstAttribute="top" secondItem="kl3-n8-T9b" secondAttribute="bottom" constant="8" symbolic="YES" id="xAH-yb-aOW"/>
|
||||
<constraint firstItem="MSr-08-ucR" firstAttribute="leading" secondItem="HT2-V6-Vrs" secondAttribute="leading" id="xmI-IP-qsj"/>
|
||||
<constraint firstItem="DN6-b7-q61" firstAttribute="leading" secondItem="R6h-LJ-31t" secondAttribute="leading" constant="12" id="0ps-Cf-JiO"/>
|
||||
<constraint firstItem="ODz-LZ-Acs" firstAttribute="leading" secondItem="HT2-V6-Vrs" secondAttribute="leading" constant="12" id="43G-D5-Hml"/>
|
||||
<constraint firstItem="iE4-HP-hS8" firstAttribute="top" secondItem="pT8-NA-x3W" secondAttribute="bottom" constant="8" symbolic="YES" id="6bw-if-uzQ"/>
|
||||
<constraint firstItem="QpH-uA-EUO" firstAttribute="leading" secondItem="kl3-n8-T9b" secondAttribute="leading" id="AyN-WL-ftj"/>
|
||||
<constraint firstItem="dA4-F6-y0G" firstAttribute="centerY" secondItem="Fxp-Bf-M0J" secondAttribute="centerY" id="Bpw-lV-2J4"/>
|
||||
<constraint firstItem="QNf-Uy-bMT" firstAttribute="leading" secondItem="MSr-08-ucR" secondAttribute="leading" constant="12" id="CMf-fg-xwn"/>
|
||||
<constraint firstItem="1fj-p7-sMs" firstAttribute="baseline" secondItem="pT8-NA-x3W" secondAttribute="baseline" id="Cbb-Md-hLt"/>
|
||||
<constraint firstItem="1fj-p7-sMs" firstAttribute="leading" secondItem="pT8-NA-x3W" secondAttribute="trailing" constant="8" symbolic="YES" id="EBN-ov-eyz"/>
|
||||
<constraint firstItem="gzG-qy-YYr" firstAttribute="top" secondItem="k1x-7X-WP5" secondAttribute="bottom" constant="8" symbolic="YES" id="Hxs-tl-t1n"/>
|
||||
<constraint firstItem="MSr-08-ucR" firstAttribute="top" secondItem="iE4-HP-hS8" secondAttribute="bottom" constant="6" symbolic="YES" id="JSO-qU-fYO"/>
|
||||
<constraint firstItem="R6h-LJ-31t" firstAttribute="top" secondItem="ODz-LZ-Acs" secondAttribute="bottom" constant="8" symbolic="YES" id="MMS-bf-INe"/>
|
||||
<constraint firstItem="k1x-7X-WP5" firstAttribute="baseline" secondItem="QpH-uA-EUO" secondAttribute="baseline" id="RFw-e1-Vzx"/>
|
||||
<constraint firstItem="pT8-NA-x3W" firstAttribute="leading" secondItem="kl3-n8-T9b" secondAttribute="leading" id="RTj-aH-O8R"/>
|
||||
<constraint firstItem="HT2-V6-Vrs" firstAttribute="leading" secondItem="kl3-n8-T9b" secondAttribute="leading" id="S3T-h3-Fog"/>
|
||||
<constraint firstItem="tZ6-50-jBC" firstAttribute="leading" secondItem="kl3-n8-T9b" secondAttribute="leading" id="STK-6T-Khg"/>
|
||||
<constraint firstItem="dA4-F6-y0G" firstAttribute="leading" secondItem="Fxp-Bf-M0J" secondAttribute="trailing" constant="8" symbolic="YES" id="SnF-gq-fGa"/>
|
||||
<constraint firstItem="Fxp-Bf-M0J" firstAttribute="top" secondItem="QNf-Uy-bMT" secondAttribute="bottom" constant="8" symbolic="YES" id="UB0-QM-dXg"/>
|
||||
<constraint firstItem="QNf-Uy-bMT" firstAttribute="top" secondItem="MSr-08-ucR" secondAttribute="bottom" constant="8" symbolic="YES" id="VWX-7I-Z3L"/>
|
||||
<constraint firstItem="Fxp-Bf-M0J" firstAttribute="baseline" secondItem="tZ6-50-jBC" secondAttribute="baseline" id="VXj-Af-rHF"/>
|
||||
<constraint firstItem="3Fb-Bt-hfa" firstAttribute="top" secondItem="DN6-b7-q61" secondAttribute="bottom" constant="8" symbolic="YES" id="YKm-dW-Z13"/>
|
||||
<constraint firstItem="R6h-LJ-31t" firstAttribute="leading" secondItem="kl3-n8-T9b" secondAttribute="leading" id="a4y-1P-siP"/>
|
||||
<constraint firstItem="3Fb-Bt-hfa" firstAttribute="leading" secondItem="DN6-b7-q61" secondAttribute="leading" id="bUS-xl-YcS"/>
|
||||
<constraint firstItem="Fxp-Bf-M0J" firstAttribute="leading" secondItem="tZ6-50-jBC" secondAttribute="trailing" constant="8" symbolic="YES" id="btn-6X-YVa"/>
|
||||
<constraint firstAttribute="trailing" secondItem="1fj-p7-sMs" secondAttribute="trailing" constant="20" symbolic="YES" id="ePv-QH-p9T"/>
|
||||
<constraint firstItem="gzG-qy-YYr" firstAttribute="leading" secondItem="QpH-uA-EUO" secondAttribute="leading" constant="12" id="f6O-eW-sug"/>
|
||||
<constraint firstItem="pT8-NA-x3W" firstAttribute="top" secondItem="kl3-n8-T9b" secondAttribute="bottom" constant="8" symbolic="YES" id="hUh-aB-iwg"/>
|
||||
<constraint firstItem="HT2-V6-Vrs" firstAttribute="top" secondItem="gzG-qy-YYr" secondAttribute="bottom" constant="8" symbolic="YES" id="iEX-pY-uV1"/>
|
||||
<constraint firstItem="kl3-n8-T9b" firstAttribute="leading" secondItem="pOc-Vr-IET" secondAttribute="leading" constant="20" symbolic="YES" id="kt7-6h-DFt"/>
|
||||
<constraint firstItem="iE4-HP-hS8" firstAttribute="leading" secondItem="kl3-n8-T9b" secondAttribute="leading" id="mFQ-g8-Z2O"/>
|
||||
<constraint firstItem="k1x-7X-WP5" firstAttribute="leading" secondItem="QpH-uA-EUO" secondAttribute="trailing" constant="8" symbolic="YES" id="mV0-kX-iRw"/>
|
||||
<constraint firstItem="kl3-n8-T9b" firstAttribute="top" secondItem="pOc-Vr-IET" secondAttribute="top" constant="20" symbolic="YES" id="mW3-jS-00k"/>
|
||||
<constraint firstItem="ODz-LZ-Acs" firstAttribute="top" secondItem="HT2-V6-Vrs" secondAttribute="bottom" constant="8" symbolic="YES" id="nwg-Wk-kB9"/>
|
||||
<constraint firstAttribute="trailing" secondItem="DN6-b7-q61" secondAttribute="trailing" constant="20" symbolic="YES" id="oB3-bm-lae"/>
|
||||
<constraint firstItem="DN6-b7-q61" firstAttribute="top" secondItem="R6h-LJ-31t" secondAttribute="bottom" constant="8" symbolic="YES" id="oWG-no-dhS"/>
|
||||
<constraint firstAttribute="trailing" secondItem="gzG-qy-YYr" secondAttribute="trailing" constant="20" symbolic="YES" id="olE-ik-03R"/>
|
||||
<constraint firstItem="MSr-08-ucR" firstAttribute="leading" secondItem="kl3-n8-T9b" secondAttribute="leading" id="pIO-CH-97G"/>
|
||||
<constraint firstItem="k1x-7X-WP5" firstAttribute="top" secondItem="Fxp-Bf-M0J" secondAttribute="bottom" constant="8" id="qZT-tg-7H0"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
@@ -883,7 +590,7 @@ CA
|
||||
<real key="value" value="450"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="height">
|
||||
<real key="value" value="222"/>
|
||||
<real key="value" value="400"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
@@ -895,7 +602,7 @@ CA
|
||||
<customObject id="RtZ-4O-Pgk" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
<customObject id="aSx-iH-PLA" userLabel="Preferences" customClass="PreferencesSingleton" customModule="TagTunes" customModuleProvider="target"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-1031" y="1098"/>
|
||||
<point key="canvasLocation" x="-1031" y="1177.5"/>
|
||||
</scene>
|
||||
<!--Tags-->
|
||||
<scene sceneID="oNy-iK-NsG">
|
||||
@@ -940,13 +647,13 @@ CA
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="23" horizontalPageScroll="10" verticalLineScroll="23" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cTv-EP-MQX">
|
||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cTv-EP-MQX">
|
||||
<rect key="frame" x="20" y="20" width="410" height="174"/>
|
||||
<clipView key="contentView" id="awx-Qa-0a0">
|
||||
<rect key="frame" x="1" y="1" width="408" height="172"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" multipleSelection="NO" autosaveColumns="NO" rowHeight="21" rowSizeStyle="automatic" viewBased="YES" id="WCb-HH-YPh">
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="WCb-HH-YPh">
|
||||
<rect key="frame" x="0.0" y="0.0" width="408" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
@@ -999,15 +706,10 @@ CA
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
</tableHeaderCell>
|
||||
<popUpButtonCell key="dataCell" type="bevel" title="Ignore" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="bezel" imageScaling="proportionallyDown" inset="2" arrowPosition="arrowAtCenter" preferredEdge="maxY" selectedItem="idt-SA-nnz" id="1Sz-1n-thR">
|
||||
<popUpButtonCell key="dataCell" type="bevel" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="bezel" imageScaling="proportionallyDown" inset="2" arrowPosition="arrowAtCenter" preferredEdge="maxY" id="1Sz-1n-thR">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" id="3zQ-Pc-Wgf">
|
||||
<items>
|
||||
<menuItem title="Save" id="dA3-hx-uqV"/>
|
||||
<menuItem title="Clear" id="ZNC-Us-FDj"/>
|
||||
<menuItem title="Ignore" state="on" id="idt-SA-nnz"/>
|
||||
</items>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="qlM-h3-Tfw" id="dAa-aM-qIx"/>
|
||||
</connections>
|
||||
@@ -1019,16 +721,10 @@ CA
|
||||
<rect key="frame" x="296" y="1" width="110" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="bevel" title="Ignore" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" imageScaling="proportionallyDown" inset="2" selectedItem="Zxi-Bn-dST" id="Och-nm-1Kl">
|
||||
<popUpButtonCell key="cell" type="bevel" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" imageScaling="proportionallyDown" inset="2" id="Och-nm-1Kl">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" id="E1q-CP-zfN">
|
||||
<items>
|
||||
<menuItem title="Save" id="zVz-3W-UA1"/>
|
||||
<menuItem title="Clear" id="5fq-yr-okX"/>
|
||||
<menuItem title="Ignore" state="on" id="Zxi-Bn-dST"/>
|
||||
</items>
|
||||
</menu>
|
||||
<menu key="menu" id="E1q-CP-zfN"/>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<action selector="savingBehaviorChanged:" target="qlM-h3-Tfw" id="B4Y-w0-fay"/>
|
||||
@@ -1048,7 +744,7 @@ CA
|
||||
</clipView>
|
||||
<animations/>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="Q38-Np-JBF">
|
||||
<rect key="frame" x="1" y="-15" width="0.0" height="16"/>
|
||||
<rect key="frame" x="1" y="157" width="408" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.1</string>
|
||||
<string>1.2</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>A5B4</string>
|
||||
<string>200</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.music</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
|
||||
@@ -350,6 +350,28 @@ internal class MainViewController: NSViewController {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dispatch_sync(dispatch_get_main_queue()) {
|
||||
if Preferences.sharedPreferences.removeSavedItems {
|
||||
for item in items {
|
||||
if let album = item as? Album {
|
||||
for track in album.tracks {
|
||||
track.associatedTracks.removeAll()
|
||||
}
|
||||
if !Preferences.sharedPreferences.keepSavedAlbums {
|
||||
self.albumCollection.removeAlbum(album)
|
||||
}
|
||||
} else if let track = item as? Track {
|
||||
track.associatedTracks.removeAll()
|
||||
} else if let track = item as? iTunesTrack {
|
||||
if let parentTrack = self.parentForTrack(track) {
|
||||
parentTrack.associatedTracks.removeElement(track)
|
||||
}
|
||||
}
|
||||
}
|
||||
self.outlineView.reloadData()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func numberOfTracksInItems(items: [AnyObject]) -> Int {
|
||||
|
||||
@@ -42,6 +42,20 @@ internal class GeneralPreferencesViewController: NSViewController {
|
||||
}
|
||||
}
|
||||
|
||||
dynamic var iTunesStores: [String] {
|
||||
return NSLocale.ISOCountryCodes().map { NSLocale.currentLocale().displayNameForKey(NSLocaleCountryCode, value: $0)! }
|
||||
}
|
||||
|
||||
dynamic var currentITunesStoreIndex: Int {
|
||||
set {
|
||||
let countryCode = NSLocale.ISOCountryCodes()[newValue]
|
||||
Preferences.sharedPreferences.iTunesStore = countryCode
|
||||
}
|
||||
get {
|
||||
return NSLocale.ISOCountryCodes().indexOf(Preferences.sharedPreferences.iTunesStore)!
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
internal class TagsPreferencesViewController: NSViewController, NSTableViewDataSource, NSTableViewDelegate, NSMenuDelegate {
|
||||
|
||||
@@ -36,10 +36,16 @@ import Cocoa
|
||||
|
||||
static let keepSearchResultsKey = "Keep Search Results"
|
||||
|
||||
static let removeSavedAlbumsKey = "Remove Saved Albums"
|
||||
static let numberOfSearchResultsKey = "Number of Search Results"
|
||||
|
||||
static let iTunesStoreKey = "iTunes Store"
|
||||
|
||||
static let useLowResolutionArtworkKey = "Use Low Resolution Artwork"
|
||||
|
||||
static let removeSavedItemsKey = "Remove Saved Items"
|
||||
|
||||
static let keepSavedAlbumsKey = "Keep Saved Albums"
|
||||
|
||||
static let useCensoredNamesKey = "Use Censored Names"
|
||||
|
||||
static let caseSensitiveKey = "Case Sensitive"
|
||||
@@ -76,8 +82,11 @@ import Cocoa
|
||||
UserDefaultsConstants.saveArtworkKey: false,
|
||||
UserDefaultsConstants.overwriteExistingFilesKey: false,
|
||||
UserDefaultsConstants.keepSearchResultsKey: false,
|
||||
UserDefaultsConstants.removeSavedAlbumsKey: false,
|
||||
UserDefaultsConstants.numberOfSearchResultsKey: 10,
|
||||
UserDefaultsConstants.iTunesStoreKey: NSLocale.currentLocale().objectForKey(NSLocaleCountryCode)!,
|
||||
UserDefaultsConstants.useLowResolutionArtworkKey: false,
|
||||
UserDefaultsConstants.removeSavedItemsKey: false,
|
||||
UserDefaultsConstants.keepSavedAlbumsKey: false,
|
||||
UserDefaultsConstants.useCensoredNamesKey: false,
|
||||
UserDefaultsConstants.caseSensitiveKey: true,
|
||||
UserDefaultsConstants.clearArtworksKey: false
|
||||
@@ -137,6 +146,28 @@ import Cocoa
|
||||
}
|
||||
}
|
||||
|
||||
/// The number of search results that should be displayed.
|
||||
public dynamic var numberOfSearchResults: Int {
|
||||
set {
|
||||
NSUserDefaults.standardUserDefaults().setInteger(newValue, forKey: UserDefaultsConstants.numberOfSearchResultsKey)
|
||||
}
|
||||
get {
|
||||
return NSUserDefaults.standardUserDefaults().integerForKey(UserDefaultsConstants.numberOfSearchResultsKey)
|
||||
}
|
||||
}
|
||||
|
||||
/// The iTunes Store from which the metadata should be loaded.
|
||||
///
|
||||
/// The value of this property must be a valid two-letter ISO country code.
|
||||
public dynamic var iTunesStore: String {
|
||||
set {
|
||||
NSUserDefaults.standardUserDefaults().setObject(newValue, forKey: UserDefaultsConstants.iTunesStoreKey)
|
||||
}
|
||||
get {
|
||||
return NSUserDefaults.standardUserDefaults().stringForKey(UserDefaultsConstants.iTunesStoreKey)!
|
||||
}
|
||||
}
|
||||
|
||||
/// If `true` the main table view will use 100x100 artworks instead of full
|
||||
/// sized images. This option does not affect saving.
|
||||
public dynamic var useLowResolutionArtwork: Bool {
|
||||
@@ -148,6 +179,27 @@ import Cocoa
|
||||
}
|
||||
}
|
||||
|
||||
/// If `true` all saved items are removed from the list after saving.
|
||||
public dynamic var removeSavedItems: Bool {
|
||||
set {
|
||||
NSUserDefaults.standardUserDefaults().setBool(newValue, forKey: UserDefaultsConstants.removeSavedItemsKey)
|
||||
}
|
||||
get {
|
||||
return NSUserDefaults.standardUserDefaults().boolForKey(UserDefaultsConstants.removeSavedItemsKey)
|
||||
}
|
||||
}
|
||||
|
||||
/// If `true` and `removeSavedItems` is also `true` albums are not removed on
|
||||
/// saving.
|
||||
public dynamic var keepSavedAlbums: Bool {
|
||||
set {
|
||||
NSUserDefaults.standardUserDefaults().setBool(newValue, forKey: UserDefaultsConstants.keepSavedAlbumsKey)
|
||||
}
|
||||
get {
|
||||
return NSUserDefaults.standardUserDefaults().boolForKey(UserDefaultsConstants.keepSavedAlbumsKey)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: Tag Preferences
|
||||
|
||||
/// If `true` TagTunes displays and saves censored names instead of the
|
||||
|
||||
BIN
TagTunes/de.lproj/Localizable.strings
Normal file
BIN
TagTunes/de.lproj/Localizable.strings
Normal file
Binary file not shown.
22
TagTunes/de.lproj/Localizable.stringsdict
Normal file
22
TagTunes/de.lproj/Localizable.stringsdict
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>%d artworks could not be saved.</key>
|
||||
<dict>
|
||||
<key>NSStringLocalizedFormatKey</key>
|
||||
<string>%#@cover@ konnten nicht gespeichert werden.</string>
|
||||
<key>artworks</key>
|
||||
<dict>
|
||||
<key>NSStringFormatSpecTypeKey</key>
|
||||
<string>NSStringPluralRuleType</string>
|
||||
<key>NSStringFormatValueTypeKey</key>
|
||||
<string>d</string>
|
||||
<key>one</key>
|
||||
<string>Ein Cover</string>
|
||||
<key>other</key>
|
||||
<string>%d Cover</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
225
TagTunes/de.lproj/Main.strings
Normal file
225
TagTunes/de.lproj/Main.strings
Normal file
@@ -0,0 +1,225 @@
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Customize Toolbar…"; ObjectID = "1UK-8n-QPP"; */
|
||||
"1UK-8n-QPP.title" = "Symbolleiste anpassen…";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "TagTunes"; ObjectID = "1Xt-HY-uBw"; */
|
||||
"1Xt-HY-uBw.title" = "TagTunes";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Quit TagTunes"; ObjectID = "4sb-4s-VLi"; */
|
||||
"4sb-4s-VLi.title" = "TagTunes beenden";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Edit"; ObjectID = "5QF-Oa-p0T"; */
|
||||
"5QF-Oa-p0T.title" = "Bearbeiten";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "About TagTunes"; ObjectID = "5kV-Vb-QxS"; */
|
||||
"5kV-Vb-QxS.title" = "Über TagTunes";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Redo"; ObjectID = "6dh-zS-Vam"; */
|
||||
"6dh-zS-Vam.title" = "Wiederholen";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Some tags are not provided by the iTunes Search API. TagTunes can only clear these tags."; ObjectID = "8L8-Nr-zgu"; */
|
||||
"8L8-Nr-zgu.title" = "Einige Tags werden nicht von der iTunes Search API bereitgestellt. Diese Tags können nur gelöscht werden.";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Choose…"; ObjectID = "A5S-ps-EYW"; */
|
||||
"A5S-ps-EYW.title" = "Wählen…";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
|
||||
"BOF-NM-1cW.title" = "Einstellungen…";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Save As…"; ObjectID = "Bw7-FT-i3A"; */
|
||||
"Bw7-FT-i3A.title" = "Sichern unter…";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Close"; ObjectID = "DVo-aG-piG"; */
|
||||
"DVo-aG-piG.title" = "Schließen";
|
||||
|
||||
/* Class = "NSMenu"; title = "Help"; ObjectID = "F2S-fz-NVQ"; */
|
||||
"F2S-fz-NVQ.title" = "Hilfe";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "TagTunes Help"; ObjectID = "FKE-Sm-Kum"; */
|
||||
"FKE-Sm-Kum.title" = "TagTunes Hilfe";
|
||||
|
||||
/* Class = "NSToolbarItem"; label = "Remove"; ObjectID = "Fst-WO-GlQ"; */
|
||||
"Fst-WO-GlQ.label" = "Entfernen";
|
||||
|
||||
/* Class = "NSToolbarItem"; paletteLabel = "Remove"; ObjectID = "Fst-WO-GlQ"; */
|
||||
"Fst-WO-GlQ.paletteLabel" = "Entfernen";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "View"; ObjectID = "H8h-7b-M4v"; */
|
||||
"H8h-7b-M4v.title" = "Ansicht";
|
||||
|
||||
/* Class = "NSMenu"; title = "View"; ObjectID = "HyV-fh-RgO"; */
|
||||
"HyV-fh-RgO.title" = "Ansicht";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Open…"; ObjectID = "IAo-SY-fd9"; */
|
||||
"IAo-SY-fd9.title" = "Öffnen…";
|
||||
|
||||
/* Class = "NSWindow"; title = "TagTunes"; ObjectID = "IQv-IB-iLA"; */
|
||||
"IQv-IB-iLA.title" = "TagTunes";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Revert to Saved"; ObjectID = "KaW-ft-85H"; */
|
||||
"KaW-ft-85H.title" = "Zuletzt gesichert";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
|
||||
"Kd2-mp-pUS.title" = "Alle Versionen durchsuchen";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "LE2-aR-0XJ"; */
|
||||
"LE2-aR-0XJ.title" = "Alle nach vorne bringen";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "If checked the search results are not hidden if a result is added."; ObjectID = "Lnf-PQ-PX4"; */
|
||||
"Lnf-PQ-PX4.title" = "Wenn ausgewählt, werden die Suchergebnisse nicht ausgeblended, wenn ein Ergebnis ausgewählt wird.";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "iTunes Store:"; ObjectID = "M6p-MI-JS7"; */
|
||||
"M6p-MI-JS7.title" = "iTunes Store:";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "This option one affects artwork displayed in TagTunes. Saved artwork will always have full resolution. Using this option may make searching faster but will also slow down saving."; ObjectID = "NMm-Jw-bon"; */
|
||||
"NMm-Jw-bon.title" = "Diese Einstellung ändert nur die Darstellung in TagTunes. Beim Speichern wird das Cover immer mit der höchsten Auflösung gesichert. Wenn diese Optiona aktiviert ist, werden Suchergebnisse schneller geladen, jedoch verlängert sich die Zeit beim Speichern.";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
|
||||
"NMo-om-nkz.title" = "Dienste";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "OY7-WF-poV"; */
|
||||
"OY7-WF-poV.title" = "Im Dock ablegen";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Hide TagTunes"; ObjectID = "Olw-nP-bQN"; */
|
||||
"Olw-nP-bQN.title" = "TagTunes ausblenden";
|
||||
|
||||
/* Class = "NSToolbarItem"; label = "Save Artwork"; ObjectID = "PKp-tG-6Fu"; */
|
||||
"PKp-tG-6Fu.label" = "Cover sichern";
|
||||
|
||||
/* Class = "NSToolbarItem"; paletteLabel = "Save Artwork"; ObjectID = "PKp-tG-6Fu"; */
|
||||
"PKp-tG-6Fu.paletteLabel" = "Cover sichern";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "R4o-n2-Eq4"; */
|
||||
"R4o-n2-Eq4.title" = "Zoomen";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Select All"; ObjectID = "Ruw-6m-B2m"; */
|
||||
"Ruw-6m-B2m.title" = "Alles auswählen";
|
||||
|
||||
/* Class = "NSMenu"; title = "Window"; ObjectID = "Td7-aD-5lo"; */
|
||||
"Td7-aD-5lo.title" = "Fenster";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Case Sensitive"; ObjectID = "Ttb-GR-JAy"; */
|
||||
"Ttb-GR-JAy.title" = "Groß- und Kleinschreibung berücksichtigen";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Use Censored Names"; ObjectID = "UOJ-Ol-UjW"; */
|
||||
"UOJ-Ol-UjW.title" = "Zensierte Namen verwenden";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Clear Artworks"; ObjectID = "Upq-Aq-AbA"; */
|
||||
"Upq-Aq-AbA.title" = "Cover löschen";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
|
||||
"Vdr-fp-XzO.title" = "Andere ausblenden";
|
||||
|
||||
/* Class = "NSMenu"; title = "Edit"; ObjectID = "W48-6f-4Dl"; */
|
||||
"W48-6f-4Dl.title" = "Bearbeiten";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Overwrite existing files"; ObjectID = "WQN-Bj-me1"; */
|
||||
"WQN-Bj-me1.title" = "Existierende Dateien überschreiben";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "New"; ObjectID = "Was-JA-tGl"; */
|
||||
"Was-JA-tGl.title" = "Neu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Paste and Match Style"; ObjectID = "WeT-3V-zwk"; */
|
||||
"WeT-3V-zwk.title" = "Einsetzen und Stil anpassen";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "If selected, TagTunes will remove all artworks from saved tracks."; ObjectID = "Wg2-d3-xkK"; */
|
||||
"Wg2-d3-xkK.title" = "Wenn ausgewählt, löscht TagTunes die Cover von Songs beim Speichern.";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Search Results:"; ObjectID = "aTC-x8-iNw"; */
|
||||
"aTC-x8-iNw.title" = "Suchergebnisse:";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Print…"; ObjectID = "aTl-1u-JFS"; */
|
||||
"aTl-1u-JFS.title" = "Drucken…";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Window"; ObjectID = "aUF-d1-5bR"; */
|
||||
"aUF-d1-5bR.title" = "Fenster";
|
||||
|
||||
/* Class = "NSToolbarItem"; label = "Save"; ObjectID = "ax1-DR-t4v"; */
|
||||
"ax1-DR-t4v.label" = "Speichern";
|
||||
|
||||
/* Class = "NSToolbarItem"; paletteLabel = "Save to iTunes"; ObjectID = "ax1-DR-t4v"; */
|
||||
"ax1-DR-t4v.paletteLabel" = "In iTunes speichern";
|
||||
|
||||
/* Class = "NSMenu"; title = "File"; ObjectID = "bib-Uj-vzu"; */
|
||||
"bib-Uj-vzu.title" = "Ablage";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "File"; ObjectID = "dMs-cI-mzQ"; */
|
||||
"dMs-cI-mzQ.title" = "Ablage";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Undo"; ObjectID = "dRJ-4n-Yzg"; */
|
||||
"dRJ-4n-Yzg.title" = "Widerrufen";
|
||||
|
||||
/* Class = "BindingConnection"; ibShadowedIsNilPlaceholder = "Choose an artwork directory…"; ObjectID = "eFO-dQ-CMc"; */
|
||||
"eFO-dQ-CMc.ibShadowedIsNilPlaceholder" = "Wählen Sie einen Ordner…";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Paste"; ObjectID = "gVA-U4-sdL"; */
|
||||
"gVA-U4-sdL.title" = "Einsetzen";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Remove saved items"; ObjectID = "heo-fa-eoL"; */
|
||||
"heo-fa-eoL.title" = "Gespeicherte Objekte entfernen";
|
||||
|
||||
/* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
|
||||
"hz9-B4-Xy5.title" = "Dienste";
|
||||
|
||||
/* Class = "NSMenu"; title = "Open Recent"; ObjectID = "oas-Oc-fiZ"; */
|
||||
"oas-Oc-fiZ.title" = "Benutzte Dokumente";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Delete"; ObjectID = "pa3-QI-u2k"; */
|
||||
"pa3-QI-u2k.title" = "Löschem";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Use low resolution artwork"; ObjectID = "pp5-kZ-w5f"; */
|
||||
"pp5-kZ-w5f.title" = "Keine hochauflösenden Cover verwenden";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Save…"; ObjectID = "pxx-59-PXV"; */
|
||||
"pxx-59-PXV.title" = "Sichern…";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Automatically Save Artwork"; ObjectID = "q2l-4t-mL0"; */
|
||||
"q2l-4t-mL0.title" = "Cover automatisch sichern";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Page Setup…"; ObjectID = "qIS-W8-SiK"; */
|
||||
"qIS-W8-SiK.title" = "Papierformat…";
|
||||
|
||||
/* Class = "NSViewController"; title = "Tags"; ObjectID = "qlM-h3-Tfw"; */
|
||||
"qlM-h3-Tfw.title" = "Tags";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Show Toolbar"; ObjectID = "snW-S8-Cw5"; */
|
||||
"snW-S8-Cw5.title" = "Symbolleiste einblenden";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Open Recent"; ObjectID = "tXI-mr-wws"; */
|
||||
"tXI-mr-wws.title" = "Benutzte Dokumente";
|
||||
|
||||
/* Class = "NSViewController"; title = "General"; ObjectID = "tzd-4a-CRb"; */
|
||||
"tzd-4a-CRb.title" = "Allgemein";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Keep Search Results"; ObjectID = "uED-ee-Oc7"; */
|
||||
"uED-ee-Oc7.title" = "Suchergebnisse eingeblendet lassen";
|
||||
|
||||
/* Class = "NSMenu"; title = "TagTunes"; ObjectID = "uQy-DD-JDr"; */
|
||||
"uQy-DD-JDr.title" = "TagTunes";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "uRl-iY-unG"; */
|
||||
"uRl-iY-unG.title" = "Ausschneiden";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Clear Menu"; ObjectID = "vNY-rz-j42"; */
|
||||
"vNY-rz-j42.title" = "Einträge löschen";
|
||||
|
||||
/* Class = "NSToolbarItem"; label = "Add Selection"; ObjectID = "vfK-go-3oR"; */
|
||||
"vfK-go-3oR.label" = "Auswahl einfügen";
|
||||
|
||||
/* Class = "NSToolbarItem"; paletteLabel = "Add iTunes Selection"; ObjectID = "vfK-go-3oR"; */
|
||||
"vfK-go-3oR.paletteLabel" = "Auswahl aus iTunes einfügen";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Help"; ObjectID = "wpr-3q-Mcd"; */
|
||||
"wpr-3q-Mcd.title" = "Hilfe";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Copy"; ObjectID = "x3v-GG-iWU"; */
|
||||
"x3v-GG-iWU.title" = "Kpieren";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "There is some music that does not exist in all iTunes Stores. You can select a country to search the iTunes Store for that country."; ObjectID = "xMj-9f-8N6"; */
|
||||
"xMj-9f-8N6.title" = "Einige Songs gibt es nur in bestimmten iTunes Stores. TagTunes verwendet den iTunes Store des ausgewählten Landes.";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "If selected, TagTunes will remove saved objects from the list."; ObjectID = "xtk-Fn-FCa"; */
|
||||
"xtk-Fn-FCa.title" = "Wenn ausgewählt, werden Objekte beim Speichern aus der Liste entfernt.";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Don't remove saved albums"; ObjectID = "yih-Me-SPj"; */
|
||||
"yih-Me-SPj.title" = "Alben beim Speichern nicht entfernen";
|
||||
@@ -129,7 +129,7 @@ public struct iTunesAPI {
|
||||
if searchTerm.isEmpty {
|
||||
return nil
|
||||
}
|
||||
return NSURL(string: "https://itunes.apple.com/search?term=\(searchTerm)&media=music&entity=album&limit=10&country=de&lang=de_DE")
|
||||
return NSURL(string: "https://itunes.apple.com/search?term=\(searchTerm)&media=music&entity=album&limit=\(Preferences.sharedPreferences.numberOfSearchResults)&country=\(Preferences.sharedPreferences.iTunesStore)")
|
||||
}
|
||||
|
||||
/// Creates an URL that looks up all tracks that belong to the album with the
|
||||
@@ -138,7 +138,7 @@ public struct iTunesAPI {
|
||||
///
|
||||
/// This function respects the user's preferences (See `Preferences` class).
|
||||
public static func createAlbumLookupURLForId(id: iTunesId) -> NSURL {
|
||||
return NSURL(string: "http://itunes.apple.com/lookup?id=\(id)&entity=song&country=de&lang=de_DE&limit=200")!
|
||||
return NSURL(string: "http://itunes.apple.com/lookup?id=\(id)&entity=song&country=\(Preferences.sharedPreferences.iTunesStore)&limit=200")!
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
14
de.lproj/Credits.rtf
Normal file
14
de.lproj/Credits.rtf
Normal file
@@ -0,0 +1,14 @@
|
||||
{\rtf1\ansi\ansicpg1252\cocoartf1404
|
||||
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
||||
{\colortbl;\red255\green255\blue255;}
|
||||
\paperw12240\paperh15840\margl1440\margr1440\vieww9000\viewh8400\viewkind0
|
||||
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
|
||||
|
||||
\f0\b\fs24 \cf0 Design und Entwicklung
|
||||
\b0 \
|
||||
Kim Wittenburg\
|
||||
\
|
||||
|
||||
\b Icon Attributions
|
||||
\b0 \
|
||||
The Save Artwork icon was made by {\field{\*\fldinst{HYPERLINK "http://www.freepik.com"}}{\fldrslt Freepik}} from {\field{\*\fldinst{HYPERLINK "http://www.flaticon.com"}}{\fldrslt Flaticon}}. It is licensed under {\field{\*\fldinst{HYPERLINK "http://creativecommons.org/licenses/by/3.0/"}}{\fldrslt CC BY 3.0}}.}
|
||||
Reference in New Issue
Block a user