midimouse (Mac OS X)
[update]: Just released a beta version of midimouse 0.7 that will run on Mac OS 10.7 (Lion) and Mac OS 10.8 (Mountain Lion). Unfortunately some User Interface Elements and the Wii stuff weren't compatible, so I had to remove it. As I'm quite busy, this version hasn't been tested very well. (see Download)
midimouse is a small, easy-to-use and very simple program. It sends midi-controller-messages (CC) by moving the mouse over its (resizeable) window. While moving the mouse (with or without mouseDown) over the X-/Y-axxis, each axxis sends a CC, so you might send values within up to 4 configurable Controllers.
The default CC's are:
CC12 and CC13 for X/Y and
CC14 and CC15 for X/Y with mouseDown*
(* not available in “clickThrough”-mode)
So, what's it for if you've never heard of CC's?
You can make music with it! Just connect it as a MIDI-Controller to your hardware-synthesizers or software-programs (eg. Ableton LIVE, Propellerheads Reason, …) and you can control the effects by moving your mouse – on a small screensize or even also on full screen, if midimouse is in “click-trough” mode. It's like a virtual KAOSS-Pad!

Version: 0.7
System Requirements:
– midimouse 0.7: mac os x 10.7. or Mac OS X 10.8.
– midimouse 0.4 to 0.6: Mac OS X 10.4. to Mac OS X 10.6.8 (Universal Binary for PowerPC and IntelMacs)
– midimouse 0.1 to 0.3: Mac OS X 10.3.
(see below in the Download-Archive section!)
License:
Creative-Commons (by-nc-nd), that means free for private use and you are welcome to copy and share midimouse! Please ask before trying to use midimouse commercial (that means before you try to _sell_ midimouse, standalone or bundled; of course you might _use_ it for free on any occation).
Parts of midimouse are built upon the PYMIDI.framework from Pete Yandell. Thank you Pete!
Screenshot:
Download:
· v.0.7 beta: midimouse_110723_07b.zip (Mac OS 10.7. – 10.8. Intel)
Please leave a comment or contact me, if you have issues with this version or found a bug, older versions are still available below!
Archive (old versions):
· v.0.6: midimouse_071113_0.6.bC.dmg.zip (Mac OS 10.4. – 10.6. / PPC / Intel)
· v.0.4: midimouse_060316_0.4.dmg.gz (Mac OS 10.4. / PPC / Intel)
· v.0.3: midimouse_051111_0.3.dmg.gz (Mac OS 10.3. / PPC)
· v.0.2: midimouse_050310_0.2.dmg.gz (Mac OS 10.3. / PPC)
Version-history
· v.0.1: first beta-release (unstable)
· v.0.2: first stable release
· v.0.3: some bug-fixes, added “click-through-mode”, where the window is completely unresponsible for mouse-clicks. This version is compatible with Mac OS X 10.3.
· v.0.4: universal binary for IntelMacs and PowerPCs, added Quartz-Mode supporting quartzcomposer Visuals, some bugfixes, improved window-handling. This version needs Mac OS X 10.4.
· v.0.5: added ScrollWheel support and some minor modifications (never released)
· v.0.6: nearly completely rewritten, now document based application, added keyboard + Wii control (experimental), HID inspector
· v.0.7: fixed to run on Lion and Mountain Lion (10.7 and 10.8), removed WII support and deactivated some incompatible interface elements (HID inspector).
Original timestamp for this article: March 10, 2005 @ 20:31
46 thoughts on “midimouse (Mac OS X)”
Comments are closed.
if anyone is interested in a universal binary for intel-macs, please leave a message here!
So, here’s the universal binary and a demo-video.
Don’t hesitate to drop me a line if you have questions!
Enjoy midimouse 0.4…
midimouse is a small, easy-to-use and very simple program. It sends MIDI-controller-messages (CC) by moving the mouse over its window. […]
Stay tuned for midimouse 0.5 featuring ScrollWheel support!
If you own an Apple MightyMouse® or a Griffin PowerMate® this might be the tool you’re looking for to control your MIDI-tunes.
Anyone interested in beta-testing, please drop me a line!
source,
hi, is it possible to obtain the sourcecode somewhere?
don’t hasitate to contact me by mail,
thank you,
lucijan
Well, that depends on a couple of things… getting in mail contact with you…
Hello,
i am using midimouse with Ableton Live and it works great, very nice helpfull programm for laptop musicans. For further versions i would really love independent touchpad/ mouse controll if that would be possible.. so the touchpad could be used within midimouse and at the same time you could use the mouse to controll other parameters within the sequencer :)
thank you and good luck
would be nice to hear your response :)
DkQM
Hey DkQM,
although this is a nice idea, I don’t think it’s possible: because both the TouchPad and the Mouse control the cursor. This would require a deep system hack and would possibly make the computer unstable :-
If you’re searching for additional controlling possibilities of Live, check out http://www.midibox.org :)
Cheers, Michael
Hello there,
Thanks for the hint with midibox.
http://fingamidi.sourceforge.net/
This app only works up to OSX 10.3 but has the features i described…
thanks for that, DkQM. But as the page sais that it won’t work with “the new (Feb 2005) PowerBooks” and later models because “it relies on an ADB driver”. In other words: Fingamidi is a driver and therefore has a totally different concept than midimouse (as being a normal application)… and to be honest: developing system drivers (and reverse-engeneering proprietary protocols) is a pretty difficult thing (with a very time-limited value, as you can see) that should be done either very good or better not at all ;-)
Cheers, Michael
Hi all,
Has anyone connected the midimouse to Garageband yet? If so I’d be grateful if you could share how this can be achieved.
Cheers,
Fa:z
Hi Fa:z,
midimouse works out of the box. You don’t need to setup anything special in Garageband, just open the preferences in midimouse to select appropriate Controller-Numbers => eg. send CC7 to control the volume, CC1 to control the modulation…
If you want to trigger notes, you need some additional software, because midimouse just sends controllers (Controllers and NoteOns are different message types). Search for MidiPipe; you can convert nearly anything with this tool.
Hope this helps!
Cheers,
Michael :)
Thanks a lot Michael. This is so much fun!!!
andersrum wäre es mir lieber…
MIDI Signale auf die Mauskoordinaten legen. So könnte man sein MIDI-Keyboard als Joystick für Flugsimulatoren oder Redline nutzen.
I am new to this… Could you please write some short instructions on how to configure ableton live to be controlled by midmouse?
Thanks a lot..
Nevermind I found out…
In Live pref… I had to set midimouse to remote… than assignment to effects worked.
Hi Kugu,
just start midimouse and you will find one more (virtual) MIDI-Input Port. Please refer to your Ableton Live Manual (Available from the Help Menu), ’cause steps are different for different LIVE Versions.
After you enabled the midimouse port for remote control, you may assign the CC’s to nearly any LIVE function.
Please understand that I cannot provide step-by-step tutorials for any application, ’cause there are too many.
Regards,
Michael
Edit: Nice to hear, that you got it working ;)
Hi, I was wondering if you’d be happy to share your source code – I have an exciting project in mind incorporating the darwiin project and the wii remote framework to control MIDI CC in realtime with a wii remote – email me with your response!
thanks
Lak
Sources are on the way.
Btw, I plan to release midimouse 0.5 together with the sourcecode.
I don’t have no plans for a release date yet.
Regards,
Michael
What a lovely app! I would love to use this with traktor… does anyone know if and how this is possible.
Thanx a lot
Great software!
It would be a real burner if it would be possible to run multiple instances on a external monitor, or at the bottom of the screen.
i just tried out to use two instances but it did not work, one instance was simply not sending out midi-data … trying with ableton live…
could you add a function which makes this possible? i imagine a row of 5 or 6 midimouses under my ableton live, controlling filters and stuff – that would be awesome!
greetings, head
That’s a good suggestion, head!
It would require to make a document-based application. This way it would also be possible to store different setups as files which would make midimouse more flexible than storing overall preferences.
What I do also like on this approach: I did not release the 0.5 version with scroll-wheel support due to limitations of OSX that receives scroll events only for the active window; if there were multiple document windows, this limitation wouldn’t be that disturbing I guess…
I will add this for my to do list for the next update (though it may take some time, ’cause it requires rewriting larger parts of the application).
Grüße aus Nürnberg nach Dresden ;-)
Michael
I played around a bit and used my non existent coding skills to create 2 working instances of midimouse! (i got 5 instances to work, but only 2 of them are possible to send out midi-data)..
here is how i did it (and please tell me if this is against any ethics of coding or something, i mean changing code)
1. i copied the program-file and made a second “midimouse.app”, named midimouse2
2. i looked for the plist-file in the library (should be de.zeichensprecher.midimouse.plist) duplicated it, and renamed it (like de.zeichensprecher.midimouse2.plist)
3. now i went into the package contents of the midimouse2-app (the first instance will work with no hassle), i opened the info.plist-file, and changed the value “CFBundleIdentifier” to “de.zeichensprecher.midimouse2” (first there was no “2”, so it was getting values from the same plist-file as the first instance).
4. open both instances, configure the midi-assignments (i got cc 1 and 2 on the first one, and cc 3 and 4 on the second, both only working with pressed mousebutton)
now there is a new problem, i could not really solve till now:
the midi-data is coming from a port which is called midimouse – both instances would be sending data to it, but just one would “come trough”. the several instances are visible in ableton live, but only one sends data.
so i “kidnapped” the midi-data from midimouse1 and routed it to another channel (with the help of a programm called “midipipe”). that means i take the data from midimouse1 and route it to another midi-channel, while there is now “space” for midimouse2 to send on this channel…
but this only works with 2 channels :-(
anybody know how to get this working with more than 2 instances?
greetings to nürnberg (from klagenfurt, but dresden was a good guess, as i would be living there if there would not be my studies here in austria ;-) )
Quite tricky for someone with “non-existing-coding-skills” :D
You could also just open up the packages contents and directly start the Mac OS X resource (this way you can always start two instances of nearly any program), but as you already noticed, this won’t help you to get two different midi ports or different channels and I’m not sure if it’s a good idea to open up two identical virtual ports. Atm midimouse is sending on CH 1 only, and you cannot easily “hack” this, you need to change a lot of code lines. As I already said, I will add this for my to-do list to support document based setups for the next version; everything else would be ugly quick hacked.
I have nothing against doing thing like these, it’s your personal copy and you can do with it what you like, but I doubt it’s very stable this way ;-)
(I would also send you the sources, but I fear this is not a trivial task!, so I recommend to be a bit patient until I implemented this feature ;-)
Greetings to Klagenfurt! =)
(just thought Dresden ’cause I saw that on the imprint of the webpage you linked to your name)