Jump to content


Photo

New Tool (3.0): Grid Pie


  • Please log in to reply
84 replies to this topic

#76 dem

dem

    Advanced Member

  • Normal Members
  • PipPipPip
  • 99 posts

Posted 05 December 2011 - 23:05

Hi,

I tried Grid pie tonight, this tool is really great. I strongly suggest to anyone interested on live performance to take a look on it. Honestly, seeing the demo video, I didn't understood much what it was about...But once you're familiar with it, it's powerfull and simple to use. I only tried to use it with demo songs, I just imagine how great that tool could be using songs especially designed to be controlled with GridPie...


I even achieved to use my old yamaha DJX keyboard to control it. I was thinking that keyboard useless for my needs, but it seems to be the (almost) perfect companion for Grid Pie; the only issue is that the knobs on DJX are not "endless" (each assignagle knob only have 14steps, as far as I know...But I didn't test it in deep, so...).

Perhaps an interesting feature to add should be the possibility to map the X and Y controls (= to move in the matrix rows and line) with a couple of keys instead of knobs. Like a "+ and -" for each direction (= 2 buttons or keys for row - and row+, 2 buttons or keys for line+ and line-). Or another way to manage that : first key for 10, 20, 30, etc...and another key for single numbers (1, 2, 3...to 9). SO, for example, if I want to go on line 16 on the matrix pattern I'd push 1 time the first key and 6 times the second one. DO you see what I mean ?

Anyway, just ideas. Great work, thank you for this.


edit : by the way, is there any technic to use another grid than the 3 available (4x2, 4x4, 8x8) ? Something like 16x1, for example. Just to better match my midi keyboard, for example. Once you get used into, it's pretty simple to use gridpie like that. You need to have one hand on the line choice knob, but you also have the advantage to have controls on all the tracks in the same time, under your other hand.

Edited by dem, 05 December 2011 - 23:47.

  • Conner_Bw likes this

#77 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7167 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 06 December 2011 - 02:29

edit : by the way, is there any technic to use another grid than the 3 available (4x2, 4x4, 8x8) ? Something like 16x1.


The Duplex version should automatically fit your controller?

The standalone (deprecated?) version can be changed by opening up the script and changing some variables. This trick is mentioned earlier in the thread. Things have changed since that post. You'll have to be a bit smarter this time around. :)

Change:

local MATRIX_HEIGHT = 8
local MATRIX_WIDTH = 16

Used as maximum values, to constrain the midi mapping routine to some reasonable number.

Then at the bottom add:

renoise.tool():add_menu_entry {
  name = "Main Menu:Tools:Grid Pie:16x1...",
  invoke = function() main(16, 1) end
}

Activate the Renoise Script Editor by following these instructions.

Good luck.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : MBC Archives »


#78 dem

dem

    Advanced Member

  • Normal Members
  • PipPipPip
  • 99 posts

Posted 06 December 2011 - 10:58

The Duplex version should automatically fit your controller?



THank you for your answer. I'm using the version available in tools section :

http://tools.renoise...82.xrnx&nid=295

And then, I choosed 8x8 grid, and mapped the 8 first keys of my midi keyboard ("piano" keys), one for each row, and mapped 2 knobs for row and line browsing (with the issue I was speaking about, my knobs have only 14steps).


Can I use your workaround with that tool ?



EDIT : by the way, I just tried the tool again, using another demo song, and this time, the midi mapping of my knob for line changing work perfectly, I was able to move in all the lines of the song. So my knobs are perfectly normal, even if I cannot explain why a song works, and another doesnt.

Edited by dem, 06 December 2011 - 18:22.


#79 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 08 December 2011 - 01:29

Grid Pie is great fun, but I'm still a bit irked by the way it takes over your arrangement.
So I'm proposing these refinements:


Feature 1 : running start
If “grid pie mode” has not yet been entered (application has not yet run, or was dun goofed), and you're actively playing some part of your song when you (re)activate Grid Pie, use the currently playing pattern and mute states as a starting point (instead of a blank pattern). This should ensure a smooth/gapless transition into grid pie’d mode

Feature 2 : keep the beat

Next one has to do with how we can transition from a polyrhythmic pattern of, say 384 lines and into a smaller pattern of say, 128 lines. As Renoise works, if the playback position is within the last part, the playhead will jump and possibly cause a nasty glitch in playback.
Now, the funny thing is that when dealing with polyrhythmics, much of the time there really isn't such a thing as a "first beat", it's more like a feeling really. Is the beat on 2,4 or 6? We can't assume a lot, but we still have some clues - like the LPB value (more suggestions are welcome):
  • When shortening recombination pattern, assume that the first line is the most important. The playhead jumps back in the pattern by the same amount of lines as we, at the moment the length changed, were located from the end of that pattern. This should cause us to arrive at line 1 in the same amount of time.
  • If this didn't work, because the first resulted turned out to be a position before the pattern start (a negative value), we go forward in line-increments that match the LPB (assuming that LPB represent the beat), until we reach a positive value
Feature 3 : live switching
This is specific to the Duplex version - a couple of users have requested that it would be possible to switch between different configurations while preserving the state of Grid Pie. I think we could achieve this with a "scan & match". Basically:
  • Recognize any existing __GRID PIE__ pattern on startup == recreate the saved setup
    • First, look for identical patterns (quickly matched)
    • Then, look for _expanded patterns_ with matching length (slower match)
    • Finally, recreate tracks that couldn't be matched in new pattern (could be located right over the __GRID PIE__ pattern, and called something similar sounding)
  • When stopping Grid Pie, don't clear the pattern (allow another scan & match)

EDIT: Yesterday I released a new version of the Duplex port, check out the details here

Tracking with Stuff. API wishlist | Soundcloud


#80 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7167 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 26 December 2011 - 17:48

2.8 compatible version added to the Tools page:

http://tools.renoise.../tools/grid-pie

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : MBC Archives »


#81 SirIvo

SirIvo

    New Member

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

Posted 09 July 2018 - 14:49

Folks,

 

Appreciate this thread is pretty old, but this is a great add-in, and was almost perfect in what I was trying to achieve (using a Machine Jam as a controller). The problem I had with it was with "Grouped" tracks - the uploaded implementation just treated them as regular tracks in the matrix. I've therefore added a modification which allows you to create the same grids/matrixes, but treats tracks in a group as one.

 

Screenshot 2018-07-09 14.31.30.png

 

Now bear in mind -

 

- I'm still figuring out ReNoise (although I think it's the best DAW I've ever used - perhaps from the nostalgia of using "trackers" in the days of my yoof)

- This is my first time coding with Lua. In fact, I've never even heard of it until I started using ReNoise.

- I'm still trying to figure out how to package this stuff up.

 

Anyway, attached is the main.lua if anybody wishes to examine it themselves. Much appreciate any feedback on this already fantastic add-on. Mods are in the "function build_interface()", "function main(x, y, grouped)" and the obvious menu additions at the bottom of the file.

 

(There might be something else out there that does exactly what I've spent quite a fair few hours figuring out how to code. But balls to it - interesting learning experience, regardless!)

 

 

 

Attached Files

  • Attached File  main.lua   20.98KB   9 downloads

  • Conner_Bw likes this

#82 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7167 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 09 July 2018 - 15:06

> This is my first time coding with Lua

 

Cool. Do you code in any other languages then? If you are familiar with GitHub, the source code is here:

 

https://github.com/r...se.GridPie.xrnx

 

You may want to also check out Duplex which has a souped up Grid Pie in it:

 

https://github.com/r...ons/GridPie.lua

https://www.renoise.com/tools/duplex

 

I'll wait for others to give feedback. If none appears in the next few days please ping this thread again and i'll review your changes. Grid Pie stand-alone is in "maintenance / patches welcome" mode these days...

 

Cheers.


Edited by Conner_Bw, 09 July 2018 - 15:07.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : MBC Archives »


#83 SirIvo

SirIvo

    New Member

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

Posted 09 July 2018 - 17:02

Thanks for the quick reply, Conner. I'm a software dev by profession (C#, Javascript/Typescript blah blah blah) , but I've never got involved in public GitHub projects / branching etc.

 

Does Duplex support the functionality I added to Grid Pie? If not, do you want me to look into adding it?

 

A few more things to get my head around if so, but all fun and games :)



#84 SirIvo

SirIvo

    New Member

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

Posted 10 July 2018 - 00:50

Okay, had a look at "Duplex" - but seems to be kitted out towards specific types of controllers, rather than a "one fits all" solution. Please let me know if I'm wrong on this assumption.

 

In the mean time, I realise my original modifications to the "Grid Pie" code didn't work correctly when the matrix was triggered by Midi controllers on group tracks. The attached version should address this.

 

At some point in the near future I'll add this code to a branch on the Git repository. For now the the script is attached if anybody wishes to give it a go.

 

Attached Files

  • Attached File  main.lua   21.72KB   11 downloads


#85 SirIvo

SirIvo

    New Member

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

Posted 11 July 2018 - 00:12

Okay, obtained the GitHub repo but wont make any mods there just yet.

 

One thing I can't get my head around right now - is there any way to determine the Midi device and source key from any controller assignments using the "renoise.tool():add_midi_mapping" method? The "renoise.ScriptingTool.MidiMessage" class returned by the "invoke" function doesn't really give me much information. "renoise.tool():has_midi_mapping" just gives me a boolean, and I can't find another other similar method in the documentation.

 

The objective is I'd like to send SysEx messages to the controller to set the lights when the matrix buttons are triggered by the controller.

 

Appreciate any info you can provide, folks.