MidiPipe FAQ

Audio, MIDI and other software, not including effects or instruments
Post Reply
Rogue
Site Supporter
Posts: 465
Joined: 28 Dec 2002, 08:34

Post by Rogue » 22 May 2004, 03:44

nicowald wrote:Rouge:
I was working on your script when I noticed the crash bug in V0.9.2 -- I had to fix that first.
Hi Nico,
no prob I had to ressucitate my ibook in the meantime so no downtime here... besides that was quick anyhow.

1) I had tried that and it didn't work with 0.9.2 (would only transpose up).
unless I forgot to change all instances to the negative value but being drums I think I would have noticed different instruments. will try again.

2) great!

3) that's what I feared. no noticeable latency with the single script though so I 'm pleased :)

I'm planning to release the script on the Toontrack's website at the end of the weekend (if I manage to get it where I want it to that is) and will suggest donations so hopefully 'plenty' of virtual money coming your way!
Toontrack Crew Member

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

MidiPipe V0.9.4 (beta) released

Post by nicowald » 10 Jun 2004, 11:59

What's new?
V0.9.4 (beta) 06/10/2004
• fixed incompatibility with Mac OS X 10.2 when loading a saved pipe
• added preference panel with "hide after launch" option

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

willspence
Posts: 3
Joined: 14 Jun 2004, 19:15

How to save pipes

Post by willspence » 14 Jun 2004, 19:39

Cool app! works great, but how do I rename the pipe (as shown in the right pop-up)? Also, I guess it's always Save As.., with no awareness that you're editing a previously saved file?

Suggestion- how 'bout a 'QWERTY INPUT' module that would convert mac keyboard input into program changes, etc...?

Bill Spencer
I'd give my right arm to be ambidextrous...

willspence
Posts: 3
Joined: 14 Jun 2004, 19:15

How to save pipes

Post by willspence » 14 Jun 2004, 19:43

Cool app! works great, but how do I rename the pipe (as shown in the right pop-up)? Also, I guess it's always Save As.., with no awareness that you're editing a previously saved file?

Suggestion- how 'bout a 'QWERTY INPUT' module that would convert mac keyboard input into program changes, etc...?

Bill Spencer
I'd give my right arm to be ambidextrous...

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

Post by nicowald » 15 Jun 2004, 07:47

Bill:
- a pipe can be renamed in the text field that shows the name (click once)
- yes it's a "Save As.." for now ("Save" will be added soon)
- "QWERTY INPUT" is possible with the "Keyboard" tool (click the keyboard area once)
- use the "Message Converter" tool to convert the output of the "Keyboard" tool to program changes ..

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

dbudde
Posts: 167
Joined: 10 Nov 2002, 10:57
Location: Seattle

Question about iTunes and Midipipe

Post by dbudde » 16 Jun 2004, 05:17

Is it possible, given that Quicktime and Midipipe both support scripting, to have midi files that are playlisted in iTunes to output to an external midi device. One of my pet peeves about OS X is Apple removed the external midi device functions from the Quicktime music preferences.

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

Post by nicowald » 17 Jun 2004, 08:57

dbudde: you already pointed out the problem and I have no workaround for this -- we have to wait until Apple brings back the external MIDI output to Quicktime
One idea though: It would be possible to write an AppleScript app that checks what iTunes plays, if its a MIDI file it could stop iTunes and might be able to launch the file in a player app that can route to external devices (MidiPipe currently can't play back MIDI files)
MidiPipe - route, map, filter, convert, display, and input MIDI messages in real-time
http://www.subtlesoft.square7.net

dbudde
Posts: 167
Joined: 10 Nov 2002, 10:57
Location: Seattle

Post by dbudde » 17 Jun 2004, 11:21

Nico, thanks. This is what I suspected. What I wasn't sure of was whether or not there was some scripting capability allowed you to reroute the output to something other than the quicktime synth.

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

Post by nicowald » 19 Jun 2004, 10:46

Hi cweise,

it took me a month but finally I found time to answer your questions:

--Open MIDIPipe (I know I can do this part)
--Automatically have it start listening for/storing incoming MIDI data
in your launch-script simply open the .mipi file, it will launch MidiPipe
--On mouseClick (or some signal that the user's finished):
----Stop listening
the AppleScript currently waits for a program change message; you can change that but the signal has to be in the midi stream
----Parse so just NOTE ON's are kept
----Copy the Note #'s (as text) to the clipboard (or a variable that can be passed back to Rev via AS)
the script outputs something like this to the clipboard: "C1, F#3, G6" -- by editing the AppleScript you can change the output format
----Quit
it's included in the script, but currently disabled (by placing "--" at the beginning of the line) for better testing
--Run in the background, if possible (nothing wrong with seeing the MPipe screen, mind you, just might confuse the user a little...).
since MidiPipe 0.9.4 there is a Preference setting "hide after launch" which should do what you need

here is the script for the "AppleScript Trigger" tool in MidiPipe:

---
-- this script records all Note On messages on channel "fromChannel" to "toChannel" and puts them into the clipboard after a program change message is received
property fromChannel : 1
property toChannel : 16
property myData : {}

on runme(message)
if ((item 1 of message >= (143 + fromChannel)) and (item 1 of message <= (143 + toChannel))) then
if (item 3 of message > 0) then
-- note on
set myDataRef to a reference to myData
copy (item 2 of message) to the end of myDataRef
else
-- note off
end if
else
if ((item 1 of message >= (191 + fromChannel)) and (item 1 of message <= (191 + toChannel))) then
putIntoClipboard()
--tell application "MidiPipe"
--quit
--end tell
end if
end if
end runme

on putIntoClipboard()
set outText to {}
set outTextRef to a reference to outText
set numItems to length of myData
if (numItems > 0) then
if (numItems >= 2) then
repeat with n from 1 to (numItems - 1)
copy {convertValueToKey(item n of myData), ", "} to the end of outText
end repeat
end if
copy {convertValueToKey(item numItems of myData)} to the end of outText
end if
set the clipboard to outText as string
set myData to {}
end putIntoClipboard

on convertValueToKey(value)
set keyNumber to (value mod 12)
set octaveNumber to (value div 12)
if (keyNumber = 0) then set keyName to "C"
if (keyNumber = 1) then set keyName to "C#"
if (keyNumber = 2) then set keyName to "D"
if (keyNumber = 3) then set keyName to "D#"
if (keyNumber = 4) then set keyName to "E"
if (keyNumber = 5) then set keyName to "F"
if (keyNumber = 6) then set keyName to "F#"
if (keyNumber = 7) then set keyName to "G"
if (keyNumber = 8 ) then set keyName to "G#"
if (keyNumber = 9) then set keyName to "A"
if (keyNumber = 10) then set keyName to "A#"
if (keyNumber = 11) then set keyName to "B"
return {keyName, octaveNumber}
end convertValueToKey
---

Happy MidiPipeing!

Regards, Nico
Last edited by nicowald on 22 Jun 2004, 12:38, edited 1 time in total.
MidiPipe - route, map, filter, convert, display, and input MIDI messages in real-time
http://www.subtlesoft.square7.net

cweise@jcsu.edu
Posts: 2
Joined: 21 May 2004, 11:37

Post by cweise@jcsu.edu » 22 Jun 2004, 10:13

Hi cweise,

it took me a month but finally I found time to answer your questions:
Wow! This looks phenomenal! Thanks a million, and don't worry about the wait--it's well worth it. I'll start playing with this tonight and let you know how it works. If you're into high-brow serial stuff (in any equal tuning system), let me know and I'll send you a copy of my app when it's ready... :lol:

Thanks again,
CCW
CCW
Composer of Really Strange Stuff
Charlotte, NC

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

Post by nicowald » 22 Jun 2004, 12:40

I just fixed my previous post. By pasting the script all ">=" and "<=" changed to "?". Now it should work.
Regards, Nico
MidiPipe - route, map, filter, convert, display, and input MIDI messages in real-time
http://www.subtlesoft.square7.net

Jason Hyerstay
Forum Guru
Posts: 1673
Joined: 05 Mar 2003, 01:43
Location: Vermont

Post by Jason Hyerstay » 22 Jun 2004, 16:44

I would recommend checking out Cambridge Soundwork's Model Twelve. Its sub is a case that holds the amp and the satellite speakers. It gets good reviews.

http://www.cambridgesoundworks.com/stor ... type=store

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

MidiPipe V0.9.5 (beta) released

Post by nicowald » 17 Jul 2004, 12:30

What's new?
V0.9.5 (beta) 07/17/2004
• added "SMF Player" tool - plays up to 128 MIDI Files; handles Song Select, Start/Stop/Continue messages
• added "Save" to the file menu
• "MicroTuner" tool now uses channel 1 to 9 and 11 to 13 (skips channel 10 which some synths reserve for drum kit)

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

dbudde
Posts: 167
Joined: 10 Nov 2002, 10:57
Location: Seattle

Post by dbudde » 17 Jul 2004, 13:22

Thanks for the SMF player. Question though...is doesn't seem to save the list of files loaded in the SMF Player when you save the mipi file. Is there something special one needs to do to accomplish this?

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

Post by nicowald » 18 Jul 2004, 00:16

dbudde: the SMF Player tool (if located in a pipe) saves the list (including the MIDI files) into the .mipi file -- if it doesn't work for you, please send me the .mipi and the MIDI files and I'll take a look.
Anybody else with the same problem?

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

Post Reply