MIDI and recording more than one device

Hi there :slight_smile:
We are using internally TWO in this project: Proof Of Performance , it is useful for rehearsals. We record performances data and then play it back in Two streaming to Unreal. Thanks for making this possible.
We are encountering a couple of challenges though.

  1. when creating a new MIDI namespace, it is not prepopulated like the default one. I dont seem to be able to get input into this created namespace. So I create two MIDI addresses, both with the default midi namespace but different input device in different midi channels.
  2. When trying to record both addresses in the timeline, 2 clips are generated but contains the same info.
    Am I doing something wrong?
    Project: https://www.dropbox.com/s/6ayyww7lnf4v7od/FOM_TWO_Bug.zip?dl=0


1 Like

Hi VanTA, welcome to the forum, awesome to see you’re using TWO for this project!

Indeed that’s how I imagined the recording and playback to be used, and how I’ve mainly used it myself. For rehearsing and testing with complex setups where you can’t keep all OSC data going all the time.

I have to confess I’ve not used the MIDI features of TWO nearly as much as the OSC functionality - which is why there may be a few more issues with it.

But I’ve been able to reproduce the bug you describe, and I can confirm TWO is definitely NOT behaving like it should!

I’ll fix it ASAP, and post here as soon as I have.


As far as possible workarounds, Maybe some translation to/from MIDI, so that TWO only deals with OSC, can be a way!

There’s e.g. this: OSC to Midi and Midi to OSC Convertor | Fred Rodrigues

I’ve found a few more when googling, but haven’t tested them recently.
I remember the Lemur daemon did something like this too.

1 Like

Oh, with some more testing, I found another workaround, and with it a very good indication of where the bug is:

If you set the devices and ports, save your project, close TWO, start it again, and open the saved project, it will correctly listen to the separate device and port pairs.

Here’s the separate tracks from Ableton working well over loopmidi, with TWO:

1 Like

Regarding your first question, on the custom MIDI namespace, that feature is working as intended for me.

FOM_Bug_Minimal_With_Custom_Namespace.zip (2.5 KB)

I’ve made a Minimal one, which only deals with Midi Note, and assigned it to the two “Addresses”:

Have you found the option to assign a namespace to an Address, in the “MIDI Address” property panel?

Second from the top, you click “Pick” and get the above dialog.

Ok Cool!
That seems to be working. Happy that it helped find the bug.

Is it also possible to use two Addresses with the same Namespace and the same device but different Midi channel? we were getting duplicates in that config as well.

Even better would be an address to be able to listen/record different MIDI channels.

Sure, thanks. The file you sent works.
The default midi namespace is already fully populated and that is why we use it. Creating a new one means adding each individual node manually, for notes is not an issue but CC is since theres 127.
Something like this would be nice:
Namespaces tab, click ‘New…’
‘MIDI Namespace’ button in the popup window could open a new pop up window with:
‘Copy nodes from:’ and a list of existing MIDI namespaces to select (including the default one).
That would save a lot of time, which in live environments is crucial.
Probably for OSC namespaces this would be useful too.

Is it also possible to use two Addresses with the same Namespace and the same device but different Midi channel? we were getting duplicates in that config as well.

That SHOULD work, but with the UI bug we found the saving of the changed settings might be broken.

From my testing the bug is just in the GUI - the changed choices are not properly set internally.

I’ve most likely found what it is - it’s a bug in the ChoicePropertyComponent in JUCE which I introduced when updating the JUCE version I used a (good) while back - I should update again, adapt to the new version.

So if I’ve understood it correctly it should work after the above fix - coming up.

Ilias B.

1 Like

Probably for OSC namespaces this would be useful too.

Since in Address you can use an existing Namespace, if I’ve understood it correctly, there’s the functionality already to re-use nodes if what you want is the full namespace.

Also, with the right-click pop-up there’s the full set of Cut/Copy/Paste commands, so you can create a new root node, and then copy-paste any nodes from existing namespaces into it - that should solve the use-case you describe if I understood it correctly, no?

1 Like

The bug proved to be much more of a “heisenbug” than I suspected. But I’m pretty sure I’ve made a build now that addresses it.

I’ve uploaded a build with the fix for Windows here: https://www.controlmedia.art/two_win/TWO-

If you have a moment and can test it I’d love to know if this fixes it also for you.
And if you’re on mac let me know, I’ll make a mac build with the fix ASAP tomorrow and link here.

Ilias B.

Looks like is working as expected.
Thanks a lot for the fix :))

1 Like

That’s good news then, thanks again for reporting the bug and for checking that it works for you now! I hope you keep finding TWO useful, and look forward to seeing you back on the forum :slight_smile:.

1 Like