Seq

friscotch's icon

Hi,
Clicking on 'coll' allows content editing. Is there a simple way to text edit the content of 'seq'?
Thanks

Hans Höglund's icon

There is no native GUI for midi editing in Max 5.

This was discussed some days ago in this thread:
https://cycling74.com/forums/piano-roll

the_man361's icon

yeh a gui would be nice, but the original question was is there a way to simply edit the text versions of the midi events... i.e. note number velocity delta time (iirc).. im afraid im not sure

Hans Höglund's icon

Midi is not stored as text, so a text-based editor is about as abstract as a graphical.

You can implement your own sequencer using the objects coll and timer.

seejayjames's icon

[detonate] might also give you your MIDI information more easily, it has a delta-time outlet. Also it works with Type 1 MIDI files.

You can readily grab lists of events and store them in [coll] or [text] or whatever you want. [jit.cellblock] might be useful for this too.

Here's a fun thought: take your first 100 MIDI events and store them into three [multisliders]: pitch, velocity, and delta time. Store with [pattr], take the next 100, store, etc. Then try interpolating and see how it sounds. :)

and hey, if you don't like it, just draw in some new events...

Hans Höglund's icon

And of course, the mtr object can read and write coll-style text files.

Samuel Freeman's icon

>> And of course, the mtr object can read and write coll-style text files.

can it?

a quick test with [mtr] wrote this to file:

[edit: pasting the data from mtr broke my post there, see img instead]

you might have been thinking of [qlist]...

Samuel Freeman's icon

...

163.Snapshot_2010-03-05_01-12-20.jpg
jpg
Luke Hall's icon

If you don't mind getting your hands dirty you can read the contents of a MIDI file in bits and edit is directly using javascript. You could even do the reading with [filein] and save the hex values in a [coll] for editing.

lh

seejayjames's icon

Try saving the [mtr] file and add the .txt extension, it will save in coll-like format: delta-time / value. You can add indices for each line (dump out into another [coll], use a [counter] as each line goes by and prepend the index). Then you'd have better access to the events, or at least have them in the original order.

If you don't add .txt, apparently it saves as .mxb binary...which if you do "open as text", will appear in the Max text editor as coll-style, but in other text viewers it's binary characters.

Interesting, if you try to "open" the .mxb as though it was a patch, you get an error message for each line... looks like it's trying to make a patch out of the text, and it thinks the entries should be object names. Something new every day...

seejayjames's icon

OK, some more tinkering...

Max Patch
Copy patch and select New From Clipboard in Max.

This patch lets you record and save an mtr (as .txt), then you read it into [text] and dump it into the [coll], it indexes all the entries. There was some filtering that needed to happen for this to work right, due to how the [mtr] formats its lines (some hawe "track #" and "end" instead of the track/value number pairs). Probably there is a shorter route from [mtr] to [coll] but this works.

tsuk1's icon

How do you compile or import that binary code into Max? Here totally newbie... I tried into a notepad document with .max extension. Didn't work.

bdc's icon
tsuk1's icon

Thank you!