Midi Slider control not retaining value -copies inaccurately to crossfade

Using the excellent MIDI Mapping tutorial By Matthew Regan, I was able to map my Akai MIDI MIX to the MIDI Map and have all the buttons and sliders responsive and saved into a custom .tox file

My goal is to control video projection interactively.

I loaded in a pair of videos for each of the 8 slider channels and connected them with a cross (fade)TOP

Then I took the MIDI MAP into a math CHOP so I could divide into 8 channels and specify the range from 1-127

I then connected each slider and a null - the programming remained accurate when checked with the Midi IN

Next I locked the Null and Attempted to connect the Null DATA from each slider to the Cross (fade) Top Cross control

I dragged the arrow from the null and set it to the relative path

op(‘null2’)[‘ch2n16’] is the read out,after the connection from slider 1 - but ch2ctrl20 is the actual value I viewed there.

Oddly op(‘null6’)[‘ch2ctrl20’] is the value displayed in Cross 5 - It works with Slider 1 but is linked to slider 5 ch2ctrl5

The system works, but I am leaving out a step or something else is affecting the programming result.

I have a great deal of experience with MIDI programming. This is my first Touch Designer project

I checked the Device Mapping to make sure my custom map was still active - check

Under Devices the sliders and buttons were still showing the same read out check

Over in MIDI In each slider code showed a clear response

Data cables showed communication -maybe a clue that all the cables show communication on each slider?

When I manually entered ch2ctrl20 in the Cross data field I received a red error

I am planning to do a lot of MIDI control programming this week to get 2 sets of 8 buttons, and 8 sliders to work properly.

It is essential that the careful MIDI map can be transferred to the CHOP without errors.

Perhaps my error was using the math as a router for all the sliders?

Thank you for solving my issue. I sincerely hope it is something really simple.

.

Hey @VIXmedia ,

The above description is a bit hard to follow, i’m not entirely clear of the issue. Based on my understanding of your case, you don’t need a separate null CHOP for each slider value. You can connect a single null CHOP to the Math CHOP, and then use this null CHOP’s channels in each Cross TOP. Further, you don’t need to lock the null CHOP, as that will lock the CHOP channel values in place.

I have attached a small example tox file with the potential workflow for your case of controlling Cross TOPs from MIDI controller sliders.

If the above example doesn’t solve your issue, can you attach a toe file demonstrating the issues you are running into?

Varad

base_MIDICrossFade.tox (3.6 MB)

1 Like

Thank you for the sample document – I will now go through this.

I thought the null could be compared to the system used in wordclock where the chain must be terminated in order to work properly. It seemed the Null marked the end of the chain of data.I will look at your example and correct my errors.

You don’t need to use the null CHOP to terminate a network. The null CHOP is useful for cases like when you want to reference the chop channels in other operators, like the Cross TOP in this case, as it avoids having to update the references like op(‘null1’)[‘s4’] if any operator is added before the null, like a math CHOP.

1 Like