Jump to content


Photo

New Tool Duplex: Xypad


  • Please log in to reply
23 replies to this topic

#1 danoise

danoise

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4356 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 20 December 2011 - 11:40 PM

Duplex XYPad (v0.98)

Download: Duplex 0.98 (including XYPad)

This tool is written for Duplex, the OSC/MIDI communication framework for Renoise.

Posted Image
Duplex comes with XYPad pre-installed for a number of devices


About XYPad
The XYPad application is designed to take over/auto-map any XYPad device in any
Renoise DSP Chain. You can control and record movement on the X/Y axis via
knobs, a MIDI keyboard's touchpad or an OSC device's accelerometer

* Free-roming mode
At it's most basic level, the application is targeting any XYPad that has been
selected in Renoise, freely roaming the tracks. It supports automation recording
as well - hit the edit-button, and it will record automation envelopes
(according to the selected mode in options)

Posted Image
Freely roaming the tracks, automatically mapping any selected XYPad along the way

Posted Image
Communication between Renoise and your controller is fully bidirectional


Locking to a device
While the free-roaming mode is useful, you also have the locked mode. This is
the complete opposite, as it will always target a single device, no matter the
track or device that's currently selected. The locked mode can either be set
by being mapped to a button, or via the options dialog. In either case, the
locked state of a device can be restored between sessions, as the application
will 'tag' the device with a unique name.

Blinking means 'nowhere to go'
If you select an unassignable (non-XYPad) device in free-roaming mode, and you
have assigned lock_button somewhere on your controller, the button will start
to blink slowly, to remind you that the application is currently 'homeless',
has no parameter to control.

Assign a unique name for each application
By selecting a different unique name, we can run multiple XYPad applications,
and each one will be controlling a different XYPad device. Even when you move
devices and tracks around, things should not break.

Navigation works across tracks
Finally, we can navigate between XYPad devices by using the 'next' and
'previous' buttons. Pressing one will search across all tracks in the song, so
we can putting our XYPad device in any track we want. In case we have locked
to a device, previous/next will transfer the unique name to that device (use
carefully if you have other locked XYPad devices, as this will overwrite their
names as well. I'm planning to avoid this in a future update).

Specially tweaked for grid/pad controllers
When you're using buttons to control an XYPad device, there is a slight amount
of variation applied, each time you hit the button. It's not enough to be noticeable,
but it will allow the XYPad to fire a signal on repeated hits, instead of just when
you hit _another_ button

Example song, how to get started
I've prepared a demonstration song that show how the XYPad application can be
used for controlling the Repeater device from a Launchpad controller.

Download example song (Renoise .xrns, 5.14 MB)

Loading the song with a Launchpad, you should a setup like the one in this image
The large green grid act as a repeater, and a crossfader between repeated and original sound
The smaller red grid act as a "pure" repeater, controlling division and mode
The three red buttons in the lower right corner are mode switches (basically, to get an OFF)

Detailed instructions:
* Install this tool
* Go to Tools menu > Duplex > Launchpad > XYPad
* In the Duplex Browser, click options
* Set all XYPad applications to "locked"
* Load the song, and have fun!!
  • 4

#2 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6032 posts
  • Gender:Male
  • Location:Borneo

Posted 21 December 2011 - 02:00 AM

Legendary work Danoise!

Although not that many pads, will you also do one for the Akai LPD8? Want to try it :drummer:
  • 0
Spoiler


Camping

#3 danoise

danoise

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4356 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 21 December 2011 - 02:30 AM

Thanks Jonas, and congrats on the new album BTW!! Splendid stuff, really Posted Image

Although not that many pads, will you also do one for the Akai LPD8?

Sure, question is how to setup such a thing? I'm looking at eight pads, 4x2, and a similar configuration of knobs. How do you want to use them?

I guess the minimum "usable" size for XYPad while running on pads/buttons would be two buttons, but this only provide you with one axis of movement. To be really useful, you need 2x2 (every min/max value covered), or more. Using it to control the repeater is cool, you could even fake the 4x2 pads to appear as if they formed one coherent array of eight pads. Uh, but if we use XYPad to control the repeater, we need a way to stop it as well Posted Image
  • 0

#4 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6032 posts
  • Gender:Male
  • Location:Borneo

Posted 21 December 2011 - 02:47 AM

Thnx for the album kudo's B)

Basically, I'm looking for a way to map the lpd's buttons to the repeater divisor blocks, something which isn't possible right now.

Maybe using Duplex, be able to have a knob on the lpd determining which part of the repeater-blocks you're controlling with the pads? So you can scroll though the blocks in steps of 8. But maybe I better wait till Dblue implements the mapping natively as this request doesn't fit the x/y pad control?
  • 0
Spoiler


Camping

#5 nightmorph

nightmorph

    Member

  • Normal Members
  • PipPip
  • 34 posts
  • Gender:Not Telling

Posted 21 December 2011 - 11:40 AM

niiiiiice! this looks like just the thing to try out with my monome's accelerometer...is it supported?
  • 0

#6 danoise

danoise

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4356 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 21 December 2011 - 11:52 AM

Maybe using Duplex, be able to have a knob on the lpd determining which part of the repeater-blocks you're controlling with the pads?

In the example song, I have mapped the 'pure' repeater XYPad so that the vertical axis represent even, triplet & dotted notes.
Since this done by adjusting the min/max value of each slider, I guess it would make sense for XYPad to be able to control those values too?

Also, if you prefer some divisor values over others (who wouldn't), one solution would be to use the LFO device to control the exact mode/divisor values.
So basically, signal flow for each axis could then become XYPad -> Custom LFO Envelope -> Repeater .

niiiiiice! this looks like just the thing to try out with my monome's accelerometer...is it supported?

Sorry, but I somehow completely broke monome support on my music-dev machine. Neither serialosc or monomeserial is working ATM. I think I need to reinstall my OS Posted Image
But yeah, this feature had the monome as inspiration. Now all we need is to support that device Posted Image



  • 0

#7 satobox

satobox

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1483 posts
  • Gender:Male

Posted 21 December 2011 - 02:07 PM

Maybe, can't add something like a "Just for Repeater" mode??
Today I've tried several layout (5 x 5, 5 x 7, 5 x 8...etc), but I cannot find the best one in order to push the aimed button on the Repeater GUI certainly. Sometimes the cursor moves even strangely.
So, it's good to add the mode which is fixed [3 x 8] buttons layout, and we can surely push the aimed button.
If such optimized mode for 3 x 8 grid buttons will come, I can set it to nanoKONTROL2 too. ;)
Is it hard??
  • 0

#8 danoise

danoise

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4356 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 21 December 2011 - 03:41 PM

Sometimes the cursor moves even strangely


May have to do with this Renoise bug/issue, might already have been solved for the next beta?

So, it's good to add the mode which is fixed [3 x 8] buttons layout

IMHO, that's too specialized. The XYPad is a generic application, running on handheld phones, MIDI knobs and buttons/pads, it's not a dedicated repeater-control.
But while XYPad will never beat a dedicated repeater application, one or two tweaks could still improve things for this particular purpose. For example, snap-to-center is built-in to the native XYPad device, but not yet supported in this application. But before implementing it, I really needed to get some basic feedback from you guys...

Edit: snap-to-center has been dropped, required features are still missing from the Renoise API.

Edited by danoise, 22 December 2011 - 12:21 AM.
Did my research

  • 0

#9 satobox

satobox

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1483 posts
  • Gender:Male

Posted 22 December 2011 - 12:05 AM

May have to do with this Renoise bug/issue, might already have been solved for the next beta?

Ahh, now I notice that I should set Dest. Max value properly like this.

repeater.png

I think it's enough to use Repeater on 3 x 8 or 5 x 8. B)
Still "Dotted" row doesn't move smoothly in beta3 though, we had better wait until beta4 will be released.
  • 0

#10 danoise

danoise

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4356 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 22 December 2011 - 12:18 AM

Basically, I'm looking for a way to map the lpd's buttons to the repeater divisor blocks


I think I have made something really useful for the LPD8 now.

Upper row (4 buttons) : adjust divisor
Lower row (4 buttons) : adjust all modes

This time, XYPad is using "Duplex sliders", so you're controlling X and Y independently.
As a bonus, each row can now reach 5 values instead of 4, as they are toggleable.
This is good news for 'mode', which has precisely 5 options Posted Image

Please download this specially-modified version of Duplex, and see how well it's working?
That version contained a BUG, new version is located here

Of course, the divisor min/max range is essential. This is a DSP Chain I found to work well:
Attached File  LPD8_DSPChain.xrnt   684bytes   108 downloads


Still "Dotted" row doesn't move smoothly in beta3 though, we had better wait until beta4 will be released.


Luckily it's just a visual/cosmetic thing that shouldn't have any affect on the playback Posted Image
  • 1

#11 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6032 posts
  • Gender:Male
  • Location:Borneo

Posted 22 December 2011 - 01:13 AM

Thanks Danoise! :drummer: Looks like just what I need :)

Been a while since I last used Duplex and am having trouble getting my lpd8 set-up atm, nothing is happening not matter what I try on the controller, clicking in the duplex browser does control the track dsp devices, but no bi-directional communication or control from the akai. Going through the manual in a minute, probably something simple...or maybe it doesn't work through a usb-hub?
  • 0
Spoiler


Camping

#12 danoise

danoise

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4356 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 22 December 2011 - 01:35 AM

Have you downloaded the right preset for the LPD8? It's located in the (/Presets) folder, but you need to go through the LPD editor to apply it Posted Image

Also, did you select the right input and output ports in the options dialog?
Defaults are "MIDIIN2 (AkaiLPD8)" but might not be the same on your system

If nothing seems to be received, try enabling the MIDI dump and look in the console. Any communication should be listed there...
  • 0

#13 satobox

satobox

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1483 posts
  • Gender:Male

Posted 22 December 2011 - 01:42 AM

Hey danoise,

it seems that nanoKONTROL2 also isn't lit on Duplex 0.98 b8. :huh:
I can control Renoise though.
  • 0

#14 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6032 posts
  • Gender:Male
  • Location:Borneo

Posted 22 December 2011 - 02:18 AM

Have you downloaded the right preset for the LPD8? It's located in the (/Presets) folder, but you need to go through the LPD editor to apply it Posted Image

Also, did you select the right input and output ports in the options dialog?
Defaults are "MIDIIN2 (AkaiLPD8)" but might not be the same on your system

If nothing seems to be received, try enabling the MIDI dump and look in the console. Any communication should be listed there...


I'm a midi noob and never have looked past ctrl+m and midi-learn, indeed had to dl the editor and import the preset then set the device to cc and now it works! :yeah: Didn't come across the preset loading thing in the manual btw so thanks for the heads up! Probably should have been obvious by now...

Instead of always defaulting to divisor 1/1, when tapping the top 4 pads on the lpd twice, could it be made so that the first pad selects 1/2 and on the second tap 1/1 (like it is now), the second pad selects 1/8 and on another tap selects 1/4 ......fourth pad selects 1/128 & 1/64?

This way all the divisors can be chosen, or maybe I'm missing that it is already possible?
  • 0
Spoiler


Camping

#15 danoise

danoise

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4356 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 22 December 2011 - 03:46 AM

it seems that nanoKONTROL2 also isn't lit on Duplex 0.98 b8. :huh:

Thanks for spotting that one. I had accidentally broken all outgoing CC messages in Duplex Posted Image

New version is up, sorry about the inconvenience. Pads should light up now?
  • 0

#16 satobox

satobox

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1483 posts
  • Gender:Male

Posted 22 December 2011 - 03:57 AM

Thanks for spotting that one. I had accidentally broken all outgoing CC messages in Duplex Posted Image

New version is up, sorry about the inconvenience. Pads should light up now?

Yes, thanks!! :)
  • 0

#17 Mooko

Mooko

    New Member

  • Normal Members
  • Pip
  • 7 posts

Posted 22 December 2011 - 12:09 PM

whoooo!
Thanks so much Danoise the XY pad with the Reapeter :drummer: :panic: :dribble: My renoise goes cr cr cr cr ccccccc crazy!!!!!! :yeah:
Thank you
  • 0

#18 satobox

satobox

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1483 posts
  • Gender:Male

Posted 26 December 2011 - 09:36 AM

Edit: snap-to-center has been dropped, required features are still missing from the Renoise API.

Hmm, I am slightly sorry that we cannot have this function.
So, is it impossible to add such like "momentary mode" currently?? (Repeater works only during a button being pressed, and as soon as a button is released, the mode parameter will be back to "OFF")

If there is such function, nanoKONTROL2 (3 x 8 buttons) will fit perfectly as a repeater machine... :( ;)
  • 0

#19 danoise

danoise

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4356 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 26 December 2011 - 10:46 AM

If there is such function, nanoKONTROL2 (3 x 8 buttons) will fit perfectly as a repeater machine...

It's possible to have OFF mapped, if you get creative with the tool. You already know how important it is that the XYPad min & max values are set to a sensible range?
Well, the launchpad preset/song comes with two XYPads, one is the repeater grid 8x3 and the other is just 1x3, acting as mode toggle, including OFF.

If you have a single button left, or are able to re-arrange your large XYPad to become 3x7 (I would skip the lower part, as I find that the 1/1 notes are less interesting than the rest), it's doable on the nanoKONTROL too.
The only real drawback is that you can't record the automation on two XYPads that are automating the same parameter.

PS: The reason that snap-to-center was dropped was, that it's not possible to obtain the reset values from the native XYPad device.
It would be much more elegant to access those values directly, instead of setting them via the application options...
  • 0

#20 satobox

satobox

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1483 posts
  • Gender:Male

Posted 26 December 2011 - 11:47 AM

Yeah, I know what you mean, but the method needs 2 fingers, doesn't it?? (toggle on, then toggle off action)
If I may say honestly, I want to use this app like KORG's Kaosspad (momentary action).

Anyway, now I understand why you've made such a unique layout for LaunchPad. ;) Indeed, it makes sense. :)
  • 0

#21 danoise

danoise

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4356 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 28 December 2011 - 01:35 PM

I want to use this app like KORG's Kaosspad (momentary action).

Even such a momentary action would still not make the XYPad into a perfect application for the repeater device.
When you are using the XYPad, you control a certain range:

<- X axis is divisor -------------------------------------->
[1/1 ] [1/2 ] [1/4 ] [1/8 ] [1/16 ] [1/32 ] [1/64 ] [1/128 ] Y axis is Mode/even
[1/1T] [1/2T] [1/4T] [1/8T] [1/16T] [1/32T] [1/64T] [1/128T] -//- triplet
[1/1D] [1/2D] [1/4D] [1/8D] [1/16D] [1/32D] [1/64D] [1/128D] -//- dotted

When the Y axis is mapped to a range which spans from even to dotted, we have no way to access "off" within that range.
So it's not possible to turn off the repeater since the reset is restricted to the same range as the device axes (try it for yourself; add an xy device and enable auto reset)

Anything in that example (well, anything I can think of) that would enable the XYPad to set the "off" state would IMHO be an unclean implementation.
The solution is of course to create a simple, dedicated application for the repeater, not cluttering the XYPad with features it doesn't really need.
  • 0

#22 satobox

satobox

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1483 posts
  • Gender:Male

Posted 29 December 2011 - 02:43 AM

Even such a momentary action would still not make the XYPad into a perfect application for the repeater device.
When you are using the XYPad, you control a certain range:

<- X axis is divisor -------------------------------------->
[1/1 ] [1/2 ] [1/4 ] [1/8 ] [1/16 ] [1/32 ] [1/64 ] [1/128 ] Y axis is Mode/even
[1/1T] [1/2T] [1/4T] [1/8T] [1/16T] [1/32T] [1/64T] [1/128T] -//- triplet
[1/1D] [1/2D] [1/4D] [1/8D] [1/16D] [1/32D] [1/64D] [1/128D] -//- dotted

When the Y axis is mapped to a range which spans from even to dotted, we have no way to access "off" within that range.
So it's not possible to turn off the repeater since the reset is restricted to the same range as the device axes (try it for yourself; add an xy device and enable auto reset)

Well, actually there is a walkaround for this. :P
Simply if we add 2 x 8 dummy buttons, nanoKONTROL2 will be able to be a tiny repeater machine, though in exchange for it, it may become limited Y axis range for other FX devices...

dummy-buttons.png

Also, as the other grid controllers have the ability to be mapped 5 x 8 too (APC, your LaunchPad config, for example), I still hope such a momentary behavior will be implemented in the future. I feel it's more intuitive.
  • 0

#23 danoise

danoise

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4356 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 29 December 2011 - 12:30 PM

Well, actually there is a walkaround for this

What you are suggesting is exactly what I want to avoid. I'm not going to do it. Sorry for being harsh, but the XYPad is about exploring the killer performance tool which is the native XYPad device. Forget about the repeater device, or be happy that the XYPad app is actually capable of controlling it (even if you have to use more than one finger).

I have suggested a dedicated app for the native Repeater device, but am not going to write it before dBlue has settled on the final specs.. Edit: Duplex Repeater has arrived, and is located here:
http://forum.renoise...uplex-repeater/


I still hope such a momentary behavior will be implemented in the future. I feel it's more intuitive.


Absolutely, once the API has the features we need it's going to arrive in XYPad too.
  • 0

#24 nightmorph

nightmorph

    Member

  • Normal Members
  • PipPip
  • 34 posts
  • Gender:Not Telling

Posted 06 March 2012 - 03:45 AM

the tool doesn't seem to respond to the X axis. i verified that my gs128 is sending X and Y coordinates once the tilt sensors are enabled, by running 'oscdump', but the Duplex app only shows movement in the vertical axis. the horizontal position is stuck all the way to the left, and no amount of tilting the monome moves it. the mouse works to move the graphical pointer around, but as soon as i let go, it snaps back to the left side of the display.
  • 0