|
|
|
Control Itunes With Midi?, Using a controller with iTunes? |
|
|
|
Mon 28 Feb 2005, 21:18
|
Newbie
Group: Members
Posts: 1
Joined: 28-Feb 05
From: Austin - US
Member No.: 61,525
|
Today I made MidiPipe control iTunes for me. This may be difficult to efficiently explain.
For my example, I'm going to assume a single midi input, using simple note-on commands to trigger the transport of iTunes
First..in MidiPipe set up a new Pipe. Add a Midi In tool, select your desired Midi Input.
Now add a Message Filter tool. In the Message Filter tool (do this after you've added it to your new pipe...) uncheck Note On/Off [ the filter allows any signal to pass that is not checked. The Idea here is to only allow note information to pass through - this is important, I'll explain why later ]
Now add the AppleScript Trigger tool to your pipe.
Here's what you need to know now...first..there is a sample script that comes in the tool. It will tell the finder to "say" MidiPipe and Rocks when you press the C5 and D5 keys of your midi keyboard. It does this through your computer speaker or sound card
But basically here is what's happening...MidiPipe is running the script between "on runme(message)" and "end runme" as a normal script, and it seems to run this script any and every time any midi input comes through the system. This is why I had you put the filter on, otherwise the script runs almost constantly depending on your midi setup, auto sensing, stuff like that.
So you MUST start the script with runme(message) and end the script with end runme for example....
runme(message) whatever your script wants to be, midi related or not end runme
Now, I know very little about MidiPipe or AppleScript. Here is what I did. I used the default script that triggers the finder to "say" something and changed it to make iTunes do something.
The "if statement" evaluates the "note on" info. 144 is the Note On command, 60 tells it which note (in this case, C5) and the last number is the velocity, all that matters is that it's above 0) so the if statement says...if C5 is hit..then do the following...
so here are two if statements, you have to follow apple script syntax...I did the editiing in the Script Editor just so I could see if there were errors, even though I couldn't test it. And in this post, the tabs aren't preserved, so copy this into Script Editor first before you try putting it into MidiPipe
on runme(message) if (item 1 of message = 144) and (item 2 of message = 60) and (item 3 of message > 0) then tell application "iTunes" play end tell end if if (item 1 of message = 144) and (item 2 of message = 62) and (item 3 of message > 0) then tell application "iTunes" next track end tell end if end runme
So how did I know what commands to send to iTunes? I used ScriptEditor to open the Dictionary for iTunes. Basically you can use play stop pause rewind fast forward back track next track for basic transport functions.
As for Midi Notes...60 = C5, 61 = C#5, 62 = D5, 63 = D#5....you get the picture. So from this you could construct a script that does just about anything that AppleScript can do from by firing midi notes. Obviously you can get even more complicated than that...but that's all I've done so far.
Peace James
|
|
|
|
|
Tue 1 Mar 2005, 06:38
|
Moderator
Group: Team
Posts: 508
Joined: 09-Jul 02
From: Sydney - AU
Member No.: 5,658
|
QUOTE (td3k @ Mar 1 2005, 12:34) My friends will be amazed and mystified. on a related note.... If you have a bluetooth phone and want to really impress your friends try Salling Clicker ($19.95) You can use the phone to control iTunes and even search for tracks by name, artist, composer, and album. When used with a Palm OS handheld or Symbian phone, upcoming tracks or album artwork is shown in your handheld's display! it can also control Keynote, PowerPoint, EyeTV, SlimServer, Mail, NetNewsWire, DVD Player, VLC, Preview, and more
|
|
|
|
|
|
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
|
|