MidiPipe FAQ

Audio, MIDI and other software, not including effects or instruments
Post Reply
mykle
Posts: 1
Joined: 13 Nov 2005, 10:12
Location: portland

creating extra midi messages from an AppleScript Trigger?

Post by mykle » 13 Nov 2005, 10:23

hello Niko! i have been playing around with your excellent MidiPipe utility, and i hope it can help me solve a tricky midi problem.

i can't figure out how to use the AppleScript Trigger to add an extra message to the pipe. when i get a certain noteOn message, i want to pass it through but also insert a noteOff message for another note. i tried appending three more bytes to the returned message, but it didn't seem to work. and i don't see any examples of this in the example pipes directory.

the reason for this is, i'm trying to implement a midi monophonic note-holder; when i hit one note, it stays on until i hit a different note. maybe there's another way, but this seemed like it would be easy ... until i got stumped.

any advice from you or the forum would be appreciated. i think it's awesome that you make yourself so available to your users.

thanks very much,

-mykle-

nicowald
Posts: 82
Joined: 21 Apr 2003, 12:35
Twitter: nicowald
Location: Nordstemmen, Germany
Contact:

Post by nicowald » 13 Nov 2005, 10:44

mykle: try this script with "pass through" option set
on runme(message)
return {144,0,0}
end runme

you can return any type of list holding the bytes of the message you want to put into the pipe; if you put more than one message into the list a bug in MidiPipe prevents this "mulit"-message to be handled correct (so other tool ignore it), but the message will be send out (this bug gets fixed in the next release)

Regards, Nico
MidiPipe - route, map, filter, convert, display, and input MIDI messages in real-time
http://www.subtlesoft.square7.net

nicowald
Posts: 82
Joined: 21 Apr 2003, 12:35
Twitter: nicowald
Location: Nordstemmen, Germany
Contact:

MidiPipe V1.3.6 released

Post by nicowald » 17 Nov 2005, 07:55

What's new?
• extended "Message Factory" tool to support System Exclusive as trigger and trigger message as data source (requested by oink)
• fixed bug in "AppleScript Trigger" that prevented returning multi-messages (ex. return {144,0,64,145,64,64})
• added Plugin API for developers to create their own tools (BETA - please send me feedback)
• added Universal Binary to run on Intel architecture (not tested - please send me feedback)

Regards, Nico
MidiPipe - route, map, filter, convert, display, and input MIDI messages in real-time
http://www.subtlesoft.square7.net

oink
Forum Guru
Posts: 1116
Joined: 17 Sep 2002, 23:33
Location: Sydney Australia

Post by oink » 17 Nov 2005, 19:40

Thanks for the sysex functionality, Nico.
This really opens up a lot of possibilities with Logic :)

(I went a little overboard and made a 128 byte sysex parse pipe, but it takes an awful long time to load on my old machine. :roll:
Fortunately I don't really need one that big yet and am getting by quite well with 66 byte pipe. :)

crispyking
Posts: 2
Joined: 04 Oct 2005, 16:44
Location: Gulf Islands, BC Canada

plugin API

Post by crispyking » 19 Nov 2005, 11:03

The tool plugin API looks great, thanks nico! How do I get MidiPipe to load the compiled bundle? BTW, it wouldn't build with XCode 2.0 (that ships with Tiger), but it built fine with XCode 2.2.

-- Chris

darrenosxaudio
Posts: 1
Joined: 19 Nov 2005, 12:12
Location: los angeles
Contact:

Note-on to cc #?

Post by darrenosxaudio » 19 Nov 2005, 12:19

Hi Nico,
is it possible with Midipipe to have for example note c3 mapped to cc 100, c#3 mapped to cc 102, e3 to cc 99? i've been able to map the entire keyboard to one cc value, but not specific notes to specific cc values!

nicowald
Posts: 82
Joined: 21 Apr 2003, 12:35
Twitter: nicowald
Location: Nordstemmen, Germany
Contact:

Post by nicowald » 29 Nov 2005, 12:43

oink: there is room for optimization, could you send me your pipe, please?
crispyking: inside of the Contents folder of the MidiPipe.app package create a folder called "PlugIns" and put your plugin creation in there
darrenosxaudio: use a KeyMapper tool to map the notes you want to the CC # you want and then use a Message Factory tool to turn the Note On to a CC and use the 2nd trigger byte as CC #

Regards, Nico
Last edited by nicowald on 06 Jan 2006, 09:45, edited 1 time in total.
MidiPipe - route, map, filter, convert, display, and input MIDI messages in real-time
http://www.subtlesoft.square7.net

crispyking
Posts: 2
Joined: 04 Oct 2005, 16:44
Location: Gulf Islands, BC Canada

Post by crispyking » 30 Nov 2005, 10:03

Thanks Nico,
"Plugins" didn't work, but "PlugIns" did (different capitalization). Thanks for the SDK! That makes MidiPipe very powerful indeed!

-- Chris

oink
Forum Guru
Posts: 1116
Joined: 17 Sep 2002, 23:33
Location: Sydney Australia

Post by oink » 01 Dec 2005, 14:23

nicowald wrote:oink: there is room for optimization, could you send me your pipe, please?

Actually, I optimized myself. I made a single message factory tool for parsing a complete string, instead of a tool for each byte. (I didn't realize, at first, that one could do that. At least up to 60 something bytes.)
I'll send anyway. :)

broc
Posts: 87
Joined: 08 Jun 2004, 11:21

program change to channel change

Post by broc » 02 Dec 2005, 12:56

Most soft samplers don't respond to program change messages to switch between instruments on a given channel. For example, if you have an incoming MIDI stream containing program changes you can't use the sampler directly for playback like some GM sound module. A possible solution would be to use the program change messages as trigger to redirect the MIDI data stream to different channels.

I'm wondering if this basic problem could easily be solved with MidiPipe.

Thanks in advance.

herbst
Posts: 4
Joined: 10 Dec 2005, 16:24

Digital drums, MIDI and Mac OS X problems!

Post by herbst » 11 Dec 2005, 07:57

I just bought YAMAHA DTXPLORER drums, have a MIDISPORT 1x1 (M-audio) connected to my Mac (os 10.4.3). Technically everything works fine with no or very litte latency when I try to use an audio tool like Garageband
BUT the MIDI is not right configured. Will not match.

Some of the drums sounds correctly but others does not sound at all (but visual reacts in the Garageband's GUI), or is not the right sound.

How do I correct the MIDI output to sync with the MIDI my Mac grabs? How do I get the bass drum to sound like a bass drum and not like a snare drum?

I don't know if I can change the MIDI order in the hardware (cant find that in the YAMAHA manual) or if I can fix this in the MAC OS X- core settings or if I have to get another software that matches the MIDI data.

Is this something you can use MidiPipe for? How do I do then?

JoolsM
Posts: 12
Joined: 05 Nov 2002, 05:52
Location: UK

Post by JoolsM » 16 Dec 2005, 20:30

I just wanted to add my THANK YOU for midipipe - only just beginning to play with it, but it's already solved a stupid hassle that I've been living with for ages - not being able to use my USB keyboard controller and old external module to practice without starting up Logic Pro. Yeah I know I could do it without midipipe - but I'd rather click an icon than muck about with cables any day !

verytorpe
Posts: 1
Joined: 28 Dec 2005, 07:42
Contact:

Post by verytorpe » 29 Dec 2005, 03:22

I want to say thanks to nicowald too. it's a great tool! anyways, i miss a "make great song" or "instant hit creator" feature.

I got a question:

in the "message converter" you have the option of recognizing control change and a determined cc, and you can turn it into a program change. why can't i coohe which program change turn it into? and when sending program changes, why it's not possible to recongnize a determined program change? if i send different program change messages, they're recognized just like "program change" and they all receive the same processing

I'm not much into midi, probably it's a dumb question... keep the good work going! midipipe rules!!

nicowald
Posts: 82
Joined: 21 Apr 2003, 12:35
Twitter: nicowald
Location: Nordstemmen, Germany
Contact:

MidiPipe 1.4.0 released

Post by nicowald » 11 Jan 2006, 09:54

What's new?
V1.4.0 01/11/2006
• added "Monophonic" tool - make monophonic (requested by Wheat)
• extended "Velocity Modifier" tool to allow filtering (requested by Wheat)
• extended "Message Factory" tool to support all System Messages as trigger (requested by Chris)

crispyking: thanx, I corrected my post
broc: no, dynamic routing is not possible right now
herbst: the "Key Mapper" tool can solve your mapping issue
verytorpe: what you need is a different tool, "Message Converter" is for turning one message into another by changing only the type and leaving the other data of the message untouched

Regards, Nico
MidiPipe - route, map, filter, convert, display, and input MIDI messages in real-time
http://www.subtlesoft.square7.net

bof
Posts: 4
Joined: 16 Jan 2006, 09:43

Post by bof » 17 Jan 2006, 04:40

Is there a way to route individual input channels on a single input port to different output ports?

e.g.

USB 1 CH01 -> USB 1 CH01 (Thru)
USB 1 CH02 -> USB 2 CH01 (Mapped)
USB 1 CH03 -> USB 8 CH01 (Mapped)
USB 1 CH04 -> USB 1 CH04 (Thru)

etc.

Post Reply