I know this theme is a little bit complicated, but it’s only a question of possibility:
If tracks are setuped with Transpose / Arp Mode option, they will change the playing behaviour, dependent of record notes while using record in one track. That’s a bit confusing.
Consequence: I’ve to turn every “Transpose Mode” track to normal or turn all other channels to “Mute”, to record a track while playing.
I don’t know if it is possible, but could the Track Mode setting switch to NORMAL Mode for every channel while we stay in record menu (or maybe ignore the different Track Mode settings). After leaving record menu it should switched back to the last options.
Best Regards, Rio.
Besides: Which *.inc-file and which function controls the playback of seq for different track modes?
wouldn’t this be even more confusing, e.g. when you are changing tracks within the record menu?
The tracks could output wrong (untransposed, or non-arpeggiated) notes which are out of scale - this isn’t a consistent behaviour…
However, in order to bypass the track mode checking for all selected tracks, following branch has to be inserted in seq_core.inc, line 1334, below the “check for transpose or arpeggiator function” comment:
BIFCLR SEQ_RECORD_MODE, SEQ_RECORD_MODE_STEP, BANKED, rgoto SEQ_CORE_Clk_SendEvent_NoRec
call CS_M_HLP_ChkTrkSelected
bz SEQ_CORE_Clk_SendEvent_NM_Ply
SEQ_CORE_Clk_SendEvent_NoRec
[/code]
Best Regards, Thorsten.
P.S.: due to the inconsistent behaviour, I won't add this change to the MBSEQ release.
I spent some thoughts on this issue, and came to the conclusion, that your proposed solution just goes into the wrong direction.
It’s much easier (and especially consistent) to prevent, that incoming note-on events will be forwarded to the arpeggiator/transpose function while record mode is active.
Therefore I added following abort condition to seq_midi.inc, SEQ_MIDI_NoteOn function:
SEQ_MIDI_NoteOn
SET_BSR SEQ_BASE ; prepare BSR for SEQ register access
movf MIOS_PARAMETER3, W ; branch to NoteOff if velocity is zero
skpnz
rgoto SEQ_MIDI_NoteOff
;; prevent that incoming note-on events will be forwarded to transpose/
;; arpeggiator function while record mode is active
BIFSET SEQ_MODE1, SEQ_MODE1_RECORD, BANKED, return
[/code]
This one will be part of the next release.
Best Regards, Thorsten.
Could you please read your mail again and correct it? There is no difference between the code I initially gave you (and from which I think that it is a suboptimal solution), and the code you copy&pasted into your mail.
it’s deactivating the track modes for current channel, if i stay in recordmode…
yes, thats what the code is doing, but it isn’t a consistent solution. E.g., if the track should record arp events, you will hear totally different notes instead of the arp events.
Therefore I think it’s better just to let transposer/arpeggiator enabled, but not to change the scale/chords during recording.