Page 1 of 1

Midi Translator for Mac OS X?

Posted: Wed Oct 15, 2003 7:48 pm
by The Hulk
I know i posted this before, but got a relatively cool response. So in the hopes that someone knows of something... Anyone know of a program that will convert midi signals to keyboard commands (such as using a midi controller to delete clips in Live) in OS X? PC has Bomes...does mac have something? this would not be a hard program to create! (a shame i'm a pretty sucky programmer). Another option, within the context of Live, would be to add MIDI control to basic functions like delete. You listenen' alex?

Posted: Wed Oct 15, 2003 9:00 pm
by Guest
GO HULK! The whole time I've been using Bome's, and granted it works great, but you are right on--Live definitely needs to make the delete button midi mappable--it is ABSOLUTELY ESSENTIAL for live performance with Live with any stringed or percussion instruments, where you simply don't have an extra hand to hit buttons on the computer keyboard (like delete). Unless you are a robot, at some point recording a live clip you will make a mistake, and without a midi-controllable delete button to erase the mistake instantaneously and without stopping the sounds, or repeating the erronious clip, you are SCRWED on stage, and thats not good. I can't believe I didn't start this thread, but I heartily endorse it, PLEASE ABLETON! I came from the world of hardware loopers (jam man, echoplex, loop station, etc.) and they all have a delete/erase/ooops button built in. These devices are very simple compared to Live, yet contain a feature that is essential for live performance with two-handed instruments, and surprisingly Live doesn't have it. PLEASE!

Ryan

Posted: Thu Oct 16, 2003 12:18 am
by statik
Many people have requested this feature, and I couldn't believe it wasn't implemented in 3.0. This feature alone would have made me immediately purchase the latest version, but I probably won't be upgrading until it appears.

Posted: Thu Oct 16, 2003 7:28 am
by nickw
midipipe at http://www.versiontracker.com/dyn/moreinfo/mac/16154 will let you trigger all kinds of things from midi, including I think applescripts, I'm still playing with it but will post back when I have

Posted: Thu Oct 16, 2003 7:49 pm
by The Hulk
nickw wrote:midipipe at http://www.versiontracker.com/dyn/moreinfo/mac/16154 will let you trigger all kinds of things from midi, including I think applescripts, I'm still playing with it but will post back when I have
hmm, is there a way to call up the delete key with apple script? I suppose if we knew the script, we could plug it in...??

Posted: Thu Oct 16, 2003 9:33 pm
by Alex Reynolds
QuicKeys has this entry in its AppleScript dictionary:

playshortcut: Play shortcut by name
playshortcut named reference -- the object for the command

Therefore, the script:

tell application "QuicKeys"
playshortcut named "<delete>"
end tell

will issue a Delete key event to the OS X HID handler through QuicKeys.

You can use timing loops to stagger key press simulation events, or trigger this bit of code by other actions.

More about QuicKeys:

http://www.cesoft.com/products/quickeys.html

-Alex

Posted: Fri Oct 17, 2003 2:25 pm
by The Hulk
Alex, that program looks incredible! When I get some time i'm going to have to try that out! Do you use it? This is probably the answer to our problem (as well as opening up so many other possibilities!)

Posted: Fri Oct 17, 2003 6:55 pm
by Alex Reynolds
I don't use it with Live, so I can't say for sure that it will work as expected. But testing the demo may help:

-- http://www.cesoft.com/downloads/demos.html

Regards,
Alex

Posted: Fri Oct 17, 2003 7:13 pm
by nickw
it is possible to trigger the delete menu entry with applescript - it is slightly convoluted to setup, but you then have the ability to trigger any menu item with applescript.

The method I have works for 10.2.3 upwards (I've got it on 10.2.8)

Download and install the applescript GUI beta from

www.apple.com/applescript/GUI/

Install it as per instructions.

This script will delete a selected clip or clips in Live

if my do_menu("Live", "Edit", "Delete") is false then error number -128
if my do_menu("Finder", "View", "Clean Up") is false then error number -128

on do_menu(app_name, menu_name, menu_item)
try
-- bring the target application to the front
tell application app_name
activate
end tell
tell application "System Events"
with timeout of 300 seconds -- 5 minutes
tell process app_name
tell menu bar 1
click menu item menu_item of menu menu_name
end tell
end tell
end timeout
end tell
return true
on error error_message
return false
end try
end do_menu


You can substitute any menu and menu entry you want in the first line.
Compile this in script editor and your in business.
This could be triggered from midipipe, and voila.

Any questions let me know

Posted: Fri Oct 17, 2003 8:12 pm
by The Hulk
wow, that type of programming is, as of yet, beyond my scope of comprehension. on thinking about this, i'd sooner wait for ableton to implement a midi mappable delete function on clips then spend all that time and money just for that function! You listening Ableton? Midi-mappable delete option on clips!

Posted: Fri Oct 17, 2003 9:38 pm
by Alex Reynolds
The menu scripting is nice but highly version-dependent. If the target application of the script gets updated, menus may move around from one location to another, fubaring your script. The patois for this is difficult enough to code by hand as it is, as you've seen.

Ideally, Ableton would make their application scriptable. But it has historically been very difficult to get Mac-positive changes made to Live. We'll be waiting for v4 for performance fixes at least, let alone any other long-awaited improvements.

-Alex

Posted: Sat Oct 18, 2003 2:06 am
by bigbadotis
I'm worried that people might misinterpret what Alex said and think the Applescript GUI beta is not a valid workaround. It works great, even if it is not an ideal solution (as Alex pointed out).

I edited the script a little bit to try and make it easier to understand for non-Applescript people (i am not one either, but the script wasn't too hard to play with).

Code: Select all

on deleteClip()
	try
		tell application "Live"
			activate
		end tell
		tell application "System Events"
			tell process "Live"
				tell menu bar 1
					click menu item "Delete" of menu "Edit"
				end tell
			end tell
		end tell
		return true
	end try
end deleteClip

deleteClip()
Download the software and try it out. Thanks to nickw for pointing out that link, I'd been wondering if there was a way to do this since somebody pointed out how easy it was to do in Windows.

Posted: Sat Oct 18, 2003 10:13 am
by nickw
Yep apologies for cryptic nature of script, It was a quick bodge copy from the samples provide by apple with the beta without any tidying up.

I would be very suprised if this feature was not integrated into 10.3 so you could just call it straight in Applescript without having to install any extras.

If an application changes it is fairly trivial to change the script as the menus and menu items are all clled by name, just change the names in the script.

You could use this with midipipe to access any menu feature in Live that you can't get at from midi.

It would be great if Ableton integrated this into Live, but in the meantime if it is critical for what you want to do there are workarounds.