iTunes Local Control and Catalina

Posted on
Fri May 01, 2020 7:34 pm
rgspb offline
Posts: 217
Joined: Apr 24, 2009
Location: Florida

iTunes Local Control and Catalina

After updating to Catalina I can no longer get the iTunes Local Control plug-in to work. I keep getting this in the event log:

May 1, 2020 at 9:28:09 PM
Reloading plugin "iTunes Local Control 0.0.7"
Starting plugin "iTunes Local Control 0.0.7" (pid 3669)
iTunes Local Control Error Error in plugin execution InitializeMain:

Traceback (most recent call last):
File "plugin.py", line 12, in <module>
File "/Library/Application Support/Perceptive Automation/Indigo 7.4/Plugins/iTunes Local Control.indigoPlugin/Contents/Server Plugin/iTunesAppleScript.py", line 89, in <module>
File "/Library/Application Support/Perceptive Automation/Indigo 7.4/Plugins/iTunes Local Control.indigoPlugin/Contents/Server Plugin/iTunesAppleScript.py", line 16, in _make
File "/Library/Application Support/Perceptive Automation/Indigo 7.4/IndigoPluginHost.app/Contents/Resources/PlugIns/applescript/__init__.py", line 49, in __init__
ScriptError: Expected end of line, etc. but found identifier. (-2741) range=78-83

Posted on
Fri May 01, 2020 7:52 pm
Korey offline
User avatar
Posts: 811
Joined: Jun 04, 2008
Location: Henderson, NV

Re: iTunes Local Control and Catalina

Was iTunes not replaced by "Music" in 10.15?

I don't think this plugin will be able to control anything?

This one of the main reasons I have not upgraded past 10.14.

--
Korey

Posted on
Sun May 03, 2020 9:14 am
jay (support) offline
Site Admin
User avatar
Posts: 18199
Joined: Mar 19, 2008
Location: Austin, Texas

Re: iTunes Local Control and Catalina

Yeah, I suspect this plugin will need to be modified from doing "tell iTunes" to "tell Music".

[MODERATOR'S NOTE]: moved to the plugin developer's forum.

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Fri May 08, 2020 3:33 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: iTunes Local Control and Catalina

None of my machines are on Catalina and I don't really have a reason to upgrade at the moment. So the best I can promise is maybe someday.

But the repo is on github if someone wants to make a pull request.

Sorry.

Posted on
Wed Jun 03, 2020 2:45 pm
jltnol offline
Posts: 989
Joined: Oct 15, 2013

Re: iTunes Local Control and Catalina

Hope this one gets updated. There is a lot of flexibility here that is very useful.. :)

Posted on
Thu Jul 09, 2020 5:10 pm
ppespepe offline
Posts: 49
Joined: May 27, 2020

Re: iTunes Local Control and Catalina

I'd love to give it a try but my Indigo Mac is in Mojave and all the rest has no indigo...

If somebody wants to give it a shot... I think you could modify the actions.xml and change the iTunes by Music. Something like this:

<Action id='launch'>
<Name>Music Launch</Name>
<CallbackMethod>launch</CallbackMethod>
</Action>

as opposed to:

<Action id='launch'>
<Name>iTunes Launch</Name>
<CallbackMethod>launch</CallbackMethod>
</Action>

But this is a guessing... I have never ever done apple scripting in any kind or form but I tasted the below script that was originally for iTunes and changed iTunes by Music and it worked...

tell application "Music"
set sound volume to 40
set EQ enabled to true
play
end tell

Changing the xml after the plugin has been installed is fairly easy I think... If anyone more versed on this than me (very easy) could confirm is this makes sense... :D

Anyway.. perhaps if anyone wanna give it a try as far fetched as it sounds... just copy and paste the following, then save it to a file called Actions.xml perhaps restart something and give it a try? I just copied the Actions.xml from the GitHub site and changed every iTunes for Music...

<?xml version='1.0'?>
<Actions>
<Action id='launch'>
<Name>Music Launch</Name>
<CallbackMethod>launch</CallbackMethod>
</Action>
<Action id='quit'>
<Name>Music Quit</Name>
<CallbackMethod>quit</CallbackMethod>
</Action>
<Action id='toggle'>
<Name>Music Toggle</Name>
<CallbackMethod>toggle</CallbackMethod>
</Action>
<Action id='controlsSeperator' />
<Action id='play'>
<Name>Music Play</Name>
<CallbackMethod>play</CallbackMethod>
</Action>
<Action id='pause'>
<Name>Music Pause</Name>
<CallbackMethod>pause</CallbackMethod>
</Action>
<Action id='playpause'>
<Name>Music Play/Pause</Name>
<CallbackMethod>playpause</CallbackMethod>
</Action>
<Action id='stop'>
<Name>Music Stop</Name>
<CallbackMethod>stop</CallbackMethod>
</Action>
<Action id='next'>
<Name>Music Next</Name>
<CallbackMethod>next</CallbackMethod>
</Action>
<Action id='prev'>
<Name>Music Previous</Name>
<CallbackMethod>prev</CallbackMethod>
</Action>
<Action id='back'>
<Name>Music Back</Name>
<CallbackMethod>back</CallbackMethod>
</Action>
<Action id='volumeSeperator' />
<Action id='setVolume'>
<Name>Music Set Volume</Name>
<CallbackMethod>setVolume</CallbackMethod>
<ConfigUI>
<Field id='volume' type='textfield'>
<Label>Volume:</Label>
</Field>
</ConfigUI>
</Action>
<Action id='increaseVolume'>
<Name>Music Increase Volume</Name>
<CallbackMethod>increaseVolume</CallbackMethod>
<ConfigUI>
<Field id='volume' type='textfield' defaultValue='5'>
<Label>Increment:</Label>
</Field>
</ConfigUI>
</Action>
<Action id='decreaseVolume'>
<Name>Music Decrease Volume</Name>
<CallbackMethod>decreaseVolume</CallbackMethod>
<ConfigUI>
<Field id='volume' type='textfield' defaultValue='5'>
<Label>Decrement:</Label>
</Field>
</ConfigUI>
</Action>
<Action id='volumeToVariable'>
<Name>Music Volume to Variable</Name>
<CallbackMethod>volumeToVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='volumeFromVariable'>
<Name>Music Volume from Variable</Name>
<CallbackMethod>volumeFromVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='fadeVolumeTo'>
<Name>Music Fade Volume To</Name>
<CallbackMethod>fadeVolumeTo</CallbackMethod>
<ConfigUI>
<Field id='volume' type='textfield'>
<Label>Target Volume:</Label>
</Field>
<Field id='duration' type='textfield' defaultValue='30'>
<Label>Fade Seconds:</Label>
</Field>
</ConfigUI>
</Action>
<Action id='fadeVolumeUp'>
<Name>Music Fade Volume Up</Name>
<CallbackMethod>fadeVolumeUp</CallbackMethod>
<ConfigUI>
<Field id='volume' type='textfield'>
<Label>Increment:</Label>
</Field>
<Field id='duration' type='textfield' defaultValue='30'>
<Label>Fade Seconds:</Label>
</Field>
</ConfigUI>
</Action>
<Action id='fadeVolumeDown'>
<Name>Music Fade Volume Down</Name>
<CallbackMethod>fadeVolumeDown</CallbackMethod>
<ConfigUI>
<Field id='volume' type='textfield'>
<Label>Decrement:</Label>
</Field>
<Field id='duration' type='textfield' defaultValue='30'>
<Label>Fade Seconds:</Label>
</Field>
</ConfigUI>
</Action>
<Action id='fadeFromVariable'>
<Name>Music Fade Volume to Variable Value</Name>
<CallbackMethod>fadeFromVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
<Field id='duration' type='textfield' defaultValue='30'>
<Label>Fade Seconds:</Label>
</Field>
</ConfigUI>
</Action>
<Action id='fadeStop'>
<Name>Music Stop Fade</Name>
<CallbackMethod>fadeStop</CallbackMethod>
</Action>
<Action id='playlistSeperator' />
<Action id='playPlaylist'>
<Name>Music Play Playlist</Name>
<CallbackMethod>playPlaylist</CallbackMethod>
<ConfigUI>
<Field id='playlist' type='menu'>
<Label>Playlist:</Label>
<List class='self' method='menu_playlists'/>
</Field>
<Field id='shuffleNote' type='label' fontColor='blue'>
<Label>Note: shuffle state will remain OFF after this action completes.</Label>
</Field>
</ConfigUI>
</Action>
<Action id='playPlaylistShuffled'>
<Name>Music Play Playlist Shuffled</Name>
<CallbackMethod>playPlaylistShuffled</CallbackMethod>
<ConfigUI>
<Field id='playlist' type='menu'>
<Label>Playlist:</Label>
<List class='self' method='menu_playlists'/>
</Field>
<Field id='shuffleNote' type='label' fontColor='red'>
<Label>Note: shuffle state will remain ON after this action completes.</Label>
</Field>
</ConfigUI>
</Action>
<Action id='playlistToVariable'>
<Name>Music Current Playlist to Variable</Name>
<CallbackMethod>playlistToVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='playlistFromVariable'>
<Name>Music Play Playlist from Variable</Name>
<CallbackMethod>playlistFromVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='singleSeperator' />
<Action id='playSingleTrackPlaylistNumber'>
<Name>Music Play Single Track by Playlist+Number</Name>
<CallbackMethod>playSingleTrackPlaylistNumber</CallbackMethod>
<ConfigUI>
<Field id='playlist' type='menu'>
<Label>Playlist:</Label>
<List class='self' method='menu_playlists'/>
</Field>
<Field id='trackNumber' type='textfield' defaultValue='1'>
<Label>Track Number:</Label>
</Field>
<Field id='playlistNote' type='label' fontColor='blue'>
<Label>Note: this action will create/update a playlist named "Indigo Single Track"</Label>
</Field>
</ConfigUI>
</Action>
<Action id='playSingleTrackPlaylistName'>
<Name>Music Play Single Track by Playlist+Name</Name>
<CallbackMethod>playSingleTrackPlaylistName</CallbackMethod>
<ConfigUI>
<Field id='playlist' type='menu'>
<Label>Playlist:</Label>
<List class='self' method='menu_playlists'/>
</Field>
<Field id='trackName' type='textfield'>
<Label>Track Name:</Label>
</Field>
<Field id='playlistNote' type='label' fontColor='blue'>
<Label>Note: this action will create/update a playlist named "Indigo Single Track"</Label>
</Field>
</ConfigUI>
</Action>
<Action id='playSingleTrackPlaylistRandom'>
<Name>Music Play Single Random Track from Playlist</Name>
<CallbackMethod>playSingleTrackPlaylistRandom</CallbackMethod>
<ConfigUI>
<Field id='playlist' type='menu'>
<Label>Playlist:</Label>
<List class='self' method='menu_playlists'/>
</Field>
<Field id='playlistNote' type='label' fontColor='blue'>
<Label>Note: this action will create/update a playlist named "Indigo Single Track"</Label>
</Field>
</ConfigUI>
</Action>
<Action id='shuffleSeperator' />
<Action id='shuffleStateOn'>
<Name>Music Shuffle On</Name>
<CallbackMethod>shuffleStateOn</CallbackMethod>
</Action>
<Action id='shuffleStateOff'>
<Name>Music Shuffle Off</Name>
<CallbackMethod>shuffleStateOff</CallbackMethod>
</Action>
<Action id='shuffleStateToggle'>
<Name>Music Shuffle Toggle</Name>
<CallbackMethod>shuffleStateToggle</CallbackMethod>
</Action>
<Action id='shuffleStateToVariable'>
<Name>Music Shuffle State to Variable</Name>
<CallbackMethod>shuffleStateToVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='shuffleStateFromVariable'>
<Name>Music Shuffle State from Variable</Name>
<CallbackMethod>shuffleStateFromVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='shuffleModeSongs'>
<Name>Music Shuffle Songs</Name>
<CallbackMethod>shuffleModeSongs</CallbackMethod>
</Action>
<Action id='shuffleModeAlbums'>
<Name>Music Shuffle Albums</Name>
<CallbackMethod>shuffleModeAlbums</CallbackMethod>
</Action>
<Action id='shuffleModeGroupings'>
<Name>Music Shuffle Groupings</Name>
<CallbackMethod>shuffleModeGroupings</CallbackMethod>
</Action>
<Action id='shuffleModeToVariable'>
<Name>Music Shuffle Mode to Variable</Name>
<CallbackMethod>shuffleModeToVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='shuffleModeFromVariable'>
<Name>Music Shuffle Mode from Variable</Name>
<CallbackMethod>shuffleModeFromVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='repeatSeperator' />
<Action id='repeatOff'>
<Name>Music Repeat Off</Name>
<CallbackMethod>repeatOff</CallbackMethod>
</Action>
<Action id='repeatOne'>
<Name>Music Repeat One</Name>
<CallbackMethod>repeatOne</CallbackMethod>
</Action>
<Action id='repeatAll'>
<Name>Music Repeat All</Name>
<CallbackMethod>repeatAll</CallbackMethod>
</Action>
<Action id='repeatToVariable'>
<Name>Music Repeat State to Variable</Name>
<CallbackMethod>repeatToVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='repeatFromVariable'>
<Name>Music Repeat State from Variable</Name>
<CallbackMethod>repeatFromVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='eqSeperator' />
<Action id='eqStateOn'>
<Name>Music EQ On</Name>
<CallbackMethod>eqStateOn</CallbackMethod>
</Action>
<Action id='eqStateOff'>
<Name>Music EQ Off</Name>
<CallbackMethod>eqStateOff</CallbackMethod>
</Action>
<Action id='eqStateToggle'>
<Name>Music EQ Toggle</Name>
<CallbackMethod>eqStateToggle</CallbackMethod>
</Action>
<Action id='eqStateToVariable'>
<Name>Music EQ State to Variable</Name>
<CallbackMethod>eqStateToVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='eqStateFromVariable'>
<Name>Music EQ State from Variable</Name>
<CallbackMethod>eqStateFromVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='eqPresetSet'>
<Name>Music Set EQ Preset</Name>
<CallbackMethod>eqPresetSet</CallbackMethod>
<ConfigUI>
<Field id='preset' type='menu'>
<Label>Preset:</Label>
<List class='self' method='menu_eq_presets'/>
</Field>
</ConfigUI>
</Action>
<Action id='eqPresetToVariable'>
<Name>Music Current EQ Preset to Variable</Name>
<CallbackMethod>eqPresetToVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='eqPresetFromVariable'>
<Name>Music Current EQ Preset from Variable</Name>
<CallbackMethod>eqPresetFromVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='airplaySeperator' />
<Action id='airplayDeviceStatus'>
<Name>Music Airplay Device Status</Name>
<CallbackMethod>airplayDeviceStatus</CallbackMethod>
<ConfigUI>
<Field id='device' type='menu'>
<Label>Airplay Device:</Label>
<List class='self' method='menu_airplay_devices'/>
</Field>
<Field id='status' type='checkbox' defaultValue='true'>
<Label>Active:</Label>
</Field>
<Field id='volume' type='textfield' defaultValue='100'>
<Label>Percent Volume:</Label>
</Field>
</ConfigUI>
</Action>
<Action id='airplayDeviceAdd'>
<Name>Music Airplay Activate Device</Name>
<CallbackMethod>airplayDeviceAdd</CallbackMethod>
<ConfigUI>
<Field id='device' type='menu'>
<Label>Airplay Device:</Label>
<List class='self' method='menu_airplay_devices'/>
</Field>
</ConfigUI>
</Action>
<Action id='airplayDeviceRemove'>
<Name>Music Airplay Deactivate Device</Name>
<CallbackMethod>airplayDeviceRemove</CallbackMethod>
<ConfigUI>
<Field id='device' type='menu'>
<Label>Airplay Device:</Label>
<List class='self' method='menu_airplay_devices'/>
</Field>
</ConfigUI>
</Action>
<Action id='airplayDeviceToggle'>
<Name>Music Airplay Toggle Device</Name>
<CallbackMethod>airplayDeviceToggle</CallbackMethod>
<ConfigUI>
<Field id='device' type='menu'>
<Label>Airplay Device:</Label>
<List class='self' method='menu_airplay_devices'/>
</Field>
</ConfigUI>
</Action>
<Action id='airplayDeviceVolume'>
<Name>Music Airplay Device Volume</Name>
<CallbackMethod>airplayDeviceVolume</CallbackMethod>
<ConfigUI>
<Field id='device' type='menu'>
<Label>Airplay Device:</Label>
<List class='self' method='menu_airplay_devices'/>
</Field>
<Field id='volume' type='textfield' defaultValue='100'>
<Label>Percent Volume:</Label>
</Field>
</ConfigUI>
</Action>
<Action id='airplayDevicesGroup'>
<Name>Music Airplay Devices Group</Name>
<CallbackMethod>airplayDevicesGroup</CallbackMethod>
<ConfigUI>
<Field id='devices' type='list'>
<Label>Airplay Devices:</Label>
<List class='self' method='menu_airplay_devices'/>
</Field>
</ConfigUI>
</Action>
<Action id='airplayDevicesToVariable'>
<Name>Music Airplay Devices to Variable</Name>
<CallbackMethod>airplayDevicesToVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
<Field id='convert' type='checkbox' defaultValue='false'>
<Label>Convert?:</Label>
<Description>Convert to string to display in control pages.</Description>
</Field>
<Field id='convertHelp2' type='label' alignWithControl='true' defaultValue='none'>
<Label>Leave unchecked to use for restoring devices.</Label>
</Field>
</ConfigUI>
</Action>
<Action id='airplayDevicesFromVariable'>
<Name>Music Airplay Devices from Variable</Name>
<CallbackMethod>airplayDevicesFromVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='settingsSeperator' />
<Action id='currentSettingsDevicesToVariable'>
<Name>Music Current Settings to Variable</Name>
<CallbackMethod>currentSettingsToVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='currentSettingsDevicesFromVariable'>
<Name>Music Current Settings from Variable</Name>
<CallbackMethod>currentSettingsFromVariable</CallbackMethod>
<ConfigUI>
<Field id='variable' type='menu'>
<Label>Variable:</Label>
<List class='indigo.variables'/>
</Field>
</ConfigUI>
</Action>
<Action id='applescriptSeperator' />
<Action id='playApplescriptSpecifier'>
<Name>Music Play Applescript Specifier</Name>
<CallbackMethod>playApplescriptSpecifier</CallbackMethod>
<ConfigUI>
<Field id='applescriptLine1' type='label' fontColor='blue'>
<Label>tell application 'Music'</Label>
</Field>
<Field id='specifier' type='textfield' fontColor='blue'>
<Label fontColor='blue'> play</Label>
</Field>
<Field id='applescriptLine2' type='label' fontColor='blue'>
<Label>end tell</Label>
</Field>
<Field id='helpSeparator' type='separator' />
<Field id='applescriptHelp' type='label' defaultValue='none'>
<Label>Example:</Label>
</Field>
<Field id='applescriptExample' type='label' defaultValue='none' fontColor='blue'>
<Label> last track of playlist "My Playlist" whose loved is true</Label>
</Field>
</ConfigUI>
</Action>
<Action id='executeApplescriptText'>
<Name>Music Execute Applescript Text</Name>
<CallbackMethod>executeApplescriptText</CallbackMethod>
<ConfigUI>
<Field id='applescriptLine1' type='label' fontColor='blue'>
<Label>tell application 'Music'</Label>
</Field>
<Field id='applescriptText' type='textfield'>
<Label> .</Label>
</Field>
<Field id='applescriptLine2' type='label' fontColor='blue'>
<Label>end tell</Label>
</Field>
<Field id='helpSeparator' type='separator' />
<Field id='applescriptHelp' type='label' defaultValue='none'>
<Label>Example:</Label>
</Field>
<Field id='applescriptExample' type='label' defaultValue='none' fontColor='blue'>
<Label> duplicate current track to playlist named "My Favorites"</Label>
</Field>
</ConfigUI>
</Action>
</Actions>

Posted on
Thu Jul 09, 2020 5:11 pm
ppespepe offline
Posts: 49
Joined: May 27, 2020

Re: iTunes Local Control and Catalina

ohh... all the indentation disappeared... :(

Posted on
Thu Jul 09, 2020 7:52 pm
jay (support) offline
Site Admin
User avatar
Posts: 18199
Joined: Mar 19, 2008
Location: Austin, Texas

Re: iTunes Local Control and Catalina

Once we push the next release (hopefully a week or so) then I'll submit a patch to the plugin. I think I know how to tweak it but it'll require the workaround we're adding to head fake Catalina.

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Fri Jul 10, 2020 4:13 am
FlyingDiver offline
User avatar
Posts: 7189
Joined: Jun 07, 2014
Location: Southwest Florida, USA

Re: iTunes Local Control and Catalina

ppespepe wrote:
ohh... all the indentation disappeared... :(


That's why you need to use the CODE tags.

joe (aka FlyingDiver)
my plugins: http://forums.indigodomo.com/viewforum.php?f=177

Posted on
Sun Dec 20, 2020 11:21 am
blauhaus offline
Posts: 6
Joined: Mar 15, 2018

Re: iTunes Local Control and Catalina

Having recently migrated from an old iMac+ Mojave + iTunes to a 2018 Mac Mini + Catalina + Apple Music, I can confirm it worked to globally replace "iTunes" with "Music" in the plug-in's Python and AppleScripts. I also needed to give permission for the plugin to access Music using this tip from Matt: viewtopic.php?t=23619&p=192223#p189420
Happily controlling and streaming music again. Thanks to all of you in this great Indigo community! :)

Posted on
Wed Apr 28, 2021 3:08 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: iTunes Local Control and Catalina

I finally updated one of my machines and was able to test the plugin against Music.app. Just changed the applescript tell line depending on the macOS version number. Thanks to blauhaus for trying the global substitution method.

I've only spot-checked that everything still works, so it's not updated on the plugin store yet. Let me know if you encounter any issues.

The plugin still says "iTunes" everywhere in the action configs, log entries, etc., etc. iTunes 4eva!

You'll need to authorize Indigo to control Music.app


https://github.com/kmarkley/Indigo-iTun ... /tag/0.0.8

Posted on
Wed Apr 28, 2021 9:53 pm
jltnol offline
Posts: 989
Joined: Oct 15, 2013

Re: iTunes Local Control and Catalina

So glad you've had a chance to do some work on this. I'm up on Big Sur (yes, not "approved" but so far working fine with Indigo Server) and just did a super short test, and everything seemed find. will post more if I run into any issues.

THANKS!

Posted on
Thu Apr 29, 2021 10:00 am
jay (support) offline
Site Admin
User avatar
Posts: 18199
Joined: Mar 19, 2008
Location: Austin, Texas

Re: iTunes Local Control and Catalina

jltnol wrote:
I'm up on Big Sur (yes, not "approved" but so far working fine with Indigo Server)


viewtopic.php?f=2&t=24676#p202161 - consider that "approval".

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Thu Apr 29, 2021 10:05 am
rgspb offline
Posts: 217
Joined: Apr 24, 2009
Location: Florida

Re: iTunes Local Control and Catalina

jay (support) wrote:
jltnol wrote:
I'm up on Big Sur (yes, not "approved" but so far working fine with Indigo Server)


viewtopic.php?f=2&t=24676#p202161 - consider that "approval".


Great news!! All I’m waiting for is this particular plug-in to be official and I can switch everything over to my new(er) iMac!

Posted on
Sun Jun 06, 2021 9:03 am
yassi offline
Posts: 468
Joined: Sep 06, 2015
Location: Germany

Re: iTunes Local Control and Catalina

I can't get the plugin - 0.0.8, to work.
I've tried the trick Mat suggested (authorized Indigo to control Music, restarted the Indigo server), but it doesn't work.
Still get these errors:

Code: Select all
 iTunes Local Control Error      Error in plugin execution InitializeMain:

Traceback (most recent call last):
  File "plugin.py", line 12, in <module>
  File "/Library/Application Support/Perceptive Automation/Indigo 7.5/Plugins/iTunes Local Control.indigoPlugin/Contents/Server Plugin/iTunesAppleScript.py", line 96, in <module>
  File "/Library/Application Support/Perceptive Automation/Indigo 7.5/Plugins/iTunes Local Control.indigoPlugin/Contents/Server Plugin/iTunesAppleScript.py", line 23, in _make
  File "/Library/Application Support/Perceptive Automation/Indigo 7.5/IndigoPluginHost.app/Contents/Resources/PlugIns/applescript/__init__.py", line 49, in __init__
ScriptError: Expected end of line, etc. but found identifier. (-2741) range=78-83


Any ideas?
Attachments
Screenshot 2021-06-06 at 16.59.53.png
Screenshot 2021-06-06 at 16.59.53.png (21.39 KiB) Viewed 3162 times

Who is online

Users browsing this forum: No registered users and 1 guest

cron