Page 1 of 1
Posted: 11 Nov 2018, 23:58
by bmartin
Currently the event outlet of the Piano Roll seems to put all the midi events onto channel one only - if you send the event stream from one roll to another you'll see them going to channel 1. For the purposes of manipulating the event information as an array - sorting and swapping values etc, it would be nice if the channel information could be integrated as well (e.g. to keep the drum track information on channel 10 of a standard midi file).
It would also be good if the array could be easily divided into the chunks of midi information - but that's another subject perhaps...
Posted: 08 Jan 2019, 10:47
by bmartin
Nobody else interested in multichannel arrays from midi piano-roll?
Apart from building some sort of script to parse midi files I can't see any other way to be able to do fun things with manipulating midi file data outside real-time
Posted: 08 Jan 2019, 15:03
by x.iso
I guess it would be useful, although I don't really deal with multi-channel midi files, but I might when dealing with MPE implementation.
Posted: 09 Jan 2019, 08:11
by senso
Could be easily implemented but the pb is the backward compatibility:
the array size will be 6 length instead of 5 actually if we have
Code: Select all
beat position = 1 (first beat)
event duration = 0.5 (half a beat-8th)
MIDI channel
MIDI message = 144 (MIDI-NOTE-ON)
MIDI data1 = 63 (MIDI note 62 : D5)
MIDI data2 = 98 (velocity)
or of course we could merge MSG and CHAN info like:
Code: Select all
beat position = 1 (first beat)
event duration = 0.5 (half a beat-8th)
MIDI message = 144 + MIDI channel -1
MIDI data1 = 63 (MIDI note 62 : D5)
MIDI data2 = 98 (velocity)
but in both cases we'll have troubles.
Posted: 09 Jan 2019, 12:59
by oli_lab
I prefer the second solution as it is coherent with the way midi messages are usually done.
Posted: 15 Jan 2019, 21:48
by bmartin
I'm not sure i understand the technicalities of backward compatibility, but could a second 'events' inlet/outlet pair be added to the pianoroll - something like 'multichannel events' - which could handle the multichannel midi in either of the ways suggested? or could a switch be added that offers the possibility of switching from a default of merged channels to multichannel with MSG and CHN combined?
If that's not possible how about a Piano Roll substitute module ('Midi Sequence'?) which would add this functionality to the basic piano roll model along with any other improvements that people are looking for? This would avoid any backwards compatibility clash.
Posted: 16 Jan 2019, 20:41
by oli_lab
keep old module in legacy folder and make a new one !
Re: Piano Roll Event Outlet
Posted: 07 Jan 2020, 09:42
by bmartin
I was really hoping the new HH would bring a solution to this!
All midi events from a file in piano roll still get squashed into one midi channel when they pass out of the array outlet...
Any chance of a new midi module to get around this?
Re: Piano Roll Event Outlet
Posted: 12 Jan 2020, 16:07
by senso
the solution 1 is implemented in HH4 !
Code: Select all
beat position = 1 //first beat
event duration = 0.5 //half a beat-8th
MIDI channel
MIDI message = 144 //MIDI-NOTE-ON
MIDI data1 = 63 MIDI note 62
MIDI data2 = 98 //velocity
Re: Piano Roll Event Outlet
Posted: 14 Jan 2020, 23:33
by bmartin
This is great news! Thanks!
BUT! -
link two piano rolls via array out to array in. put one note on channel 1 and another on channel 2. I can see that the array now has the information in it, unfortunately the piano roll doesn't seem to recognise it properly at the 'array in' - everything on roll 2 is still put on Channel 1. even though if it comes out of the second roll's 'array out' the info is there.
Still the feature is more or less there and that is fantastic!
Re: Piano Roll Event Outlet
Posted: 28 Jan 2020, 17:52
by senso
fixed in the next release.
but it's more appropriate to send bugs reports by mail?
at least faster.
Re: Piano Roll Event Outlet
Posted: 29 Jan 2020, 17:54
by bmartin
great! and sure, i'll remember to email next time
senso wrote: ↑28 Jan 2020, 17:52
fixed in the next release.
but it's more appropriate to send bugs reports by mail?
at least faster.