User Tools

Site Tools


seq_buttons

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

seq_buttons [2006/10/15 09:35] (current)
Line 1: Line 1:
 +====== Summary ======
  
 +This page is for describing the functions found in the file seq_buttons.inc in the MBSEQ v2.4a application.  ​
 +
 +seq_buttons.inc contains the handler functions for button presses. USER_DIN_NotifyToggle calls SEQ_Button_Handler which first checks to see if the button press came from one of the two shift registers which are assigned in main.asm to be the 16 general purpose buttons.
 +
 +====== Functions ======
 +
 +|SEQ_BUTTON_Handler|
 +|SEQ_BUTTON_Handler_ChkGP1|
 +|SEQ_BUTTON_Handler_ChkGP2|
 +|CS_MENU_BUTTON_Handler_NoGP|
 +|SEQ_BUTTON_Handler_Loop|
 +|SEQ_BUTTON_Handler_End|
 +|SEQ_BUTTON_GP|
 +|SEQ_BUTTON_GP1|
 +|SEQ_BUTTON_GP2|
 +|SEQ_BUTTON_GP3|
 +|SEQ_BUTTON_GP4|
 +|SEQ_BUTTON_GP5|
 +|SEQ_BUTTON_GP6|
 +|SEQ_BUTTON_GP7|
 +|SEQ_BUTTON_GP8|
 +|SEQ_BUTTON_GP9|
 +|SEQ_BUTTON_GP10|
 +|SEQ_BUTTON_GP11|
 +|SEQ_BUTTON_GP12|
 +|SEQ_BUTTON_GP13|
 +|SEQ_BUTTON_GP14|
 +|SEQ_BUTTON_GP15|
 +|SEQ_BUTTON_GP16|
 +|SEQ_BUTTON_GP_Cont|
 +|SEQ_BUTTON_Select|
 +|SEQ_BUTTON_Exit|
 +|SEQ_BUTTON_Left|
 +|SEQ_BUTTON_LeftRemote|
 +|SEQ_BUTTON_Right|
 +|SEQ_BUTTON_RightRemote|
 +|SEQ_BUTTON_StartStop|
 +|BUTTON_Control4SetStart|
 +|SEQ_BUTTON_StartStop_Stop|
 +|SEQ_BUTTON_Pause|
 +|SEQ_BUTTON_Rew|
 +|SEQ_BUTTON_Fwd|
 +|SEQ_BUTTON_Play|
 +|SEQ_BUTTON_Stop|
 +|SEQ_BUTTON_Continue|
 +|SEQ_BUTTON_Edit|
 +|SEQ_BUTTON_Mute|
 +|SEQ_BUTTON_Pattern|
 +|SEQ_BUTTON_Song|
 +|SEQ_BUTTON_Song_Toggle|
 +|SEQ_BUTTON_Song_Toggle_1|
 +|SEQ_BUTTON_Song_Toggle_0|
 +|SEQ_BUTTON_Song_Toggle_Cont|
 +|SEQ_BUTTON_Song_NoToggle|
 +|SEQ_BUTTON_Menu|
 +|SEQ_BUTTON_Metronome|
 +|SEQ_BUTTON_Scrub|
 +|SEQ_BUTTON_Solo|
 +|SEQ_BUTTON_All|
 +|SEQ_BUTTON_Fast|
 +|SEQ_BUTTON_Fast_Loop|
 +|SEQ_BUTTON_LayerA|
 +|SEQ_BUTTON_LayerB|
 +|SEQ_BUTTON_LayerC|
 +|SEQ_BUTTON_Layerx|
 +|SEQ_BUTTON_Layerx_MPS|
 +|SEQ_BUTTON_Layerx_Edit|
 +|SEQ_BUTTON_Layer_Depr|
 +|SEQ_BUTTON_Track1|
 +|SEQ_BUTTON_Track2|
 +|SEQ_BUTTON_Track3|
 +|SEQ_BUTTON_Track4|
 +|SEQ_BUTTON_Trackx_Cont|
 +|SEQ_BUTTON_Trackx_MPS|
 +|SEQ_BUTTON_Trackx_Edit|
 +|SEQ_BUTTON_Trackx_Toggle|
 +|SEQ_BUTTON_Trackx_Radio|
 +|SEQ_BUTTON_Trackx_End|
 +|SEQ_BUTTON_Trackx_Hlp_Sav|
 +|SEQ_BUTTON_F1|
 +|SEQ_BUTTON_F2|
 +|SEQ_BUTTON_F3|
 +|SEQ_BUTTON_F4|
 +====== Function Descriptions ======
 +SEQ_BUTTON_Handler_ChkGP1 first moves MIOS_PARAMETER1 into W, AND's W with 0xf8 and then xorlw'​s against "​(DEFAULT_GP_DIN_SR0 - 1) << 3" which, presumably results in zero if the registers match. ​ Perhaps the AND statement converts the button number in MIOS_PARAMETER1 into a value representing which SR it belongs to. 
 +
 +SEQ_BUTTON_Handler searches through mios_tables.inc for a DIN pin that matches MIOS_PARAMETER1 and then calls the appr. function
 +
 +From the comments:
 + GP button number is stored in MIOS_PARAMETER1,​ button value in MIOS_PARAMETER2 (1 for released, 0 for pressed)
 +
 +If the button press did come from one of the GP's then the program branches to SEQ_GP_Button in seq_gp.inc, not to be confused with SEQ_Button_GP in seq_button.inc.  ​
seq_buttons.txt ยท Last modified: 2006/10/15 09:35 (external edit)