Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

iTunes: Vorgefertigte Stichworte als Kommentar anfügen

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Trollius
•->
•->


Anmeldedatum: 11.10.2009
Beiträge: 11
Wohnort: Braunschweig

BeitragVerfasst am: 11.10.2009 - 16:56    Titel: iTunes: Vorgefertigte Stichworte als Kommentar anfügen Antworten mit Zitat

Hi,

ich habe alles versucht und auch mit Automator ein brauchbares Ergebnis erzielt.
Vielleicht hat ja noch jemand eine bessere Idee per Script, um:

Das Stück das grade in iTunes läuft (möglichst auch im Hintergrund) zu verändern, indem
vorgefertigte Stichworte (wie "ruhig", "Autofahrt" usw.) aus einer Liste (Floating Window oder PopUp)
mit einem blank oder Semikolon separiert in das Feld "Kommentare" des Tags eingetragen werden, bereits vorhandene Einträge sollten aber nicht überschrieben werden.

(macht die Datenbank iTunes durch intelligente Wiedergabelisten, die nach diesen Einträgen suchen um ein vielfaches nützlicher...)

Doug Adams hat ja viel geschrieben, aber das leider nicht, obwohl bestimmt viele User davon profitieren würden, große Mengen an Musik schnell zu sortieren, ohne jeden Eintrag mehrmals schreiben zu müssen...

Ein Foto meines Automator-workflows :
(Dazu müssen reine Text-Dateien mit dem jeweiligen Wort in einem bestimmten Ordner liegen. Für mich machbar, für andere jedoch etwas umständlich...)





Danke für eure Hilfe im Voraus

Trollius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 12.10.2009 - 10:56    Titel: Antworten mit Zitat

Hallo Trollius,

eigentlich eine interessante Aufgabe, die auch ich in Zukunft mal benutzen könnte. Bisher habe ich aus Zeitgründen noch nie meine Kommentare der Lieder bearbeitet. Aber so zwischendurch könnte man das ja jetzt immer mal wieder machen, wenn einem was auffällt:

So würde ich das machen, das ist mein Programm, was ich erstellt habe und ins Dock legen würde für einen einfachsten Aufruf (< 10.6: Unbedingt als Bundle sichern!)

Code:
set schlagworte to {"Chillen/Chillig", "Doku", "Drama", "E-Gitarre", "Filmmusik", "Foxtrott/Tanzen", "Fröhlich", "Elektronisch", "Techno", "Weltmusik"}
set weiter to false
tell application "iTunes"
   set lied to ""
   try
      set lied to (get current track)
   end try
   if lied is not "" and mute is false then set weiter to true
end tell
if weiter is true then
   set t to text returned of (display dialog "Derzeit läuft:" & return & "\"" & name of lied & "\"" & return & return & "Welche Schlagworte sollen diesem Lied hinzugefügt werden?" & return & "Einfach Nummern hintereinander eintragen, Reihenfolge und Form egal…" & return & return & my listeauflisten(schlagworte) default answer "" buttons {"Abbruch", "Ok"} default button 2 giving up after 650)
   if t is not "" then
      set kommentare to ""
      repeat with i from 1 to length of schlagworte
         if (i as string) is in t then set kommentare to kommentare & " " & item i of schlagworte
      end repeat
      tell application "iTunes" to set comment of lied to (it & " " & kommentare) as string
   end if
end if

on listeauflisten(liste)
   set listentext to ""
   repeat with i from 1 to length of liste
      set listentext to listentext & i & " = " & item i of liste & return
   end repeat
   return listentext
end listeauflisten


So hörst Du ein Lied, denkst Dir, hey, das möchte ich verschlagworten, da es gut ist, machst einen Klick auf das Programm im Dock, gibst einfach "13107" ein und dem Lied wird "Chillen/Chillig Drama Weltmusik Fröhlich" hinzugefügt.
Also es ist egal, welche Reihenfolge die Zahlen haben und Du könntest auch hinschreiben "Hm, ich denke 1, 10, 3. Ach ja, und noch die 7"; das würde genauso funktionieren, also sehr flexibel.
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Trollius
•->
•->


Anmeldedatum: 11.10.2009
Beiträge: 11
Wohnort: Braunschweig

BeitragVerfasst am: 12.10.2009 - 11:58    Titel: @Wolle-77 Antworten mit Zitat

Hi Martin,

wow - das ist ja irre!! Und schnell!!
Hab's gleich probiert.

Allerdings gibt es 2 Haken:
Ich habe 54 Stichworte - also ein separieren per Komma ist nötig, da bei 23 sonst 2+3 eingetragen wird...
Bereits vorhandene Einträge werden überschrieben. Schöner wäre es, wenn die "Neuen am Anfang des bisherigen Kommentars eingefügt werden würden.
(ev. sollte das der Zusatz <to set comment of lied to (it & " " & kommentare)> bewirken, da wird aber der String <iTunes > eingefügt. Das müsste nicht sein.)
Wenn Du mir das noch hinfummelst, gebe ich einen aus!
(Ich habe etliche Tausend Titel zu katalogisieren...)

Lieber Gruss
Manfred
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 12.10.2009 - 16:39    Titel: Antworten mit Zitat

Hallo Manfred,

habe heute morgen zufällig bei einem Bekannten einen Mac eingerichtet und ihm das als erstes Beispielprogramm gezeigt – und da ist mir auch schon aufgefallen, daß das ab 10 Schlüsselwörtern ja ein Problem gibt …

Hier nun also eine enorm verbesserte Version:

Code:
set schlagworte to {"Chillen/Chillig", "Doku", "Drama", "E-Gitarre", "Filmmusik", "Foxtrott/Tanzen", "Fröhlich", "Elektronisch", "Techno", "Weltmusik"}
set weiter to false
tell application "iTunes"
   set lied to ""
   try
      set lied to (get current track)
   end try
   if lied is not "" and mute is false then set weiter to true
end tell
if weiter is true then
   set t to text returned of (display dialog "Derzeit läuft:" & return & "\"" & name of lied & "\"" & return & return & "Welche Schlagworte sollen diesem Lied hinzugefügt werden?" & return & "Einfach Nummern hintereinander eintragen, Reihenfolge und Form egal…" & return & return & my listeauflisten(schlagworte) default answer "" buttons {"Abbruch", "Ok"} default button 2 giving up after 650)
   if t is not "" then
      set kommentare to ""
      repeat with i from length of schlagworte to 1 by -1
         if kommentare is "" then
            set zusatz to ""
         else
            set zusatz to ", "
         end if
         if (i as string) is in t then
            set kommentare to kommentare & zusatz & item i of schlagworte
            set t to my austauschen(i, "", t)
         end if
      end repeat
      tell application "iTunes" to set comment of lied to (kommentare & " – " & comment of lied) as string
   end if
end if

on listeauflisten(liste)
   set listentext to ""
   repeat with i from 1 to length of liste
      set listentext to listentext & i & " = " & item i of liste & return
   end repeat
   return listentext
end listeauflisten

on austauschen(suchen, ersetzen, theString)
   set my text item delimiters to suchen
   tell me to set theList to every text item of theString
   set my text item delimiters to ersetzen
   return theList as string
end austauschen


Postest Du bitte Deine 54-Einträge-Liste? Dann kann ich das auch bei mir einsetzen. Auch sollte man dem Programm dann ein Icon verpassen, dann ist das richtig gut benutzbar.

Zur Not kannst Du ja per Apfel+C und Apfel+V in den Info-Paletten des Finders das iTunes-Icon einfügen.

Dann bin ich mal auf Dein Ausgeben gespannt ;-)
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 12.10.2009 - 17:02    Titel: Antworten mit Zitat

Ha, mir ist noch was Gutes eingefallen!

Code:
set schlagworte to {"Chillen/Chillig", "Doku", "Drama", "E-Gitarre", "Filmmusik", "Foxtrott/Tanzen", "Fröhlich", "Elektronisch", "Techno", "Weltmusik"}
set schlagwortedialog to my listeauflisten(schlagworte)
repeat
   set weiter to false
   tell application "iTunes"
      set lied to ""
      try
         set lied to (get current track)
      end try
      if lied is not "" and mute is false then set weiter to true
   end tell
   if weiter is true then
      set t to text returned of (display dialog "Welche Schlagworte sollen dem aktuell laufenden Lied in iTunes \"" & name of lied & "\" hinzugefügt werden?" & return & return & schlagwortedialog & return & "Nummern hintereinander eintragen, Reihenfolge und Form egal, 0 am Ende für Programmende eingeben." default answer "" buttons {"Abbrechen", "Ok"} cancel button 1 default button 2 giving up after 650)
      if t is not "" then
         set kommentare to ""
         repeat with i from length of schlagworte to 1 by -1
            if kommentare is "" then
               set zusatz to ""
            else
               set zusatz to ", "
            end if
            if (i as string) is in t then
               set kommentare to kommentare & zusatz & item i of schlagworte
               set t to my austauschen(i, "", t)
            end if
         end repeat
         if kommentare is not "" then tell application "iTunes" to set comment of lied to (kommentare & " – " & comment of lied) as string
      end if
   else
      exit repeat
   end if
   if not (t contains "0") then
      tell application "iTunes" to next track
   else
      exit repeat
   end if
end repeat

on listeauflisten(liste)
   set listentext to ""
   repeat with i from 1 to length of liste
      set listentext to listentext & i & " = " & item i of liste & return
   end repeat
   return listentext
end listeauflisten

on austauschen(suchen, ersetzen, theString)
   set my text item delimiters to suchen
   tell me to set theList to every text item of theString
   set my text item delimiters to ersetzen
   return theList as string
end austauschen


So kannst Du nicht nur per Apfel+. das Programm abbrechen, sondern er wechselt selbständig die Lieder weiter, solange, bis Du eine 0 am Ende eingibst. So ist es für Dich bestimmt ein wenig einfacher, hunderte Stücke am Stück zu verschlagworten. Nachteil ist natürlich, willst Du nur mal eben schnell ein Stück verschlagworten, mußt Du zusätzlich eine 0 eingeben.

Edit: Habe auch den Dialog noch lesbarer gemacht und ich habe das Programm bei mir als "iTunes Songmarker" abgespeichert und empfehle diesen Namen weiter.
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Trollius
•->
•->


Anmeldedatum: 11.10.2009
Beiträge: 11
Wohnort: Braunschweig

BeitragVerfasst am: 12.10.2009 - 18:28    Titel: Teils besser - teils nicht + neue Anregungen Antworten mit Zitat

Hey Martin, das is ja soooooooo geil !!!!!!! Smile

Die 2. Variante (von 17:02 Uhr) finde ich auch noch besser, da die Liste offen bleibt.
Dass aber nach dem Eintrag das nächste Stück anfängt muss nicht sein.
Dafür gäbe es etliche Helferlein, die in der Menüleiste mit einem Klick das Gleiche machen. (z.B. you:control tunes - www.yousoftware.com)

Und beim Namen fänd ich "iTunes-Comments-Writer" passender, aber du entscheidest.

Hier meine Stichworte:
{"abgefahren", "abreagieren", "Auto", "Badewanne", "Ballade", "Bass", "Beerdigung", "bekannt", "brasilianisch", "chillen", "cool", "Doko", "Drama", "E-Gitarre", "Film", "Foxtrott", "Fröhlich", "Groove", "Hardcore", "Highwaysong", "Weltmusik", "Hintergrund", "japanisch", "Jugendzeit", "Kaffee", "Kamin", "Kindheit", "Kopftanz", "Lagerfeuer", "Liebe", "locker", "lustig", "mal hören", "nachmittags", "Nachtfahrt", "nett", "Percussion", "ruhig", "ruhigst", "Samba", "Schmusen", "schön", "Sex", "slow", "Sonne", "Sylvester", "tanzbar", "Tanzstarter", "Techno", "Trauer", "Träumen", "Trennung", "Urlaub", "Walzer"}

Na, so was wie "Trennung" und manch Anderes wirst Du ev. ersetzen...

Dann noch was. Ich arbeite an einem 23" Display. Da gehen 53 Stichworte untereinander drauf. Gibt jemand 54 oder mehr ein, ist kein scrollen möglich...
Kann das Fenster mit den Stichworten scrollbar sein?

DANKE sage ich aber auf jeden Fall schon mal!
Und die Einladung steht!
Entweder rausche ich mal im Winter zu Dir und wir trinken einen oder zwei, oder ich schicke Dir auch ne Flasche Wein, die Du dann mit Deiner Süßen genießen kannst - versprochen!

Manfred
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Trollius
•->
•->


Anmeldedatum: 11.10.2009
Beiträge: 11
Wohnort: Braunschweig

BeitragVerfasst am: 12.10.2009 - 19:55    Titel: Oberhalb und Icon Antworten mit Zitat

Martin, ich habe da noch was gefunden:

Einen Icon, der meiner Meinung nach frei ist
und einen Text geschrieben, der oberhalb veröffentlich werden könnte...
wenn es umsonst ist und auch bleibt.

Das Script oder Prog wird jedoch einschlagen wie eine Bombe, soll das Teil dann nicht 99 Cent kosten.....?
Im iTunes Store sind so ne kleinen "Helferlein" für 99 Cent manchmal mehrere Millionen Mal runtergeladen worden... -- ein ganz netter "Nebenverdienst"...
.... uahhh, das Finanzamt will von mir mal eben 30.000 Euro seit 2005 haben...)

Ok, war ja nur ne Idee... Confused

Icon hier: http://www.manne-san.de/images/privat/Icon_als_Ordner.zip

Text oberhalb des Scripts (wenn frei):

(*
"iTunes-Comments-Writer"
written by Martin Wolter
initial idea and "fine-tuning" by Manfred Wanzek

v1.0 Oktober 12 2009
-- initial release

Get more free AppleScripts and info on writing your own
at German AppleScript-Forum Fischer-Bayern
http://www.fischer-bayern.de

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Get a copy of the GNU General Public License by writing to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

or visit http://www.gnu.org/copyleft/gpl.html

*)


OK?

Manfred
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Trollius
•->
•->


Anmeldedatum: 11.10.2009
Beiträge: 11
Wohnort: Braunschweig

BeitragVerfasst am: 12.10.2009 - 22:41    Titel: Noch was... Antworten mit Zitat

Noch was:

Sehr schön wäre, wenn:
1.) Das Fenster nach dem Eintrag offen bleibt. ...und...
2.) Der laufende Titel in ca. 10 Sek. Abstand erneut abgefragt wird.
(Sonst werden die Stichworte in einen ev. längst nicht mehr laufenden Titel eingetragen)
3.) Kann das Fenster nicht nur scrollbar sein, sondern auch noch die Position gespeichert werden? (sonst ist es nach jedem Eintrag wieder in der Mitte und muss an die Seite verschoben werden...) oder es ist standardmäßig am rechten Bildschirmrand und bleibt halt offen, bis das Script oder Prog beendet wird.
x.) Könnten die Stichworte auch direkt per Anklicken im Fenster ausgewählt werden? Stellt das OS so einen Typ von Fenster bereit?

Puhh, ich weiß...
Das sind heftige Sachen...
Aber es sollen auch echt nur Anregungen sein!
Was geht das geht, was nicht das muss nicht sein.
Aber vielleicht sind einige Sachen ja auch ganz einfach zu lösen?
Ich habe davon jedenfalls keine Ahnung und sehe mich lediglich als Ideengeber...

So wie jetzt ist es jedenfalls schon eine erhebliche Erleichterung und sehr nützlich!

Manfred
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 13.10.2009 - 14:37    Titel: Antworten mit Zitat

Hallo Manfred,

jetzt habe ich auch erstmal Deine Antworten verstanden, mußte ich ein wenig länger drüber nachdenken, um sie auch zu verstehen.

Also. Ich antworte mal in umgekehrter Reihenfolge.
• Welches Fenster soll nach dem Eintrag offen bleiben? Der Dialog? Der bleibt doch quasi offen, da er direkt wieder erscheint?!?
• Und die Stichworte werden nur in den Titel eingetragen, der zu Beginnn des Programmes läuft, da die Variable mit der track id nicht verändert wird. Ob Du Dir nun 10 Sekunden oder 10 Minuten Zeit läßt.
• Das Fenster kann weder scrollbar, noch verschiebbar sein. Wir reden hier von einem AppleScript-Programm; die GUI besteht aus dem display-dialog-Befehl. Wenn Du ein richtiges GUI-Programm haben möchtest, reden wir über AppleScript-Studio und der Entwicklungsumgebung Xcode. Dann hat das nichts mehr mit AppleScript direkt zu tun. Das ist auch derzeit ein wenig an mir vorbeigegangen, habe schon ewig keine GUI-Programme erstellt und angeblich gibt es in Snow Leopard kein AS-Studio mehr.
display dialog liefert Dir sämtliche Methoden eines Meldungsfensters; keine Palette mit Interaktion. Möglich wäre es jedoch, da was draus zu machen.
• Ja, die Stichworte könnten ausgewählt werden, dann müßte man nicht mit display dialog, sondern mit choose from list arbeiten. Finde ich aber dreimal unpraktischer. Erstens mußt Du dann mit der Maus hantieren und bist nicht mehr flexibel – so kannst Du mal eben bequem mit einer Hand auf dem Tastaturblock herumflippern; schneller geht es nicht.
Eine Kassiererin bei Aldi & Co. arbeitet auch aus gutem Grund mit einem Zahlenblock; wenn nicht direkt mit der Hand.

• So, dann zu Deinem, daß der Titel nicht weiterspringen muß. Du willst ernsthaft mit der Maus in die Titelleiste gehen, um weiterzuKLICKEN? Hälst Du nicht viel von effektivem Arbeiten? Es ist doch gerade der Sinn, daß Du mehrere Titel nacheinander verschlagworten kannst und Dich dabei um so wenig kümmern mußt wie möglich. Also dieses Ansinnen verstehe ich daher nicht. Und ich will auch keine Helferleins auf meinem Rechner haben, die sich irgendwo einklinken, dafür gibt es F12 und das Dashboard. Oder direkt die Tastatur! (Sondertasten).
• Ein Icon kreiere ich bei Bedarf selbst, auch finde ich die beiden Augen nichtssagend; zudem sind sie unsauber freigestellt. Ich kenne mich auch damit aus ^^
• Wenn jeder für seine Programme und Scripte Geld sehen wollte, gäbe es dieses Forum nicht. Es mag sein, daß das Programm für manche superpraktisch ist; aber das mit den 99 Cent? Da hast Du ja mehr Kosten und Verwaltung... Du verwechselst das Bezahlmodell mit dem iTunes Store für iPhone und iPod touch?
• Deine Stichworte sind eigentlich in Ordnung, wenn natürlich auch eine ganze Menge. Bei 54 Stück wäre evtl. eine andere Aufteilung vonnöten. Aber ich denke, eine Reduzierung ist besser, da sonst auch die Wiedergabelisten komplex aufgebaut sind und Du nicht jedesmal alle brauchst. Ist eine philosophische Frage.

Rest schreibe ich Dir per Privatmail …
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Trollius
•->
•->


Anmeldedatum: 11.10.2009
Beiträge: 11
Wohnort: Braunschweig

BeitragVerfasst am: 14.10.2009 - 15:47    Titel: Antworten mit Zitat

Hallo Martin,

danke für deine ausführlichen Antworten!

Ich war wohl etwas zu eifrig...
- ich weiß nicht, was AppleScript kann und was nicht, deshalb verstehe meine Vorschläge bitte nur als Anregungen
- und -
ich gebe dir in einigen Punkten völlig Recht. Die lasse ich deshalb jetzt einfach mal außen vor.

Mit iTunes arbeite ich seit der 1. Version sehr ausführlich.
Deshalb meine relativ konkreten Vorstellungen, wie das Script am hilfreichsten sein würde.

Du hattest in deiner 1. Antwort geschrieben: "Aber so zwischendurch könnte man das ja jetzt immer mal wieder machen, wenn einem was auffällt..."
Genau so sollte es sein!
Das Dialog-Fenster bleibt beim Arbeiten in anderen Programmen offen (wenn möglich...) und
die Titel (die ja nicht alle einen Kommentar bekommen) werden im Dialog-Fenster aktualisiert (also immer das, was grade läuft , könnte einen oder mehrere Kommentare bekommen).
Das wäre genial!

(... und bei mehreren Tausend Titeln sind 50 Kommentare nicht viel, im Gegenteil, ich muss dann ab und zu noch in das im Hintergrund liegende iTunes, um seltener benutzte Einträge direkt reinzuschreiben.
Erst die Kombination aus Sternen, (ev. Musikrichtung) und Kommentar(en) macht die intelligenten Wiedergabelisten wirklich brauchbar, ohne Überraschungen zu erleben.
Beispiel: Kommentar enthält "ruhig", Kommentar enthält nicht "Weihnachten", Musikrichtung ist nicht "Kinderlieder", Wertung ist größer als 3 Sterne...)

Wenn nun jemand ausschließlich die Musiktitel möglichst schnell bearbeiten (abarbeiten) will, ist die Version bei der nach einem Eintrag automatisch der nächste Titel läuft eine hervorragende Möglichkeit. Allerdings ist das, genauso wie das "Nebenbei bearbeiten" dann gleichermaßen mit dem "offen bleibendem Dialog" machbar, also flexibler. Wink

Gelöst habe ich das gestern, indem ich das Script (1.Version) bis auf den "Ausführen"-Knopf geschrumpft an die Seite gelegt habe.
Und nur, wenn im Hintergrund ein Stück lief, das einen Kommentar bekommen sollte, habe ich es ausgeführt.
Dabei ist mir aufgefallen, dass ich eh mit der Maus über die Einträge fahre, um die Richtigen auszusuchen. Und bevor ich mir dann die Nummer merke und unten eingebe, könnte ich den Eintrag auch gleich anklicken... Deshalb die Frage danach, ob das geht...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Trollius
•->
•->


Anmeldedatum: 11.10.2009
Beiträge: 11
Wohnort: Braunschweig

BeitragVerfasst am: 21.10.2009 - 09:47    Titel: Antworten mit Zitat

Hallo Martin,

würde mich über eine Antwort freuen!

LG
Manfred
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 21.10.2009 - 12:06    Titel: Antworten mit Zitat

Hallo Manfred,

so, ich habe mal ein paar Versuche angestellt und ich denke, mit dieser Version ist alles abgedeckt:
Code:
property vstring : "1.1"
property schlagworte : {"abgefahren", "abreagieren", "Auto", "Badewanne", "Ballade", "Bass", "Beerdigung", "bekannt", "brasilianisch", "chillen", "cool", "Dokumentation", "Drama/Unglück", "E-Gitarre", "Film", "Foxtrott", "Fröhlich", "Groove", "Hardcore", "Highwaysong", "Weltmusik", "Hintergrund", "japanisch", "Jugendzeit", "Kaffee", "Kaminmusik", "Kindheit", "Kopftanz", "Lagerfeuer", "Liebe", "locker", "lustig", "mal hören", "nachmittags", "Nachtfahrt", "nett", "Percussion", "ruhig", "ruhigst", "Samba", "Schmusen", "schön", "Sex", "slow", "Sonne", "Sylvester", "tanzbar", "Tanzstarter", "Techno", "Trauer", "Träumen", "Trennung", "Urlaub", "Walzer", "Kater", "stoned"}

if ((path to me) as string) contains ">>.app:" then
   set endlos to true
else
   set endlos to false
end if
set schlagworte to my quicksort(1, count of schlagworte, schlagworte)
set schlagwortedialog to my listeauflisten(schlagworte, 2)
repeat
   set weiter to false
   tell application "iTunes"
      set lied to ""
      try
         set lied to (get current track)
      end try
      if lied is not "" and mute is false then set weiter to true
   end tell
   if weiter is true then
      if endlos is true then
         set zs to ", 0 am Ende für Programmende eingeben."
         set titel to "iTunes CommentWriter [>>] • v" & vstring
      else
         set zs to "."
         set titel to "iTunes CommentWriter • v" & vstring
      end if
      set t to text returned of (display dialog "Welche Schlagworte dem aktuell laufenden Lied in iTunes \"" & name of lied & "\" hinzugefügen?" & return & return & schlagwortedialog & return & "Nummern hintereinander eintragen, Reihenfolge und Form egal" & zs default answer "" with title titel buttons {"Abbrechen", "Ok"} cancel button 1 default button 2 giving up after 650)
      if t is not "" then
         set kommentare to ""
         repeat with i from length of schlagworte to 1 by -1
            if kommentare is "" then
               set zusatz to ""
            else
               set zusatz to ", "
            end if
            if (i as string) is in t then
               set kommentare to kommentare & zusatz & item i of schlagworte
               set t to my austauschen(i, "", t)
            end if
         end repeat
         if kommentare is not "" then tell application "iTunes" to set comment of lied to (kommentare & " – " & comment of lied) as string
      end if
   else
      exit repeat
   end if
   if endlos is false then exit repeat
   if not (t contains "0") then
      tell application "iTunes" to next track
   else
      exit repeat
   end if
end repeat

on listeauflisten(liste, spalten)
   set le to 0
   repeat with i in liste
      if (length of (i as string)) is greater than le then set le to (length of (i as string))
   end repeat
   set listentext to ""
   set tabbreite to 19
   set fnl to length of ((count of liste) as string)
   repeat with i from 1 to length of liste
      if i mod spalten is greater than 0 then
         set zs to tab & tab
      else
         set zs to return
      end if
      set fn to my fuhrendeemspaces(i, fnl)
      set listentext to listentext & fn & " = " & my folgendeemspaces(item i of liste, le) & zs
   end repeat
   return listentext
end listeauflisten

on folgendeemspaces(meinstring, laenge)
   return text 1 thru laenge of (meinstring & "                        ")
end folgendeemspaces

on fuhrendeemspaces(meinstring, laenge)
   return text -1 thru -laenge of ("                        " & meinstring)
end fuhrendeemspaces

on quicksort(Beginn, Ende, liste) -- Supermächtige Sortierroutine von C. A. R. Hoare
   considering case
      copy Beginn to LinkerWert
      copy Ende to RechterWert
      copy item ((Beginn + Ende) div 2) of liste to StartWert
      repeat until RechterWert ≤ LinkerWert
         repeat while item LinkerWert of liste < StartWert
            copy LinkerWert + 1 to LinkerWert
         end repeat
         repeat while item RechterWert of liste > StartWert
            copy RechterWert - 1 to RechterWert
         end repeat
         if LinkerWert ≤ RechterWert then
            copy item LinkerWert of liste to tempvar
            copy item RechterWert of liste to item LinkerWert of liste
            copy tempvar to item RechterWert of liste
            copy LinkerWert + 1 to LinkerWert
            copy RechterWert - 1 to RechterWert
         end if
      end repeat
      if Beginn < RechterWert then tell me to quicksort(Beginn, RechterWert, liste)
      if Ende > LinkerWert then tell me to quicksort(LinkerWert, Ende, liste)
   end considering
   return liste
end quicksort

on austauschen(suchen, ersetzen, theString)
   set my text item delimiters to suchen
   tell me to set theList to every text item of theString
   set my text item delimiters to ersetzen
   return theList as string
end austauschen


EDIT: Ab jetzt werden die Neuerungen mit deutlicher Versionserhöhung (aktuell: 1.1) in diesem Thread hineingestellt, damit es nicht zu unübersichtlich wird.

Ich habe das Programm nun iTunes CommentWriter genannt. Es funktioniert so, wie Du es meistens brauchst: Als Einzelversion für ein Stück.
Daß danach dann das Fenster aufbleibt, ist wie gesagt nicht gut, da es dann erstens einen TimeOut geben kann und zweitens sich ein display dialog nicht aktualisieren kann.
Und warum soll der sich unnötig selbst wieder erzeugen – das Zeitintervall würde nie passen. Also: Packe das Programm ins Dock und dann kannst Du es mit nur einem Mausklick aufrufen.

Damit hingegegen meine Arbeitsweise nicht verworfen werden muß, habe ich mir was ausgedacht, welches ich in der Firma schon ein paar Mal eingesetzt habe: Da dieses Programm ja sofort loslegen soll und nicht durch unnötige Einstellungsabfragen Ballast haben soll – und man via AppleScript keine Modifikationstasten wie Alt beim Programmstart abfragen kann, kannst Du das Programm – falls mal benötigt – in iTunes CommentWriter >> umbenennen (also einfach >> am Ende an den Namen setzen) und es arbeitet dann im Endlosmodus.

Der dritte Punkt, Deine Auswahlliste: Habe damit probiert, es ist sehr unpraktisch; vor allem weil AppleScript bzw. choose from list ca. 80 % des Monitorplatzes auswählt, also die Mauswege sehr lang wären.
Ich habe daher jetzt eine Spaltenfunktion in meinen handler gebaut. Und diese 54 Stichpunkte passen jetzt auf meinen 17 " iMac locker drauf (vorher nur bis 41) und sind, vor allem bei ein wenig Eingewöhnung, schnell zu erfassen. Naja, die Formatierung hat leichte Schwächen; aber ich denke, das ist ok.

So, ich hoffe, das ist so, wie Du Dir das vorgestellt hast. Deine Flasche Wein ist übrigens am Sonntag angekommen; muß ich gleich mal bei den Nachbarn abholen. Vielen Dank!

Update 1.1: Einfach zwei Schlagwörter verändern und zwei neue hinzunehmen ist nicht ;-) Habe sie jetzt alle aufgenommen. Dann wird die Liste jetzt sauber formatiert und vor allem: alphabetisch sortiert; es ist also egal, ob neue Schlagwörter augenommen werden und wo die stehen. Achtung: Ich hoffe, das kommt beim Forum richtig raus, es handelt sich NICHT um Leerzeichen, sondern um Unicode-EM-Spaces. Wichtig!
Und ok, ich hab den Dialog auf zwei Zeilen beschränkt, aber der Hinweis mit 0 am Ende muß bleiben. Und: Wortzwischenraum oder Komma ist unnötig! Ich habe extra geschrieben: FORM EGAL. Bitte so lassen (und auch so benutzen – spart Zeit beim Tippen)
_________________
Martin Wolter
--
Apple rocks the planet!


Zuletzt bearbeitet von Wolle-77 am 22.10.2009 - 02:55, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Trollius
•->
•->


Anmeldedatum: 11.10.2009
Beiträge: 11
Wohnort: Braunschweig

BeitragVerfasst am: 21.10.2009 - 19:01    Titel: Wow !! Antworten mit Zitat

Hi Martin,

wird ja immer besser! Smile

Das hatte ich gehofft: Ich gebe die Anregungen und jemand (bisher nur Du hier im Forum - Danke dafür!) setzt sie um - für ein maximales Ergebnis für alle.

Zu Version 1.0:
Habs aber noch n bisschen abgespeckt (nur die erste Zeile im Dialog) und die Spalten im Dialog versucht anzuordnen...

(...is wichtig, für den Überblick, sonst dauert das Suchen länger als das eintippen per Hand...)

Wenn du hier noch ein "if" einfügst:
If String is larger than 6 Chars - than only 1 Tab weniger als die vorhandenen 4...
....dann ist es perfekt!
(hoffe dass das mit 1 Tab weniger der Bringer in den beiden Spalten ist...
geht aber nur mit meinem Code, den ich anfüge..., da ich da eh schon 2 reingefummelt habe...)

Code:
der Obere von Wolle-77 ist gültig - siehe dort


Bin so aber auch schon seeeeehr glücklich.
Bringt in beiden Versionen viel Spass.

(Hoffe der Wein schmeckt dir!... sonst muss ich doch noch mal fast nach Holland fahren, und dich in ein Weinlokal einladen...)

Manfred



-----------------------------------------------------------
zu Version 1.1:


Jetzt ist es perfekt !!!!

Gute Arbeit Martin!

DANKE!!!

PS: Aber ein Trennzeichen ist schon nötig. Zumindest bei mehreren einstelligen Ziffern...


Zuletzt bearbeitet von Trollius am 22.10.2009 - 09:35, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 22.10.2009 - 02:52    Titel: Antworten mit Zitat

Siehe Update in meinem letzten Thread – habe es dahingepackt, damit es hier nicht zu unübersichtlich wird. Aktuell ist also Version 1.1, die alles berücksichtig und verbessert ist. Also: Bitte Deinen Code in Deiner Antwort entfernen; es sollte nur am Ende einmal die aktuelle Version stehen. Die Fehler in Deinem habe ich oben auch kurz beschrieben.
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter