--- In bc2000@yahoogroups.com, "Mark" <markwinvdb@...> wrote:
>
> --- In bc2000@yahoogroups.com, "gil.brand33" <gil.brand33@> wrote:
> > I would like (if possible) to configure an _existing _BCR preset to send
> > three SysEx messages in a _single press_ of button #4.
> >
> >
> > If (Button #4 = *Off*) then send:/The *default* state
> >
> > F0 01 20 01 2A 33 02 00 F7/Set value of x02 to parameter x33
> >
> > F0 01 20 01 2A 35 01 00 F7/Set value of x01 to parameter x35
> >
> > F0 01 20 01 2A 38 01 00 F7/Set value of x01 to parameter x38
> >
> > -------------------------------------------------------------------------------------
> >
> >
> > If (Button #4 = *On*) then send:
> >
> > F0 01 20 01 2A 33 03 00 F7/Set value of x03 to parameter x33
> >
> > F0 01 20 01 2A 35 00 00 F7/Set value of x00 to parameter x35
> >
> > F0 01 20 01 2A 38 02 00 F7/Set value of x02 to parameter x38
> >
> > Is it possible, or do I have to use extra buttons for such a task?
>
> It can be done in one button, but it's very tricky, because of a bug in the BCR affecting SysEx messages in ".tx" statements.
> (See BCMI ("BC MIDI Implementation.pdf"), sections 14.6.3/4).
>
> In any case the script below circumvents this bug:
>
> $rev R1
> $button 4
> .showvalue on
> .default 2
> .mode toggle
> .minmax 2 3
> .tx $F0 $01 $20 $01 $2A $33 val $00 $F7
> .tx $F0 $01 $20 $01 $2A $35 ifn $01 $00 $F7 ifp $00 $00 $F7
> .tx $F0 $01 $20 $01 $2A $38 ifn $01 $00 $F7 ifp $02 $00 $F7
> $end
>
> > In any case,
> > - What "*.mode*" should I use for the button(s)?
>
> I think you want "toggle", as used above.
> See BCMI section 15.9.
>
> > - Can I, and should I omit the "*.minmax*" & "*.default*" macros for
> > that purpose?
>
> ".minmax" is essential.
>
> I'm never sure myself about ".default".
> Maybe you can try to make sense of what BCMI section 14.3 says about it...
>
> > After sending the above code (completed of course) to the BCR through
> > the "Script Editor", should I just press "Store" twice in order to write
> > the changes to my current preset?
> >
> > Is there anything else I should do before/after sending the script?
>
> Maybe Royce can answer these questions.
>
> Hope this helps,
> Mark.
>
Thank you very much Mark! It helped a lot :)
I wasn't aware that it is possible to use more than one ".tx" in a single block.
Does "ifp/ifn" corresponds to "On/Off" respectively? (Couldn't find that in the BCMI
)
I reviewed section 14.3 in the BCMI, and I'm not quite sure how ".default" behaves under all possible scenarios
Therefore, in order to `ignore' both ".default" & ".minmax" (to be on the safe side..), I was thinking of replacing only the first ".tx" line in your block, so that the whole block would look like this:
$rev R1
$button 4
.showvalue on
.default 2
.mode toggle
.minmax 2 3
.tx $F0 $01 $20 $01 $2A $33 ifn $02 $00 $F7 ifp $03 $00 $F7
.tx $F0 $01 $20 $01 $2A $35 ifn $01 $00 $F7 ifp $00 $00 $F7
.tx $F0 $01 $20 $01 $2A $38 ifn $01 $00 $F7 ifp $02 $00 $F7
$end
Would that be a valid block?
Would it do exactly the same as the block you suggested?
*Last but not least*
Shouldn't there be some delay time between the executions of the ".tx" lines, so that the receiving synth can process the incoming data?
Thanks again,
Gil.Message
Re: Script Editor - Appreciate your advice
2010-12-21 by gil.brand33
Attachments
- No local attachments were found for this message.