On 18.12.2024 18:50, Will Godfrey wrote:
On Wed, 18 Dec 2024 17:46:31 +0100
ichthyo <p...@ichthyostega.de> wrote:
On 18.12.24 14:40, Kristian Amlie wrote:
I've been reading the MIDI specification, and as is often the case,
someone has thought of this before us! My source is at [1],
but my summarized conclusions are:
:-)
I definitely think we should try to follow this as closely as possible,
so as to not reinvent the wheel, and avoid surprises.
Sounds reasonable indeed.
Agreed.
Currently the only channel mode messages we support are:
120 78h All Sound Off
121 79h Reset All Controllers
123 7Bh All Notes Off
- In Yoshimi's Controller window I implement two options:
My first impression is that this should be a *Config* option.
So probably it should go into the config GUI, not the controllers window.
Agree. Should be in MIDI CCs (although being pedantic it's not a continuous
controller).
I see your point, but unfortunately this won't work correctly for the
intended use case. Which channel you play on is tied to which
environment you run in, so it needs to be saved in the state, otherwise
the channel setup may be wrong the next time you load up a project.
But I agree that my proposal, and especially the "Start in Omni" option,
does sound like it belongs in config. So maybe we just need to take a
step back and rethink that option... Hmm, tricky, but this is why I
asked! 🙂
Let me attack this from a different angle: Let's say I have a project
with a Yoshimi instance in it (LV2 or standalone loading a state file,
it doesn't really matter), and three enabled parts. I want all three to
sound simultaneously, so I set them to all to channel 1. It seems
obvious that this setting must be saved in the state data, so that the
next time I load it, all three instruments will again respond on channel
1. And indeed, this works today.
This is the how I'm thinking about the Omni option. If it's enabled,
then it must be saved, because it's tied to the project. But maybe
"Start in Omni" was the wrong name, and putting it inside Controllers
may have been the wrong call also. Maybe it should be next to the
Channel setting in the main window..?
And then there's the MIDI Omni messages. Most of the other MIDI messages
that Yoshimi responds to (I'm not counting MIDI learn) do not
permanently change the state in any way which is saved. The exception is
program change; this will save. So if there is an Omni setting, should a
MIDI message change it in a way which is permanently saved..? I'm
thinking maybe yes.
I can't really see a clearly preferred path here, which annoys me. All I
know for sure is that the config-route is not the way to go. Something
like the above is still the best suggestion that I have.
Moreover, taking into account our recent pain with multiple instance config,
we should decide if this goes into the /basic part/ of the config, or if this
is a /per-instance/ setting. Note, we have already other MIDI-related advanced
config options.
Will introduced a distinction between the very basic plattform setup options,
and all further config, which is per-instance. After having spent quite some
effort this summer to sort out problems in the config of multiple instances,
I am very much convinced that this is a good route for the future and that
we should always try to sort things apart, based on the question: is this
for the basic platform setup, or is this something you want to configure
different for several instances?
This point is moot, because the omni setting (the channel setting,
really) must be saved in the state data, in which case it is
automatically part of that instance.
--
Kristian
_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel