Skip to content

allow recording events in stopstate #multitimbral #hardware #soundfont #parameterlocks #138

@coderofsalvation

Description

@coderofsalvation

I really like the concept of being able to export a midi-file which includes program-change + MSB + LSB bank select for each midi-channel.
This ensures correct playback of the exported midi-file on multitimbral devices/soundfonts (MT).

The problem

I don't know a convenient way of doing this.

When the transport is stopped..sending midi-notes to a pattern does record it to the pattern.
However, it does not capture programchange+MSB+LSB or CC events (send from my MT device):

seq66-2025-06-18_18.52.22.mp4

Per-pattern Instrument-definition workaround

Right now I'm doing:

  • MT: transmits notes on midichannel 1 to seq66
  • MT: I select the previous instrument (on the physical device oro midi-controller)
  • seq66: I press 'play' and 'record' on a pattern
  • MT: I select the next instrument (so MT triggers a program-change + MSB + LSB bank select of the desired instrument to seq66)
  • seq66: profit! the values have been captured in the pattern (not ideal though, the values never end up exactly in the beginning of the pattern)
  • seq66 I have to manually move the events to beginning of the patterm
  • rinse and repeat: I do this for every pattern

question: is there an easier way to do this?

Brainstorm

Can we maybe allow recording midi-events in the pattern editor (during stop-state?).

This would make the above mentioned ~64 manual steps redundant.
One could hit record (without pressing play), receive some midi data, which would (over)write the values to the current patternposition.
This more modern workflow, allows hardware to augment the seq66 pattern-editor cursor.

bigger picture: synths/keyboards/grooveboxes emit program change + LSB + MSB-events when switching patterns or instruments. Many of them also send midi CC snapshots (reverb/chorus/delay send values) when switching instruments. For example, here's my CASIO CTS-1000v synth when switching an instrument:

Image

How awesome would it be if these events would be captured at the pattern cursor-position?
Such a speedy workflow...
Elektron calls this 'recording parameter locks'..and Korg calls it step edit.

Closing thoughts

The good news is that recording notes during stopmode, increases the pattern-position for each note.
Via this exact same mechanism, NRPN data would become possible (which re-uses CC 6 to send a value`).
Many midi-devices transmit NRPN data for device-specific settings, so recording it (during stopstate) starting from a specific patternposition would really allow exciting control without external dependencies/drivers/definition-files.

Seq66 is unique in that it treats the .mid file as a first-class citizen for project-metadata too.
In other words, the midi-file is completely selfcontained.
Having an easy & modern 'capture' way to get the program change + LSB + MSB into the midifile would be awesome.

All other (older) midi editors either lack this, or require you to create (very timeconsuming) instrument-bank-definition files (which is an anti-pattern imho, as they usually never exist for your preferred device/soundfont/software combination).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions