Programfüggő lejátszás/állj AppleScript segítségével

iTunes-t használok, mint minden OSX felhasználó, de ha kapok új zenéket, nem teszem bele rögtön a Library-ba, hanem VLC-ben meghallgatom, és ami tetszik, az kerül bele a gyűjteménybe. (18Gb-os dubstep gyűjteménynél van értelme).

Az USB Overdrive nevű program segítségével a 7 gombos egerem 3 gombja sorban  az alábbi funkciókat kapta: lejátszás/állj, következő, előző.

Ez így működik is szépen, de ha zenehallgatás közben csörög a telefon, már megszokásból nyomkodom a  lejátszás/állj gombot, ami iTunes-nél működik is szépen… Viszont ha VLC szól, akkor nemhogy megállítaná, hanem még mellé elindítja az iTunes-t is. Nem jó ez így…

Az USB Overdrive tud programot egérgombhoz rendelni. No, talán így… Írjunk hát egy szkriptet, ami leellenörzi, melyik program fut épp (VLC vagy iTunes), és a futó programnak küldi a lejátszás, állj, következő vagy előző szám parancsunkat.

Mire lesz szükség?
– USB Overdrive
– Sokgombos egér
– iTunes és VLC
– Automator

Automatorban hozzunk létre egy új Workflow-t, és másoljuk be ezt a kódot:

on run {input, parameters}
idle
return input
end run

on idle
set x to isAppLoaded(“VLC”)
if x then
tell application “VLC” to play –lehetséges parancsok: play, next, previous
end if
set x to isAppLoaded(“iTunes”)
if x then
tell application “iTunes” to playpause  — lehetséges parancsok: playpause, next, previous
end if
end idle

on isAppLoaded(app_name)
tell application “System Events”
set app_list to every application process whose name is app_name
if the (count of app_list) > 0 then
set x to true
else
set x to false
end if
end tell
return x
end isAppLoaded

A “tell application” résznél válaszd ki a kívánt funkciót, és mentsd el programként a kódot. USB Overdrive-ban rendeld hozzá az egér gombjaihoz a play, next és previous scripteket, és voálá, működik.



Hozzászólás