diff options
author | Avi Israeli <avii@wix.com> | 2017-02-23 09:53:27 +0200 |
---|---|---|
committer | Robby Russell <robby@planetargon.com> | 2017-02-22 23:53:27 -0800 |
commit | d874c73f19d8430f4dc32756fff0bf2f6a804d87 (patch) | |
tree | 401d3ac073bf84e5f0a394bc774d78a939f60f57 | |
parent | ef9f3d97f0920a0b151d2ada7ae7235d148639dd (diff) | |
download | zsh-d874c73f19d8430f4dc32756fff0bf2f6a804d87.tar.gz zsh-d874c73f19d8430f4dc32756fff0bf2f6a804d87.tar.bz2 zsh-d874c73f19d8430f4dc32756fff0bf2f6a804d87.zip |
itunes playlist first commit (#5860)
Added playlist feature for the itunes command:
if a variable is passed and is valid - will play the playlist
if a variable is passed and is invalid(no such playlist) - will stop all playing
if no variable is passed will print all playlists available on the host
-rw-r--r-- | plugins/osx/osx.plugin.zsh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index 95ef3e1aa..e8488ebc9 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -184,6 +184,7 @@ function vncviewer() { # iTunes control function function itunes() { local opt=$1 + local playlist=$2 shift case "$opt" in launch|play|pause|stop|rewind|resume|quit) @@ -200,6 +201,19 @@ function itunes() { vol) opt="set sound volume to $1" #$1 Due to the shift ;; + playlist) + # Inspired by: https://gist.github.com/nakajijapan/ac8b45371064ae98ea7f +if [[ ! -z "$playlist" ]]; then + osascript -e 'tell application "iTunes"' -e "set new_playlist to \"$playlist\" as string" -e "play playlist new_playlist" -e "end tell" 2>/dev/null; + if [[ $? -eq 0 ]]; then + opt="play" + else + opt="stop" + fi + else + opt="set allPlaylists to (get name of every playlist)" + fi + ;; playing|status) local state=`osascript -e 'tell application "iTunes" to player state as string'` if [[ "$state" = "playing" ]]; then @@ -250,6 +264,7 @@ EOF echo "\tshuf|shuffle [on|off|toggle]\tSet shuffled playback. Default: toggle. Note: toggle doesn't support the MiniPlayer." echo "\tvol\tSet the volume, takes an argument from 0 to 100" echo "\tplaying|status\tShow what song is currently playing in iTunes." + echo "\tplaylist [playlist name]\t Play specific playlist" echo "\thelp\tshow this message and exit" return 0 ;; |