Building a Piano Roll
Hi,
I'd like to build a piano roll but I really don't know where to start.
It should record values in time and play it on demand
... and also have a graphic aspect of a piano roll.
Any suggestions ?
The new [live.step] object might be useful.
lh
Yeah it's a kind of piano roll but it doesn't permit polyphony and different duration for notes unless I'm missing something.
Have you had a look at [detonate] as well?
lh
Unless I'm mistake the piano roll functionality has been taken out of max 5.
this thread used to have attached a piano roll patch using jitter:
If you don't need interactivity, just a display, you could try the scrolling modes of [multislider] to show the notes. Though "polyphony" would be on separate tracks, you can't put multiple [multisliders] on top of each other and have them be transparent when in scrolling mode. (Wish you could!)
Another option would be jit.gl.sketch, you could simulate durations by using multiple points rather than rectangles.
I still haven't upgraded from max 5.1.0b8 and if you look in the [detonate] help file there's a "graphic editing" subpatch and in that there's a "embedded_detonate_view" subpatch which shows how you might do this. Not sure if it has disappeared in more recent releases. Basically it allows you to instantiate the undocumented [pianoroll] object and bind it to [detonate] for GUI manipulation.
lh
Ok, thanks.
I'll try something with [detonate] ...
[detonate] is cool to record but some of my recorded notes are cutted. Even in the detonate_example of the help file. Is it a bug ? Max 5.1.3, OS X 10.5.8
why has the graphic editing thing gone?
I think it's gone (for now) because all the UI objects had to be re-written to work with the new graphics system in Max 5, and this particular object would be a serious pain to re-write. That said, I thought I read it was coming back at some point, maybe with a bunch of new tools...? (crosses fingers)
Check out FTM: http://ftm.ircam.fr
It has a track class for representing time based event data, and the ftm.editor ui is a good starting point for a view/editor as well