Hi all, sorry for my ignorance, but i’ve checked around and can’t find anything that really helps. I am trying to do my own design for the front panel of my SID and am having some issues figuring out how to add minor features and take away others, as well as figuring out how to fully edit encoder features. I am attaching the rough design for the frontpanel (mind you the picture is split so it’ll fit on a standard sheet of paper). The vertical boxes are for the encoders, the larger circles are the LED’s, and the smaller ones are the buttons. The main issue I need help with are the redifining of the OSC encoder section, the addition of a second LFO section, and the different options in the ENV section. Thanks in advance for your help guys. If I am asking too much, please just point me to where I can learn how to tweek these things.
ok, i think i need to simplify. my big issue is understanding how MIOS can tell when say, "ENC_ENTRY 3, 2, MIOS_ENC_MODE_DETENTED2 (code from the MIOS_TABLES.INC) is routed to “Osc attack/finetune/assign #2.” i’ve been looking in the other files and can’t seem to find something that defines the encoder input #2 going to a specific function, unless i am just missing something in front of my face. lastly, can someone please help explain the following code in idiot speak for me. "CS_MENU_BUTTON_Osc_Ctrl
;; do nothing if button has been depressed
IFSET MIOS_PARAMETER2, 0, return
;; increment OSC Ctrl parameter (0x00-0x02)
incf CS_MENU_SELECTED_OSC_CTRL, F
movlw 0x02+1
IFGEQ CS_MENU_SELECTED_OSC_CTRL, ACCESS, clrf CS_MENU_SELECTED_OSC_CTRL
movlw CS_MENU_OSC ; change to OSC menu
rcall CS_MENU_BUTTON_Hlp_MenuChange
;; set page offset and cursor pos depending on selected layer
movf CS_MENU_SELECTED_OSC_CTRL, W
bnz CS_MENU_BUTTON_Osc_Ctrl_Not0
CS_MENU_BUTTON_Osc_Ctrl_0
movlw 0x03
rgoto CS_MENU_BUTTON_Osc_Ctrl_Cont
CS_MENU_BUTTON_Osc_Ctrl_Not0
IFSET CS_MENU_SELECTED_OSC_CTRL, 1, rgoto CS_MENU_BUTTON_Osc_Ctrl_Not1
CS_MENU_BUTTON_Osc_Ctrl_1
movlw 0x09
rgoto CS_MENU_BUTTON_Osc_Ctrl_Cont
CS_MENU_BUTTON_Osc_Ctrl_Not1
movlw 0x00
CS_MENU_BUTTON_Osc_Ctrl_Cont
movwf CS_MENU_PAGE_OFFSET
movwf CS_MENU_CURSOR_POS
bsf CS_STAT, CS_STAT_MODIFY_PARAMETER
goto CS_MENU_EXEC_Hlp_ChangeMenu ; deselect parameter"
i can understand some of it, just not everything completely. thanks again in advance.
-HS
Sorry but it’s hard to understand what you want…
That may be why you have no answer.
I modifed some encoder functions and have explaind some code modification in :
http://www.midibox.org/forum/index.php?topic=7233.0
Read the last post…
The main issue I need help with are the redifining of the OSC encoder section, the addition of a second LFO section, and the different options in the ENV section.
For each could you explain the difference between what you’d like to have and the reference design ?
Xavier
ok, the OSC section, instead of having the OSC env, misc, and assign layers, it will only have a traditional octave (pitchrange i assume), pitch (transpose i assume), pulse width, and fine tune. originally i wanted a mix (level adjustment) for each OSC, but i don’t see that anywhere in the code.
next thing is the ENV CTRL buttons where i will be adding another layer. a misc. layer (that at the moment will only be able to control arp rate and port rate).
lastly is the LFO section where i’d like to split the 6 LFO’s into 2 parts. having 2 control sections, 1 which controls LFO’s 1,3,and 5, the other controls LFO’s 2,4, and 6.
the code i posted before was from the “cs_menu_buttons.inc” file. and dealt with the code for osc ctrl function. the reason i asked for some explanation was that i was planning on getting rid of it, but it would explaain how to re-do the env ctrl section.
sorry for all the confusion.
-HS
ok, i think i need to simplify. my big issue is understanding how MIOS can tell when say, "ENC_ENTRY 3, 2, MIOS_ENC_MODE_DETENTED2 (code from the MIOS_TABLES.INC) is routed to “Osc attack/finetune/assign #2.” i’ve been looking in the other files and can’t seem to find something that defines the encoder input #2 going to a specific function, unless i am just missing something in front of my face.
It took me some time to understand the encoder/function link.
But i think what you are looking for is in cs_menu_enc.inc and the function is called CS_MENU_ENC_CS_Handler.
The information it gets is the encoder line number in the mios_tables.inc or something like that.
Hope that helps… At least that allow me modify some encoder behaviour.
Xavier
