Re: [yoshimi-user] show & tell, 0.062-pre2

  • From: Will J Godfrey <WillGodfrey@xxxxxxxxxxxxxxx>
  • To: yoshimi-user@xxxxxxxxxxxxxxxxxxxxx
  • Date: Mon, 8 Nov 2010 18:47:39 +0000

On Mon, 08 Nov 2010 20:48:41 +1100
cal <cal@xxxxxxxxxxxx> wrote:

On 08/11/10 10:50, Will J Godfrey wrote:
[ ... ]
How are you currently doing bank and program changes? I *think* I can send
Controller 0x00 followed by Controller 0x20 for bank changes.

I think it goes something like ... a program change depends on the correct
bank having been set previously. Bank MSB is unused, always zero, so only the
bank select LSB is significant. At startup, that should default to whatever it
was last time the program quit & wrote out it's config. I don't think that
persistence has quite made it to reality in the code just yet though, so the
effective default bank LSB would be zero.

On receiving a 0x00 controller message (bank MSB), yoshi should just ignore
it.
I've just looked at the code and it isn't :-(. To do a program change, you do
need to send a 0x20 (bank LSB) controller message to select the appropriate
bank,
then follow that with the program select message.

[ ... ]

Therefore doing a program change by itself (0xC0 I believe) must leave the
bank
wherever it was.

That's the intention, 0xC0 - 0xCF (according to channel/part number).

Cheers.

OK. This works if I send controller 0x20 first on channel 1 (regardless of
which channel I actually want to change) ... Wooo!

However...

I wonder if it's possible to set a default bank, other than bank 0 (or 1) {sigh}
I find these translations a pain in the backside :(

--
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.


Other related posts: