[GastForen Programmierung/Entwicklung AppleScript iTunes: Droplet zur Erstellung von ...

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

iTunes: Droplet zur Erstellung von ...

Hans Haesler
  
Beiträge gesamt: 5826

26. Nov 2007, 22:04
Beitrag # 16 von 17
Beitrag ID: #422105
Bewertung:
(218 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Bernhard,

und hier ist die Version 03. Nun wird von jedem gedroppten Ordner eine Wiedergabeliste erzeugt. Doppel-CDs werden also wie gewünscht behandelt.

Falls aber nur ein Hauptordner aufs Droplet gezogen wird, dann werden alle Titel in den Unterordnern in eine einzige Liste gesetzt (wie mit dem Originalscript).
Code
-- PlaylistCreator_03d.app 
-- Basiert auf "Playlist Creator v1.0" von Paul Withey
-- http://www.malcolmadams.com/itunes/

(*
Das Original-Script setzt die Dateien aller Unterordner in eine Wiedergabeliste

Der folgende Code wirkt auch so. Aber wenn eine Auswahl von Ordnern
gedroppt wird, dann erzeugt er von jedem Ordner eine Wiedergabeliste.
*)

global curTracks

on open allObjects
set noDetails to true
set userChoice to button returned of (display dialog ¬
  "Die Wiedergabelisten ohne Nachfrage erzeugen?" buttons ¬
  {" Abbrechen ", "Titel-Listen zeigen", "Alle erzeugen"} default button 3)
if userChoice is "Titel-Listen zeigen" then
  set noDetails to false
else if userChoice is " Abbrechen " then
  error number -128
end if
repeat with aObject in allObjects
  processObject(aObject, noDetails)
end repeat
display dialog "Fertig." buttons ¬
  "OK" default button 1 with icon 1 giving up after 1
end open

on processObject(aObject, noDetails)
set allTracks to {}
if (aObject as string) ends with ":" then
  tell application "Finder"
  set playlistName to name of aObject
  set allTracks to every file in aObject
  end tell
  if allTracks is {} then
  set curTracks to {}
  set nameList to {}
  set nameList to addMulti(aObject, curTracks, nameList)
  else
  set nameList to addTrack(allTracks)
  end if
  if nameList is not {} then
  makeList(playlistName, nameList, noDetails)
  end if
end if
end processObject

on addMulti(aObject, curTracks, nameList)
tell application "Finder" to set allTracks to every file in aObject
if allTracks is not {} then
  repeat with nextTrack in allTracks
  set trackName to name of nextTrack
  if trackName ends with ".mp3" then
    set trackName to text 1 thru -5 of trackName
    set end of nameList to trackName
    set nextTrack to nextTrack as alias
    set end of curTracks to nextTrack
  end if
  end repeat
end if
tell application "Finder" to set allFolders to every folder in aObject
if allFolders is not {} then
  repeat with nextFolder in allFolders
  addMulti(nextFolder, curTracks, nameList)
  end repeat
end if
return nameList
end addMulti

on addTrack(allTracks)
set curTracks to {}
set nameList to {}
repeat with nextTrack in allTracks
  set trackName to name of nextTrack
  if trackName ends with ".mp3" then
  set trackName to text 1 thru -5 of trackName
  set end of nameList to trackName
  set nextTrack to nextTrack as alias
  set end of curTracks to nextTrack
  end if
end repeat
return nameList
end addTrack

on makeList(playlistName, nameList, noDetails)
if noDetails then
  set userChoice to "Erzeugen"
else
  activate me
  set userChoice to button returned of (display dialog ¬
  "Die Wiedergabeliste »" & playlistName & "« wird erzeugt" buttons ¬
  {" Abbrechen ", "Titel zeigen", "Erzeugen"} default button 3)
  if userChoice = "Titel zeigen" then
  set curChoice to choose from list nameList with prompt ¬
    "Die Wiedergabeliste wird enthalten" OK button name ¬
    "Erzeugen" with empty selection allowed
  if curChoice as string is not "false" then
    set userChoice to "Erzeugen"
  end if
  else if userChoice is " Abbrechen " then
  error number -128
  end if
end if
if userChoice = "Erzeugen" then
  tell application "iTunes"
  set newPlaylist to make new user playlist
  set name of newPlaylist to playlistName as string
  add curTracks to newPlaylist
  end tell
end if
end makeList

Gruss, Hans


als Antwort auf: [#422090]
X

iTunes: Droplet zur Erstellung von ...

Bernhard Werner
Beiträge gesamt: 5131

27. Nov 2007, 08:58
Beitrag # 17 von 17
Beitrag ID: #422106
Bewertung:
(218 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

sehr geil! :-) Herzlichen Dank dafür!!!

Gruß
Bernhard


als Antwort auf: [#422090]
X

Aktuell

PDF / Print
pitstopPro_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!