midi output of kboom2 tool

26 views
Skip to first unread message

Hank Warden

unread,
Apr 29, 2020, 4:44:24 PM4/29/20
to KeyKit
Hi Tim,

First of all, thank you for your help with the expresso tool, that answered both questions.

Another keykit user that I work with has added more features to the process file of the ginsu tool, similar to the edit functions of the group tool.  He uses it mainly for his keyboard synth, however we both use it for manipulating 
 
the midi stream from the kboom2 tool.  Currently we are using two instances of keykit, routing the output from kboom in the first instance to the ginsu tool(s)in the second.  Ideally, it would be nice to use only one instance  of keykit.

1.  It looks as though you can have multiple input and output ports available, but only map one input and output at a time.  Is this correct?

2.  The output of kboom appears to be realmidi(p,tm) in the method task_kbbeat(starttm) .  Could a statement be added to direct it to the input port, for my use would be "loop midi input"?  If this works, it could be commented out when not needed.

Thank you for your help as always,

Hank

Tim Thompson

unread,
Apr 29, 2020, 9:16:50 PM4/29/20
to Hank Warden, KeyKit
Addendum - the .port attribute also lets you control which port things will be sent to when you generate MIDI output, and midi("output","list") will give you the output port numbers.

     ...Tim...

On Wed, Apr 29, 2020 at 3:44 PM Tim Thompson <m...@timthompson.com> wrote:
>  1.  It looks as though you can have multiple input and output ports available, but only map one input and output at a time.  Is this correct?

The Tools1 -> Portmap GUI tool gives you a simple way of controlling the default ports, but in Tools2->Portmap Complete you'll find a tool that lets you control more of the underlying port mapping functionality, such as letting you route specific channels to specific ports.  The function in the underlying language that lets you control all this is

     midi("portmap", inputport#, channel#, outputport#)

For more description, see the doc/multiport file which documents this.

>  2.  The output of kboom appears to be realmidi(p,tm) in the method task_kbbeat(starttm) .  Could a statement be added to direct it to the input port, for my use would be "loop midi input"?

By default, MIDI input on all ports is read, but .port is a numeric attribute of all notes, so you can easily determine which port it came in on and filter appropriately.  You can get a list of the port numbers and their readable names with midi("input","list").  You can have different tools listen simultaneously (and filter independently) by using the Midiin array - any entries in that array are fifos to which all MIDI input is sent (at least, I think that's how it works).

For convenience, the global Filter variable lets you filter specific types of input messages (across all ports).

I assume this will let you do what you want in a single keykit instance.  Thanks for the questions!  It's fun being reminded about this stuff!   :-)

     ...Tim...


--
You received this message because you are subscribed to the Google Groups "KeyKit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to keykit+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/keykit/b328a698-02f4-4bc2-a585-b30908e48a44%40googlegroups.com.

Tim Thompson

unread,
Apr 29, 2020, 9:16:50 PM4/29/20
to Hank Warden, KeyKit
>  1.  It looks as though you can have multiple input and output ports available, but only map one input and output at a time.  Is this correct?

The Tools1 -> Portmap GUI tool gives you a simple way of controlling the default ports, but in Tools2->Portmap Complete you'll find a tool that lets you control more of the underlying port mapping functionality, such as letting you route specific channels to specific ports.  The function in the underlying language that lets you control all this is

     midi("portmap", inputport#, channel#, outputport#)

For more description, see the doc/multiport file which documents this.

>  2.  The output of kboom appears to be realmidi(p,tm) in the method task_kbbeat(starttm) .  Could a statement be added to direct it to the input port, for my use would be "loop midi input"?

By default, MIDI input on all ports is read, but .port is a numeric attribute of all notes, so you can easily determine which port it came in on and filter appropriately.  You can get a list of the port numbers and their readable names with midi("input","list").  You can have different tools listen simultaneously (and filter independently) by using the Midiin array - any entries in that array are fifos to which all MIDI input is sent (at least, I think that's how it works).

For convenience, the global Filter variable lets you filter specific types of input messages (across all ports).

I assume this will let you do what you want in a single keykit instance.  Thanks for the questions!  It's fun being reminded about this stuff!   :-)

     ...Tim...

On Wed, Apr 29, 2020 at 1:44 PM Hank Warden <hankw...@outlook.com> wrote:
--
Reply all
Reply to author
Forward
0 new messages