Duplex Beta Versions

Hey I’m trying to create a Duplex preset for Akai MPK mini.

I’ve gotten the knobs to work, but the pads are still dead.

Heres tracing done on the job.

Broken Pads PAD-5 Pad-6 Pad-7 Pad-8 Pad-1 Pad-2 Pad-3 Pad-4  
  
RAW Push/Release: PAD-5 Pad-6 Pad-7 Pad-8 Pad-1 Pad-2 Pad-3 Pad-4  
  
MidiDevice: MPK mini received MIDI 90 30 12  
MidiDevice: MPK mini received MIDI 80 30 7F  
MidiDevice: MPK mini received MIDI 90 31 F  
MidiDevice: MPK mini received MIDI 80 31 7F  
MidiDevice: MPK mini received MIDI 90 32 10  
MidiDevice: MPK mini received MIDI 80 32 7F  
MidiDevice: MPK mini received MIDI 90 33 12  
MidiDevice: MPK mini received MIDI 80 33 7F  
MidiDevice: MPK mini received MIDI 90 2C 17  
MidiDevice: MPK mini received MIDI 80 2C 7F  
MidiDevice: MPK mini received MIDI 90 2D 12  
MidiDevice: MPK mini received MIDI 80 2D 7F  
MidiDevice: MPK mini received MIDI 90 2E E  
MidiDevice: MPK mini received MIDI 80 2E 7F  
MidiDevice: MPK mini received MIDI 90 2F 12  
MidiDevice: MPK mini received MIDI 80 2F 7F  
  
Stripped: 30 31 32 33 2C 2D 2E 2F  
  

Specifically the problem relies on the xml, I’d be very thankful if someone could resolve what I have to use in the <Param values="*"'s at Pad’s section.

Heres a little something from the Akai’s software [details=“Click to view contents”]

[/details]

I believe it has to do with how the messages are interpreted - to make something act as a button, the controller would need to output either maximum or minimum value (in this case, 127 or 0) as velocity.
Maybe that’s something you can work into the preset? I see you’ve got a .preset file next to the other files, and the editor seems to be quite capable.
If not (because switching controller presets constantly is a pain), perhaps we can find an alternative solution. I can at least show how to make it work…

If you open the MessageStream.lua file from the main Duplex folder, you’ll see a method called ‘input_message’, this is where Duplex look for the various supported events.

  
if (msg.value == msg.max) and (not msg.is_note_off) then  
 -- interpret this as pressed  
elseif (msg.value == msg.min) or (msg.is_note_off) then  
 -- interpret this as release  
end  
  

So, basically you could modify that first statement like this:

  
if (msg.value > msg.min) and (not msg.is_note_off) then  
...  
  

Hopefully, this should solve your problem by making any velocity which is greater than 0 become recognized as a pressed event.

I’m playing around with Recorder on my Monome 40h… I like it a lot!

One question. How do I delete my recordings?

“Manually” deleting the instruments that were created doesn’t work too well. The button that starts and stops recording doesn’t correspond to the slot it records to, it’s on the spot of the last empty slot before I deleted the instruments. So after six recordings I can’t do any more recordings on the same track.

Edit: Oh, deleting the entire track cleared that problem. Still it’d be nice if there was a way to delete individual recordings. Perhaps press and hold on the slot you want to delete?

Thanks man! I’m curious, there are many way to use this thing, do you care to tell how you’re using it?

Press and hold would seem reasonable, yes. Let me just put that one on the TODO list…

The Monome? I’ve mostly used it with MolarVSTi, which is kinda a step sequencer/clip trigger combined with a sample cutter/live looper.

Great!

I’m seriously considering to use Renoise for my live setup. :)

Yes, surely your contribution will become part of the next release. I’ve been on a bit of a time crunch lately, otherwise it would already be out there:-)

Hey, is there any support for the akai mpk25?

cheers

@Rootmitten: no, not as of yet. But several of the MPK25’s siblings are supported, so I’d say that it shouldn’t be too hard to support.

Look at the existing MPK49 device (Duplex/Controllers/Akai-MPK49), and you can see how it could be done?

i postet this one in tips and tricks:

and wanted to ask if something like this could be possible with the duplex or as a XRNX Tool

this would be a great tool i think, but i have absolutely nothing to do with lua scripting - it was just an idea because i like that tool but it only works with Synaptics touchpad and it is a bit tricky to use it as a standalone application, would be great to use for every renoise user

peace

Ps: maybe this fits also or better to ideas & suggestions - than to duplex than put it there :)

Can you commit your changes to SVN please?

I’ve got a disabled Duplex that I can not enable because the one in the repo is API 1.0

It’s much easier for me, and I’m assuming all SVN users, to roll back on a timestamp than it is to arse with a downloadable conflicting version.

In fact, it’s kind of wierd to me that you aren’t committing the changes. IMHO it’s deprecated.

Just commit it as you go, pretty please? It’s SVN. Better broken than stale.

I will simply publish the beta as it is tonight, because I’ve not had time to work on Duplex for the past couple of months. This is the reason the SVN has not gotten an update since the 2.7 - I couldn’t release Duplex before that, since it’s using API features which are unique to the 2.0 API.

Also, I’m a bit in doubt as to the best way to release the files in the future. Since Duplex is supposed to support every version of Renoise from 2.6+ and on, I’m maintaining multiple manifest files for this purpose.
But then I guess anyone who’s using the SVN (a.k.a. “bleeding edge” files), the standard practice would be to support the most recently released stable version. So, this means there would never be any Duplex updates on SVN while alpha, beta testing.

I don’t think anyone said you had to support multiple version of Renoise? IMHO let the 2.6 version rot in deprecated heaven. Same for future versions. Seems like an exercise in masochism?

For SVN, you make some valid points but that’s not how I remember it. The Lua API was not touched in the alpha testing until very last thing. The 2.0 API version bump and the beta were a few days apart. I also remember committing as soon as things were in beta and so did many others, so SVN for “stable” is questionable.

As an aside, is anyone gonna do a Faderfox LV3 template? Pretty please? :)

More info: http://createdigitalmusic.com/2011/06/faderfox-lv3-compact-boutique-controller-to-be-ableton-live-8-savvy/#more-19284

Cheers.

Ping pa ding ding dong put a donk dong yo ding dong yo…

SVN update?

Suggestion: Add the Live Looper script by IT-Alien to the Recorder.

Hi all,

I am quite a new -happy- user of Renoise, I have bought a Ohm64 controller last month and thus I’m using Duplex which is a great tool.
And I wanted to switch configuration directly from my device and so I’ve discovered Lua 2 weeks ago: I made some corrections in Duplex code because Midi mapping didn’t work for me and I have also created a new Application called SwitchConfiguration.

If some guys are interested, I put in this reply 2 .zip files containing these modification made from Duplex 0.97:

  • Duplex_MidiMapping_Correction.zip contains the correction for Midi mapping for switching configuration
  • Duplex_SwitchConfiguration_Application.zip contains the new Application named SwitchConfiguration and an example of configurations with Ohm64 device (it also contains the correction for Midi mapping)

Important Note: to create the SwitchApplication, I needed to modify the __init signature of Application objects. Indeed, I pass a reference of Browser instance to BrowserProcess and then a reference of BrowserProcess to Application instances. Thus I have modified all existing applications by changing their __init constructor… hum.

Quick installation instructions:

  • Install Duplex 0.97
  • Download one of the attached file (or both) and unzip somewhere on your hard drive
  • Replace the files located into the Duplex folder by the unzipped files
  • Start Renoise and launch by selecting Tools > Duplex > Ohm64Switch

Hope it can help…

Best Regards,

Welcome to the forums Sham, great first post :wink:

Like Jonas said, great first post!!

Wow, you have been modifying Duplex at the absolute ‘core’ level to pull this off. IMHO the Browser class is the most complex part, but perhaps you think otherwise now.
Can’t wait to check it out … a lot of existing device configurations could benefit from this

Thank you for your comments and glad to see that these few lines of code can be useful. :)

I usually use Python in my daily work and Lua syntax is not so far.

I have some other ideas for Duplex and I hope I will have the time to implement them. For instance, I would like to add a new feature in XML parser to unite functionally speaking e.g. no more need to use 2 Mixers in a configuration and thus offset could disappear. (could be nice for Effects also)

I will keep you up to date.
Thx again !
Best Regards,

Yeah, the offset is a bit of a hack really. At the time, I was helping another Ohm64 user to get the device running properly - before that, Ohm64 had very limited support. At the time, it seemed like a simple workaround, but it’s really a hackish solution that you’d have to repeat in every other application. The framework could deal with this sort of stuff, that’s really what it’s there for.

Btw: The MIDI mapping fix and the switching config app both look good. Thanks!!

Huge bump, since there’s a new version (0.98) out now!!

New features include sham’s modifications (SwitchConfiguration), and the massive new Notes On Wheels performance sequencer.

First post has been updated with download and descriptions. Enjoy!!