Jump to content

MBSEQV3 - ASM - changing patterns


Rio
 Share

Recommended Posts

hello everyone,

I know the asm version of seq will not further be developed or changed - thats allright - and so please see my question only as an hobby trial :) and not as a request:

For me i want an additional adaption for mbseq3 in the MUTE SCREEN - Maybe someone has some skills and can give me a hint or bit help therefor. My skills in asm are very low, but i want to try that a bit.

The goal for me:

I want change patterns up and down of a selected bank by using rotary encoder in mute screen, because i am using very often the mute options of tracks and I want to change patterns (for the one of the 4 groups) there too.

The normal way is: I have to go from MUTE SCREEN to PATTERN SCREEN, and change the patterns there and switch back to MUTE SCREEN, which could be a bit time consumption for live performance...

So my try here ( CS_M_MUTE.INC ):

1. part: i have to exchange the MUTE Option for rotary encoder to SELECT Option of groups (That works very well):

CS_M_MUTE_GP_Callback

	;; do nothing if button has been depressed

	btfsc	MIOS_PARAMETER2, 0

	return


	;; part 1: use encoder for selecting groups (1..4: G1, 5..8: G2, 9..12: G3, 13..16: G4)


	;; if incrementer != 0, encoder has been moved

	SET_BSR	SEQ_BASE

	movf	CS_MENU_ENC_INCREMENTER, W

	bz	CS_M_MUTE_GP_Callback_Go

CS_M_MUTE_GP_Callback_Enc

	;; branch depending on button

	movf	MIOS_PARAMETER1, W

	andlw	0x0f

	JUMPTABLE_2BYTES_UNSECURE

	rgoto	CS_M_MUTE_GP_Callback_1

	rgoto	CS_M_MUTE_GP_Callback_2

	rgoto	CS_M_MUTE_GP_Callback_3

	rgoto	CS_M_MUTE_GP_Callback_4

	rgoto	CS_M_MUTE_GP_Callback_5

	rgoto	CS_M_MUTE_GP_Callback_6

	rgoto	CS_M_MUTE_GP_Callback_7

	rgoto	CS_M_MUTE_GP_Callback_8

	rgoto	CS_M_MUTE_GP_Callback_9

	rgoto	CS_M_MUTE_GP_Callback_10

	rgoto	CS_M_MUTE_GP_Callback_11

	rgoto	CS_M_MUTE_GP_Callback_12

	rgoto	CS_M_MUTE_GP_Callback_13

	rgoto	CS_M_MUTE_GP_Callback_14

	rgoto	CS_M_MUTE_GP_Callback_15

	rgoto	CS_M_MUTE_GP_Callback_16


CS_M_MUTE_GP_Callback_1

CS_M_MUTE_GP_Callback_2

CS_M_MUTE_GP_Callback_3

CS_M_MUTE_GP_Callback_4

	movlw	0

	rgoto	CS_M_MUTE_GP_Callback_Cont


CS_M_MUTE_GP_Callback_5

CS_M_MUTE_GP_Callback_6

CS_M_MUTE_GP_Callback_7

CS_M_MUTE_GP_Callback_8

	movlw	1

	rgoto	CS_M_MUTE_GP_Callback_Cont


CS_M_MUTE_GP_Callback_9

CS_M_MUTE_GP_Callback_10

CS_M_MUTE_GP_Callback_11

CS_M_MUTE_GP_Callback_12

	movlw	2

	rgoto	CS_M_MUTE_GP_Callback_Cont


CS_M_MUTE_GP_Callback_13

CS_M_MUTE_GP_Callback_14

CS_M_MUTE_GP_Callback_15

CS_M_MUTE_GP_Callback_16

	movlw	3

	rgoto	CS_M_MUTE_GP_Callback_Cont


CS_M_MUTE_GP_Callback_Cont


	movwf	MIOS_PARAMETER1


	;; do nothing when button has been released

	btfsc	MIOS_PARAMETER2, 0

	return


	;; get selected track(s) of current group

	SET_BSR	SEQ_BASE

	lfsr	FSR1, SEQ_SELECTED_TRKS_G0

	movf	SEQ_SELECTED_GROUP, W, BANKED

	movff	PLUSW1, TMP1


	;; clear all selections

	movlw	0xf0

	movwf	SEQ_SELECTED_TRKS_G0, BANKED

	movwf	SEQ_SELECTED_TRKS_G1, BANKED

	movwf	SEQ_SELECTED_TRKS_G2, BANKED

	movwf	SEQ_SELECTED_TRKS_G3, BANKED


	;; set new track group

	movff	MIOS_PARAMETER1, SEQ_SELECTED_GROUP


	;; store selected tracks in new groups

	lfsr	FSR1, SEQ_SELECTED_TRKS_G0

	movf	SEQ_SELECTED_GROUP, W, BANKED

	movff	TMP1, PLUSW1


	;; request display re-initialisation

	bsf	CS_STAT, CS_STAT_DISPLAY_INIT_REQ


	clrf	CS_MENU_ENC_INCREMENTER	; don't increment pattern number




	;; part 2: get rotary direction (up or down?)





	;; part 3: Change pattern for that group





	return


CS_M_MUTE_GP_Callback_Go

Now the 2. part is to decide, whether the rotary encoder is rolled up or down, and at least the 3. part it have to change the pattern for that group.

Has someone an idea to solve the 2. and 3. part? thank you very much.

best regards,

rio

Edited by Rio
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...