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

  • From: cal <cal@xxxxxxxxxxxx>
  • To: yoshimi-user@xxxxxxxxxxxxxxxxxxxxx
  • Date: Tue, 09 Nov 2010 05:59:43 +1100

On 09/11/10 05:47, Will J Godfrey wrote:

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!

Obviously more work required here ... each part is supposed to be remembering
it's own
last selected bank/program :-(.
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 :(

Me too. The whole business of remembering defaults and last used needs some
work yet.

cheers!


Other related posts: