A major reboot of Seq24. Current release 0.97.0 (2021-05-13), native JACK MIDI, Song recording, playlists, and a Windows/Qt version. For fresher code, see the Seq66 project. Note that trigger and mute-group-in-MIDI-file formats have evolved! Back up your work!
First I would like to thank you for spending so much effort on sequencer64; I am new to music making and it really matches what I had in mind when I started to take interest in the topic. It results in a powerful workflow once combined with other bricks from the opensource ecosystem, this is inspiring :)
I have been trying to use sequencer64 in combination with a midi keyboard controller. The goal would be to control (almost) everything using the controller, without touching the GUI. With the help of mididings I am getting there, however I stumbled on several bugs and lack of features along the way. Here are some changes that I made in order to accommodate my usage.
While the commit messages should be self-explanatory, here is a list of the current modifications:
I encountered weird behaviors while recording without touching the GUI, and switching back and forth between play / pause (note on 0, note off with some positive values, as if it got inverted at some point)
I am controlling which sequence to record or to set to midi through, explicitly disabling for each state the previous sequence when I am switching to a new one. Since it appears only one sequence at a time (or one sequence/channel) can be an "input" at the level of perform.cpp, it could happen that disabling recording or midi through "steals" the input from an active sequence.
incoming midi events are systematically checked against all captured midi, otherwise too often unwanted notes would be recorded or played -- in the comments previous behavior is justified to avoid delays, but I willing to trade few (?) CPU cycles for that
fixed toggle for quantizing mode (was not working neither for MIDI control nor GUI??)
biggest change: the MIDI control "reserved for expansion" is now used to set the "replace" flag while recording.
If you think some of that could make it to master, I would happily improve on the comments (e.g. some "HOTFIX" tags helped me track what I was modifying) or on the code (e.g. in order to touch the least current code I did not even change variable names associated to the last MIDI control...) if necessary.
Among the things that would require too much work for me but that would be welcomed additions (at least in my opinion :D):
a MIDI input dedicated to MIDI controls (more flexibility for sending events and easier to handle)
MIDI control for record expand (and possibly a way to reduce afterward sequence length through MIDI?)
a better quantization (with live MIDI input the result is very odd, especially regarding note off, but it seems to be the same with seq24)
a color/icon associated to the status of a sequence (e.g. record, midi through). This is somehow related to #58, however I would not be able to benefit directly from such implementation since I don't have a controller that could listen to MIDI events and change colors. Hence having such feedback directly in the GUI would make sense. (Okay, in the meantime I am using Open Stage Control to display my own (and crude) GUI and keep track of launch / record / midi through per sequence, and with mididings that could then achieve bi-directional sync... but this is would be somewhat cumbersome).
NB: I did not touch all functionalities (such as screens), so maybe some propositions are off; also I can open a proper issue to help sort out features request.
This is it, again thanks for you work, now I should probably stop procrastinating with code and start making some noise!
Hello,
First I would like to thank you for spending so much effort on sequencer64; I am new to music making and it really matches what I had in mind when I started to take interest in the topic. It results in a powerful workflow once combined with other bricks from the opensource ecosystem, this is inspiring :)
I have been trying to use sequencer64 in combination with a midi keyboard controller. The goal would be to control (almost) everything using the controller, without touching the GUI. With the help of mididings I am getting there, however I stumbled on several bugs and lack of features along the way. Here are some changes that I made in order to accommodate my usage.
While the commit messages should be self-explanatory, here is a list of the current modifications:
perform.cpp
, it could happen that disabling recording or midi through "steals" the input from an active sequence.If you think some of that could make it to master, I would happily improve on the comments (e.g. some "HOTFIX" tags helped me track what I was modifying) or on the code (e.g. in order to touch the least current code I did not even change variable names associated to the last MIDI control...) if necessary.
Among the things that would require too much work for me but that would be welcomed additions (at least in my opinion :D):
NB: I did not touch all functionalities (such as screens), so maybe some propositions are off; also I can open a proper issue to help sort out features request.
This is it, again thanks for you work, now I should probably stop procrastinating with code and start making some noise!