New Tool (2.8): Cells! 2.0

i’m pretty impressed.

one bug found, right click track, select ‘render track as repitched loop’…

'C:\Users\peter\AppData\Roaming\Renoise\V2.8.0\Scripts\Tools\com.mxb.Cells.xrnx\' failed to execute in one of its menu entry functions.  
Please contact the author (Martin Bealby | mxb ( for assistance...  
.\extras/PatternRendering.lua:103: attempt to index global 'preferences' (a nil value)  
stack traceback:  
 .\extras/PatternRendering.lua:103: in function 'render_pattern_to_sample'  
 .\extras/PatternRendering.lua:205: in function <.><br>```


Super sexy.

Just something i have noticed: It would be handy to have GetValueOfSomething() for the methods exposed to the controller implementation class. I could of course do own housekeeping inside the class, but having “get” functions would make writing support for endless encoders for example more readable and would take away a bit from the complexity.

Thanks for the bug report, I’ll look into it.

So am I! Anyone up for making one?

This is the same bug as reported earlier. See post #14 - basically, open the preferences dialog first as a work around for now.

Makes sense, I’ll look at adding it at some point.

Are you making some controller definitions? If so, excellent!

Not right now yet… i’m working on a low level framework for the Korg microKONTROL, mainly for own applications but it could be used for Cells too or probably also Duplex in some way. Deciphering that MIDI implementation is quite some pain though. :D

Sounds good.

You do have this don’t you: microKONTROL_MIDI.pdf

Agree with BeatSlaughter on the ability to detect some of Cells! values from a controller’s point of view. Look in the launchpad.lua file, and you’ll see a number of places where I complain about such missing inquiry methods (and also mxb didn’t get around to removing my debugging statements. Sorry about that :slight_smile:

Ideally you wouldn’t need to know anything about the internals of Cells, but have something like a generic class you could extend as needed.
Edit: by “generic class”, I simply mean a controller template that doesn’t do anything but have all the info & methods you would need to get started.

I have a question about the Launchpad support: How is the setup supposed to be?
Should the Launchpad be set as a Midi device in preferences or must i not set it, like in Duplex?
Also, in the Cells! preference menu, should i set “Lauchpad/Launchpad/Launchpad” ?
(I suppose it means “Input device/Controller type/Output device”?)

Either way, my Launchpad stays dark… :unsure:

tldr: Launchpad not working ;)

No, Cells is using it’s own controller framework so you don’t need (shouldn’t) select the launchpad in the Renoise prefs.
Strange that it’s not working (works fine here). I’ll double-check when I get home tonight.
Edit: Checked again, and here the Launchpad works fine. So, I’d be interested to hear if anyone else experience the same problem (also, I’d like to hear if it’s working)

Oh, and a general advice: since Cells! is using the topmost buttons on the Launchpad you definitely want to disable the automap software for it, or it would conflict. Simply press User2 + Down arrow :slight_smile:

Really beautiful! Thanks!!!

Maybe it’s because i’m on XP? I remember a discussion concerning duplex, that 7 somehow enumerates the Launchpad, and XP doesn’t. Something like that, i don’t remember exactly. Automap is disabled, and Launchpad with Duplex works fine (also the topmost buttons)! :(

You should be able to run on XP - here it’s working out-of-the-box on both XP and OSX.
I’ve got no idea what could be the issue :blink:

I’m naturally also blown away by cells!, although I never tried Live :slight_smile:

A few questions or requests:

  1. It seems cells! clears all pattern data, which makes using the renoise song as works space not-so-nice.

  2. It’s not possible to add custom effects to tracks in cells!, right? Would be great…

I’m really having a great time with cells!, actually I’m getting a launchpad because of it :walkman:

Cells! 2.0 Beta 2 has been added to the first post in this thread.

In beta 2 I’ve commented out the debugging statements (whoops!) and revamped the API (get and set functions). I’ve included documentation within the tool (‘doc/controller-api.txt’) and also in the first post of this thread. Because a couple of functions changed, I’ve updated the launchpad definition, would appreciate some testing.

Just to confirm, the order in the Cells! preferences dialog is controller type, midi in port, midi out port (as per the tooltips).

Glad you like it!

1 - Yes, it will clear all patterns. This is because I wanted to start from a known state. I know it may be annoying.

2 - No, cannot add custom effects to tracks. If you want any additional ones for the multiFX I can consider adding them.

Seems like people are enjoying Cells! and have not found many other bugs?

besides some initial test runs, I haven’t had time yet to thoroughly check it out. Hopefully soon :drummer:

Quick update on the new beta: my Lauchpad works!!! :yeah:
Although Cells! pops an error: “Couldn’t find controller of type:Launchpad” :huh:
…but it works perfectly! Thanks!


Because of the reported issues with Launchpad on Beta 1.1, for beta 2 I renamed it to ‘Launchpad [beta]’ until we fixed the issues.

Just select ‘none’, save preferences, re-open and select ‘Launchpad [beta]’ should fix it.

Nope, sorry, that didn’t fix it. :unsure: I don’t mind clicking “ok” as long as it works. :lol:

EDIT: But there’s another thing:
Clicking on A or B as effect target gives me:

'C:\Documents and Settings\me\Application data\Renoise\V2.8.0\Scripts\Tools\com.mxb.Cells.xrnx\main.lua' failed in one of its notifiers.  
Please contact the author (Martin Bealby | mxb ( for assistance...  
.\core/ControllerFramework.lua:196: attempt to call method 'SetFXTarget' (a nil value)  
stack traceback:  
 .\core/ControllerFramework.lua:196: in function 'SetFXTarget'  
 .\core/CellsMixerFX.lua:696: in function 'SetEffectTarget'  
 .\core/CellsMixerFX.lua:232: in function <.><br>```

Here again, everything works as expected, though... <img src="" class="bbc_emoticon" alt=":wacko:"></.>

Ok, let me elaborate a bit, then.

Supposed I would prepare a track for live performance in cells. It would probably consist of individual samples being triggered to form beats, pads, atmospheres, basslines, stuff like that. It would probably also consist of all-in-one loops, like a break beat or something. I build the song traditional renoise style, prepare everything for cells with the context menus (render bla. bla…). since I know cells erases everything, I save before entering cells. I have a ball with the loops I prepared for cells, but would like to have a bit less reverb on the pad. So I have to load the pre-cells song, turn down reverb, render pad again, save new pad, load cells song, import/replace pad with less reverb. Not the most inspiring workflow.

I know this is “just” a tool and not the complete Ableton (which I never used), but I find it hard to imagine myself using this alot in real life situations, with such a cumbersome workflow. Naturally what I’d like to be able to do is to just adjust the reverb, even while cells is rolling. So a truely dynamic relationship with the note-data in the pattern/entire song and the thing cells is working on.

If I cells would 1) read the tempo from my song, 2) leave my song data alone (create a special looping pattern after my patterns, would be possible), 3) leave my tracks alone (create it’s own tracks if they weren’t already created) and 4) have an option for not re-initializing the sepcial cells tracks (so I could add my own effects that could be controlled on their own), I could live with it. I still couldn’t change things dynamically, but I’d be able to switch back and forth in a project between static/cells mode and dynamic/renoise mode, developing ideas in renoise mode and transfering them to cells mode.

@mxb: I just tried out the second beta, some minor quirks I’ve experienced with the Launchpad controller.

Firstly, the “fx column” (the rightmost buttons on the LP) does not initialize when Cells is started, I need to select a track first.
Perhaps I missed something when writing the controller support, but it would seem obvious to make an initial call to “select track”, to properly set up all track-specific controls.

Secondly, the effects no longer toggle their state when pressed, I can only select/activate the chosen effect.
Wasn’t it intended that the repeater, delay etc. could be selected, and then - once selected - you could also toggle their state?
And, more specifically, should an effect be activated once it’s selected? Not having to select it and then activate it would seem like the right approach.