iTunes Local Control and Catalina

rgspb
Posts: 238
Joined: Fri Apr 24, 2009 8:42 am
Location: Florida

iTunes Local Control and Catalina

Post by rgspb »

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
User avatar
Korey
Posts: 888
Joined: Wed Jun 04, 2008 11:47 am
Location: Henderson, NV
Contact:

Re: iTunes Local Control and Catalina

Post by Korey »

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
User avatar
jay (support)
Site Admin
Posts: 19232
Joined: Wed Mar 19, 2008 11:52 am
Location: Austin, Texas
Contact:

Re: iTunes Local Control and Catalina

Post by jay (support) »

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
kmarkley
Posts: 187
Joined: Tue Nov 15, 2016 8:04 pm

Re: iTunes Local Control and Catalina

Post by kmarkley »

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.
jltnol
Posts: 1162
Joined: Tue Oct 15, 2013 11:11 pm

Re: iTunes Local Control and Catalina

Post by jltnol »

Hope this one gets updated. There is a lot of flexibility here that is very useful.. :)
ppespepe
Posts: 51
Joined: Wed May 27, 2020 5:06 pm

Re: iTunes Local Control and Catalina

Post by ppespepe »

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>
ppespepe
Posts: 51
Joined: Wed May 27, 2020 5:06 pm

Re: iTunes Local Control and Catalina

Post by ppespepe »

ohh... all the indentation disappeared... :(
User avatar
jay (support)
Site Admin
Posts: 19232
Joined: Wed Mar 19, 2008 11:52 am
Location: Austin, Texas
Contact:

Re: iTunes Local Control and Catalina

Post by jay (support) »

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
User avatar
FlyingDiver
Posts: 7830
Joined: Sat Jun 07, 2014 10:36 am
Location: Southwest Florida, USA

Re: iTunes Local Control and Catalina

Post by FlyingDiver »

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
blauhaus
Posts: 6
Joined: Thu Mar 15, 2018 8:27 pm

Re: iTunes Local Control and Catalina

Post by blauhaus »

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! :)
kmarkley
Posts: 187
Joined: Tue Nov 15, 2016 8:04 pm

Re: iTunes Local Control and Catalina

Post by kmarkley »

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
jltnol
Posts: 1162
Joined: Tue Oct 15, 2013 11:11 pm

Re: iTunes Local Control and Catalina

Post by jltnol »

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!
User avatar
jay (support)
Site Admin
Posts: 19232
Joined: Wed Mar 19, 2008 11:52 am
Location: Austin, Texas
Contact:

Re: iTunes Local Control and Catalina

Post by jay (support) »

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
rgspb
Posts: 238
Joined: Fri Apr 24, 2009 8:42 am
Location: Florida

Re: iTunes Local Control and Catalina

Post by rgspb »

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!
yassi
Posts: 498
Joined: Sun Sep 06, 2015 7:14 am
Location: Germany

Re: iTunes Local Control and Catalina

Post by yassi »

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 4722 times
Post Reply

Return to “kmarkley's plugins”