Jump to content


Photo

Duplex: Layout For Mackie Control Universal Pro


  • Please log in to reply
14 replies to this topic

#1 Rent Demon

Rent Demon

    New Member

  • Normal Members
  • Pip
  • 9 posts
  • Gender:Male

Posted 21 March 2015 - 16:37

I finished my links between renoise and my MCU Pro this week.

 

Tough  i will share it if someone need...

If you are used of duplex you should know what to do with those files.

I use the actual duplex version ( not the beta), and i needed to modify 2 files in the Duplex code. Those files are under "core modifs" folder.

 

I couldn't make work the displays of the MCU for now. I'll keep invastigating for that, but i'm kind of pessimistic about the result.

 

Anyway this layout give me good controls during masterisation and live sessions too.



#2 Rent Demon

Rent Demon

    New Member

  • Normal Members
  • Pip
  • 9 posts
  • Gender:Male

Posted 02 April 2015 - 17:19

Hi to....myself apparently....as nobody seems to use Mackie Control with Renoise

 

Anyway, here's my status for now:

 

i finally succeeded sending sysex messages to the Main LCD display.

For now, i only display track names under "Mixer+Panning Configuration", and more interesting Effect Devices Names (works for VST's) with their params names and values, and also Presets numbers, soon preset names.

This (display implementation) was the most difficult part for me, but now that i'm sure i can display almost any Renoise Variable, so many ideas are coming to my mind...

 

I'm thinking of making a good suite for MCUPro with Duplex, with certainly its own 'Duplex Application File' so i'll not have to modify the core files at everyupdate! I want to modify the Effect App to control the Instrument FX devices, as it works only for Track Devices for now. I will probably use the NOW application as the MCUPro have many buttons that should be used. Some controls (buttons) will be duplicated in the diffferent config files like the transport ones. I also have some other ideas with the display, but i'm afraid the latency it generate will not allow much traffic!

 

Anyway, i'll not be able to code for 1 week, so any of you can make suggestions about the layout and/or the controls and/or displays, within my capabilities.

For Now, All faders are working, v-pot feedbacks also. Their feedback's CC indexes are offseted by 32 so that's the only reason i changed 'MidiDevice.lua'. I can display whatever i want on the main display. I didn't investigate deep yet about the 7 segments digits displays, only failed sending to the MCU some MMC clock frames. If you have any tips for using those 7segments please help me!



#3 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6473 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 02 April 2015 - 20:21

Wow, cool stuff. 

I don't know how many have such a controller, personally I'm only aware of Satobox' work on the (less involved) Mackie Control template. 

 

i finally succeeded sending sysex messages to the Main LCD display.

 

Great!!  I'm curious to see the implementation, as I've only got software based (tablet) controllers that could display text. 

Ideally (for Duplex anyway) the implementation details could reside in the MCUPro "driver" class. But this is of course something that would require a generalized way to send text, including how to specify special characters, linebreaks etc. In the longer term...

 

I'm thinking of making a good suite for MCUPro with Duplex, with certainly its own 'Duplex Application File' so i'll not have to modify the core files at everyupdate! I want to modify the Effect App to control the Instrument FX devices, as it works only for Track Devices for now. I will probably use the NOW application as the MCUPro have many buttons that should be used. Some controls (buttons) will be duplicated in the diffferent config files like the transport ones.

 

Applications are full featured lua files, having just an entry point (__init) and a few required methods. So yeah, it's certainly possible to sidestep the Duplex internals and communicate directly with the hardware (if this is what you intend).

However, you will miss out on various I/O optimizations - side effect being, that the Duplex core code can be quite hard to decipher...

 

 

I also have some other ideas with the display, but i'm afraid the latency it generate will not allow much traffic!

 

I would probably create a queue system, in which messages are scheduled for transmission and transmitted with regular intervals (lua has approx. 10 updates per second). This way, you'll avoid choking the bandwidth but of course, add a little bit of latency. Not that it should matter much when we're just talking about display updates? 

 

 

Their feedback's CC indexes are offseted by 32 so that's the only reason i changed 'MidiDevice.lua'

 

Incoming and outgoing CCs are not the same on the MCU? A more clean approach would probably be to overriding that particular MidiDevice method in a dedicated MCU class.

Device classes are located in the root of each controller folder, e.g. the Launchpad has a little extra code to handle color LEDs

 

 

I use the actual duplex version ( not the beta),

 

You are aware that the most recent beta has support for 14-bit CCs and NRPNs? Not sure if this applies to the MCU though, or if it's using pitchbend for those high-res sliders. Anyway, I'll give it a spin with the latest version too (0.9.5)


Tracking with Stuff. API wishlist | Soundcloud


#4 Rent Demon

Rent Demon

    New Member

  • Normal Members
  • Pip
  • 9 posts
  • Gender:Male

Posted 02 April 2015 - 21:11

Hi Danoise,

 

didn't find attachement file option on reply post....so i could send you my last progress..

 

You have to know that i'm not a programmer at all, so my code is very messy, and i try tones of thing before i make any little step!

There's no real implementation of sysex sending, i made it directly from the update functions of the applications i used for the test (effect & mixer).

 

I don't like that and i'm sorry, but that's the only way i understood for now.

I tried the 0.9.5 beta version, but my faders are not working sending in any "mode"(of fader type). So i did continue with the stable version.

 

Yes ingoing and outgoing CC only for v-pot are different. Don't know why but it is. I understand what you mean by overriding MidiDevice, but i don't simply know how to do that.

 

About the MCU Pro hardware itself, you cannot find at all any midi map. I've done tones of researches online and never found anything. I used MIDI-OX bridged between the MCU and Ableton, and i caught sysex strings "on the fly". After some tests i found the common pattern, and the starting position of the things you want to write.



#5 Rent Demon

Rent Demon

    New Member

  • Normal Members
  • Pip
  • 9 posts
  • Gender:Male

Posted 02 April 2015 - 21:47

stupid i am...here is the files... ^_^



#6 Rent Demon

Rent Demon

    New Member

  • Normal Members
  • Pip
  • 9 posts
  • Gender:Male

Posted 10 April 2015 - 18:24

ok here i am again....

 

i made some modifications on my code.

 

There is no "Duplex Files" modified anymore. All modifications for the LCD display are in specific applications for the MCU. The CC callback offset is directly managed in my MCUPro class.

 

So here i am so far :

- 2 modes (configurations) : Mixer and Effect

- Applications used : Switch Configuration, Transport, TrackSelector, many MidiAction.

- Applications created : Specific Mixer and Effect for managing displays.

- Almost all buttons assigned. Some will probably change in future when i'll make more modes.

- In "Mixer Mode": the V-Pots are used for tracks panning, the main dispaly shows track names (2 lines of 6 characters max for each track).

- In "Effect Mode": V-Pots are used for changing parameters, main display line 1 shows selected track name, selected device name, preset number and preset name. Line 2 shows parameter names up to each assigned V-Pot.

 

I'm still failing on using the 7 segments displays with MMC sync. Hope i'll find a way of using it some day...

 

 

Next goals:

- Use the 7 segments display for sync.

- Use more Applications (NOW, Repeater, Recorder, Rotate,...)

- Make it work with last Duplex Beta.

 

Files:Attached File  MCUPro.zip   50.88KB   137 downloads

 

 

 

 

 



#7 Rent Demon

Rent Demon

    New Member

  • Normal Members
  • Pip
  • 9 posts
  • Gender:Male

Posted 14 April 2015 - 20:04

Hi again,

 

made some test and found that the time counter of the MCU don't support any MTC or MMC protocol.

But i found a way to display numbers on it by sending midi messages (not sysex).

 

The thing is i don't have any idea how it can be possible to link MMC/MTC messages to those specific midi messages i found.

I may need some help from someone who had this knowledge.

Maybe Danoise ? ;-)

 

Here is what i found:

The MCU time counter is a succession of 10 digits. And the assignment zone is 2 digits.

 

If i send message "B0 40 31" --> displays "1" on last time counter digit (digit 10)

If i send message "B0 40 32" --> displays "2" on last time counter digit (digit 10)

..........etc

If i send message "B0 41 31" --> displays "1" on time counter digit 9.

........etc

If i send message "B0 49 31" --> displays "1" on time counter digit 1.

.......etc

If i send message "B0 4A 31" --> displays "1" on assignment digit 2.

If i send message "B0 4B 31é --> displays "1" on assignment digit 1.

 

 

So please folks i any of you got an idea how to send midi messages in real time according to song position and/or song timing, let me know so i can finish the complete support for the MCU.

Any tip is welcome!

Thanks!!


Edited by Rent Demon, 14 April 2015 - 20:12.


#8 Rent Demon

Rent Demon

    New Member

  • Normal Members
  • Pip
  • 9 posts
  • Gender:Male

Posted 16 April 2015 - 22:05

Ok Time counter is working now...

 

I made my own transport application with time counter display management....based on existing variables "bars", "beats" and "fractions". It's working as i wanted, only "fractions" displays are not refreshing quick enough for now while playback (working while navigating into the pattern lines).

This is for sure due to the update frequency that my application cannot follow. It's not a big problem for me, as i have most importants infos (bars and beats) working well...

 

I'm pretty satisfied by the different displays now (main led + time counter). I'll focus on adding existing applications into new configurations now...



#9 Palo van Dalo

Palo van Dalo

    Member

  • Normal Members
  • PipPip
  • 53 posts
  • Gender:Male
  • Location:Berlin

Posted 10 May 2015 - 11:04

Hey, I'm very interested in buying a one too. 

 

I am not far from building my own midi controller with an Arduino, but the Mackie looks like it fits my needs.

 

I need a Controller with dynamic labels, and also the ability to update the knob values from within the daw, 

 

for example : 
 

I'm on the first DSP (Filter) in a Track -> all parameters are displayed on the labels (also the correct values are set) on the mackie,

I'm switching to the next DSP (Delay) in the track -> all parameters of the new DSP are displayed on the labels (als the correct values are set) on the mackie,

I change a parameter in Renoise (GUI) and the parameter changes also on the mackie.

And of course I change a parameter on the mackie, the parameter will be updaten in Renoise :D

 

Is that possible right now? can it theoretically, I would help you coding of course.


Stepp0r | palovandalo.com

Linux User


#10 Rent Demon

Rent Demon

    New Member

  • Normal Members
  • Pip
  • 9 posts
  • Gender:Male

Posted 11 May 2015 - 17:29

Hey, I'm very interested in buying a one too. 

 

I am not far from building my own midi controller with an Arduino, but the Mackie looks like it fits my needs.

 

I need a Controller with dynamic labels, and also the ability to update the knob values from within the daw, 

 

for example : 
 

I'm on the first DSP (Filter) in a Track -> all parameters are displayed on the labels (also the correct values are set) on the mackie,

I'm switching to the next DSP (Delay) in the track -> all parameters of the new DSP are displayed on the labels (als the correct values are set) on the mackie,

I change a parameter in Renoise (GUI) and the parameter changes also on the mackie.

And of course I change a parameter on the mackie, the parameter will be updaten in Renoise :D

 

Is that possible right now? can it theoretically, I would help you coding of course.

 

All of what you said is working on my MCUPro with my Duplex modifications.

It is still not perfectly coded but it works (i mean i'm sure some of my code can be done in an easier way...).

As i prefer creating music than coding, i don't really know when i would take time for making it more simple. Anyway as it work as you asked (as i wanted!!), i'm satisfied for now.

 

Updates are working both ways "on the fly" (from renoise to MCU and from MCU to renoise to MCU). I display selected DSP Name, preset number, preset name, parameter names.

I don't diplay the values on the main screen but on my knobs lights. It was a better way for both refreshing time and space available on the main screen.

 

I recommend you to find an MCUPro (the grey one), as i'm pretty sure some midi notes and sysex messages will need to be changed for other versions. I got mine on ebay for 400€ and it work perfectly!

 

I'll post on this topic the last update when i'll reach home at the end of this week, so you'll be able to put an eye on it!


Edited by Rent Demon, 11 May 2015 - 17:31.


#11 Palo van Dalo

Palo van Dalo

    Member

  • Normal Members
  • PipPip
  • 53 posts
  • Gender:Male
  • Location:Berlin

Posted 14 May 2015 - 01:39

I found out the BCR2000 also would do it, without the labeling of course. I just wrote a small script which works fine on midi dumping. I think I'll use the BCR2000 because I'll get it for almost nothing. 

 

But maybe I'll buy myself a MCPro some day. 

 

Thank you


Stepp0r | palovandalo.com

Linux User


#12 dplduffy

dplduffy

    Member

  • Normal Members
  • PipPip
  • 13 posts
  • Gender:Male

Posted 09 July 2015 - 01:38

Hey Rent Demon,  do you have a current version of the code? or is that last .zip what you've got?  I'm thinking of using MCU to talk to my Ableton Push display and PXT General. I think your code would be a great place to start.

 

Thanks for what you've done!



#13 Rent Demon

Rent Demon

    New Member

  • Normal Members
  • Pip
  • 9 posts
  • Gender:Male

Posted 23 January 2016 - 12:03

Hi everyone,

 

sorry i didn't visit this page for a long time.

 

My MCUPro duplex implementation is working very fine since last posts, but i'm still using Renoise 3.0.1 with Duplex 0.99

 

I just tried to test it with Renoise 3.1 and Duplex 1.0 but i got some errors about some XPos nil value...

 

I may take a look at that in the next days, but as i'm not a real programmer i may be lost in my own code...lol...i don't even know how i succeded coding that last year.

 

Anyway if someone want to test it (remember RNS 3.0.1 & DPLX 0.99) i uploaded the files...

Attached Files


Edited by Rent Demon, 23 January 2016 - 12:05.


#14 beublo

beublo

    New Member

  • Normal Members
  • Pip
  • 9 posts

Posted 04 November 2017 - 13:36

Unearthing an old thread for my first post haha.

 

I'm just moving to Renoise and was worried my most expensive piece of gear, a Behringer X-Touch, would be next to useless, so I'm glad I found this thread. :)
'm going to take a look at your modifications and try and improve from that. I guess I'll post whatever I come up with, if I do, in case someone else is interested.



#15 pigdogs

pigdogs

    Member

  • Normal Members
  • PipPip
  • 21 posts

Posted 20 November 2017 - 15:09

I've got a Mackie MCU - so yeah.