ljmarkus Posted April 1, 2005 Report Share Posted April 1, 2005 Hallo.Habe bei der Midibox64e folgendes Problem:in der mb64e_presets.inc:BUTTON_ENTRY 0xA0, 20,127, 0x00A0 steht ja für After Touch. wenn ich den Taster drücke bekomme ich den Wert 127 gesendet und beim loslassen 0 gesendet. Was muss ich eintragen das beim loslassen nix gesendet wird ??Danke,Markus Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted April 3, 2005 Author Report Share Posted April 3, 2005 Hat sich erledigt. Habs gefunden.lg, markus Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted April 3, 2005 Author Report Share Posted April 3, 2005 Hallo.Sitzte jetzt schon seid stunden davor die Menu buttons abzuschalten damit ich sie frei für meine Anwendung bekomme.in der main.asm:; DIN pin numbers of menu buttons#if DEFAULT_ENC_DATAWHEEL == 0 #define DEFAULT_DIN_MENU_EXEC 7 ; menu exec button assigned to DIN pin #7 #define DEFAULT_DIN_MENU_RIGHT 6 ; menu right button assigned to DIN pin #6 #define DEFAULT_DIN_MENU_LEFT 5 ; menu left button assigned to DIN pin #5 #define DEFAULT_DIN_MENU_SNAPSHOT 4 ; menu snapshot button assigned to DIN pin #4#else #define DEFAULT_DIN_MENU_EXEC 7 ; menu exec button assigned to DIN pin #7 #define DEFAULT_DIN_MENU_SNAPSHOT 6 ; menu snapshot button assigned to DIN pin #4 #define DEFAULT_DIN_MENU_RIGHT 5 ; NOT USED - overlayed by datawheel #define DEFAULT_DIN_MENU_LEFT 4 ; NOT USED - overlayed by datawheel#endifWas und wo muss ich einstellen damit die Buttons frei werden ????danke, markus Quote Link to comment Share on other sites More sharing options...
TK. Posted April 3, 2005 Report Share Posted April 3, 2005 Hallo,lege die Buttons einfach auf ungenutzte Eingaenge.Im Zweifelsfall: 128, 129, 130, 131Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted April 3, 2005 Author Report Share Posted April 3, 2005 Hallo Thorsten.Danke. Es geht..Nun stehe ich vor einem etwas größerem Problem.Ist es folgendes möglich:Fader 1 bei Wert 1 - Sysex senden bei Wert 2 - sysex sendenusw.bsb:Wert 0 = F0 7F 01 02 01 06 00 00 00 00 F7Wert 1 = F0 7F 01 02 01 06 00 00 04 00 F7Wert 2 = F0 7F 01 02 01 06 00 00 07 00 F7usw. bis Wert 100Danke, markus Quote Link to comment Share on other sites More sharing options...
TK. Posted April 4, 2005 Report Share Posted April 4, 2005 Hallo,schaue Dir mal das Meta Events an (-> mb64_meta.inc bzw. mb64e_meta.inc)Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted April 4, 2005 Author Report Share Posted April 4, 2005 Hallo Thorsten..ja die habe ich mir schon angesehen steige da saber kein stück durch.????????????????Markus Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted April 4, 2005 Author Report Share Posted April 4, 2005 bekomme die "if" anweisung einfach nicht hin:;; --------------------------------------------------------------------------MB64E_META_Handler_00 ;; this example sends a SysEx string: F0 43 10 5C 10 10 31 vv F7 (AN1x: high pass filter) ;; META Event: "F0 00" (enc) or "F0 00 7F @OnOff" (Button - 7F may vary) movlw 0x01 ; store parameter value in W rgoto Test ; branch to SysEx routineTest #if MIDI_EVNT_VALUE == 0 goto VALUE_0 #else #if MIDI_EVNT_VALUE == 1 goto VALUE_1 #endifVALUE_0 movwf TMP1 ; temporary store parameter value from working register W into TMP1 call MIOS_MIDI_BeginStream ; begin stream movlw 0xf0 ; send 0xf0 call MIOS_MIDI_TxBufferPut movlw 0x7F ; send 0x43 call MIOS_MIDI_TxBufferPut movlw 01 ; send 0x10 call MIOS_MIDI_TxBufferPut movlw 02 ; send 0x5c call MIOS_MIDI_TxBufferPut movlw 01 ; send 0x10 call MIOS_MIDI_TxBufferPut movlw 06 ; send 0x10 call MIOS_MIDI_TxBufferPut movf TMP1, W ; send parameter value, stored in TMP1 call MIOS_MIDI_TxBufferPut movlw 00 call MIOS_MIDI_TxBufferPut movlw 00 call MIOS_MIDI_TxBufferPut movlw 00 call MIOS_MIDI_TxBufferPut movlw 0xF7 call MIOS_MIDI_TxBufferPut goto MIOS_MIDI_BeginStream VALUE_1 movwf TMP1 ; temporary store parameter value from working register W into TMP1 call MIOS_MIDI_BeginStream ; begin stream movlw 0xf0 ; send 0xf0 call MIOS_MIDI_TxBufferPut movlw 0x7F ; send 0x43 call MIOS_MIDI_TxBufferPut movlw 01 ; send 0x10 call MIOS_MIDI_TxBufferPut movlw 02 ; send 0x5c call MIOS_MIDI_TxBufferPut movlw 01 ; send 0x10 call MIOS_MIDI_TxBufferPut movlw 06 ; send 0x10 call MIOS_MIDI_TxBufferPut movf TMP1, W ; send parameter value, stored in TMP1 call MIOS_MIDI_TxBufferPut movlw 00 call MIOS_MIDI_TxBufferPut movlw 00 call MIOS_MIDI_TxBufferPut movlw 04 call MIOS_MIDI_TxBufferPut movlw 0xF7 call MIOS_MIDI_TxBufferPut goto MIOS_MIDI_BeginStream....er gibt mir immer den Sting von VALUE_0 wieder.Was mache ich falsch ??danke, markus Quote Link to comment Share on other sites More sharing options...
TK. Posted April 4, 2005 Report Share Posted April 4, 2005 Hallo Markus,du kannst die verschiedenen Werte mit der gleichen Routine senden - hier gibt es zwei Ansaetze, aber um zu verstehen, welcher fuer Dich am besten geeignet ist, muesste ich wissen, ob sich die Werte mit einer simplen Formel berechnen lassen, oder ob sie so verschieden sind, dass man sie lieber in eine Tabelle ablegen sollteGruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted April 4, 2005 Author Report Share Posted April 4, 2005 Hallo Thorsten.Die Werte sind sehr verschiden deswegen dachte ich halt das es über soeine Value Abfrage zu machen.Mit einer Formel kann man die wohl nit berechnen da sich die 9. und 10. stelle im Sting ändert.Kann dir ja mal die ganzen Sting zukommen lassen wenn Du möchtest.danke, markus Quote Link to comment Share on other sites More sharing options...
TK. Posted April 4, 2005 Report Share Posted April 4, 2005 ok - tabellenloesung:schmeisse das die #if Abfragen wieder raus (dies sind uebrigensPraeprozessor-Anweisungen und keine Assembler Befehle), und ersetzedas "movlw ... call MIOS_MIDI_TxBufferPut" Paerchen, das sichaendern soll, wie folgt: TABLE_ADDR MY_SYSEX_VALUE_TABLE movf MIDI_EVNT_VALUE, W TABLE_ADD_W tblrd*+ movf TABLAT, W call MIOS_MIDI_TxBufferPut[/code] Ganz unten im File fuegst Du noch die Tabelle ein - sie muss 128 Werte enthalten: [code]MY_SYSEX_VALUE_TABLE db 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f db 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f db 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f db 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f db 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f db 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f db 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f db 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7fDie Hexadezimal-Werte koennen auch durch Dezimalzahlen (ohne 0x)ersetzt werdenGruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted April 4, 2005 Author Report Share Posted April 4, 2005 supi....ja es läuft soweit jetzt.man lernt nie aus !!!vielen dank thorsten Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted April 5, 2005 Author Report Share Posted April 5, 2005 Guten Abend...Wenn ich im main.asm#define DEFAULT_NUMBER_AIN 0steht und ich buil mache bekomme ich viele Fehlermeldungen-- snipError[118] C:\HOG2PC\MIDIBOXSOFT\PROG ID_0X01\MB64E_PRESETS.INC 68 : Overwriting previous address contents (6F4C)Error[118] C:\HOG2PC\MIDIBOXSOFT\PROG ID_0X01\MB64E_PRESETS.INC 68 : Overwriting previous address contents (6F4D)Error[118] C:\HOG2PC\MIDIBOXSOFT\PROG ID_0X01\MB64E_PRESETS.INC 68 : Overwriting previous address contents (6F4E)Error[118] C:\HOG2PC\MIDIBOXSOFT\PROG ID_0X01\MB64E_PRESETS.INC 68 : Overwriting previous address contents (6F4F)Error[118] C:\HOG2PC\MIDIBOXSOFT\PROG ID_0X01\MB64E_PRESETS.INC 68 : Overwriting previous address contents (6F50)Error[118] C:\HOG2PC\MIDIBOXSOFT\PROG ID_0X01\MB64E_PRESETS.INC 68 : Overwriting previous address contents (6F51)Error[118] C:\HOG2PC\MIDIBOXSOFT\PROG ID_0X01\MB64E_PRESETS.INC 68 : Overwriting previous address contents (6F52)Error[118] C:\HOG2PC\MIDIBOXSOFT\PROG ID_0X01\MB64E_PRESETS.INC 68 : Overwriting previous address contents (6F53)-- /snipfür dieses Projekt benötige ich nur 4 Enc und 64 Buttons. soll aber die mb64e soft bleiben. Oder einfach den Faderanzahl auf 1 lassen und den Port auf masse legen und fertig ???Danke, Markus Quote Link to comment Share on other sites More sharing options...
TK. Posted April 5, 2005 Report Share Posted April 5, 2005 Der Speicher ist voll!Aber es gibt eine einfache Abhilfe - schmeisse die Features raus, die Dich nicht interessieren.Soviel ich weiss, ist kein LCD angeschlossen. Deshalb koenntest Du bspw. die Noten-Strings in midi_evnt.inc rausschmeissen, dadurch haettest Du wieder 512 Bytes Luft - es geht auch noch wesentlich mehr (bspw. das komplette Menuehandling, die Motorfaderkalibrierung/Touchfader/etc...), doch dafuer sind dann jeweils mehrere Handgriffe notwendig...Also: midi_evnt.inc oeffnen, nach "MIDI_EVNT_NOTE_TABLE_ENTRY_LEN" suchen, und alles, was darunter steht (die db Eintraege) loeschenGruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted April 5, 2005 Author Report Share Posted April 5, 2005 Hallo Thorsten..das verstehe ich jetzt nicht,den wenn ich #define DEFAULT_NUMBER_AIN 1drin stehen habe geht alles nur bei #define DEFAULT_NUMBER_AIN 0kommen die meldungen.Wie kann den der Speicher voll sein wenn ich AIN auf 0 habe ??Lg, markus Quote Link to comment Share on other sites More sharing options...
TK. Posted April 5, 2005 Report Share Posted April 5, 2005 Hallo Markus,kommentarleser wissen mehr ;-); The morphing function uses addresses within the MIOS address range which are ; reserved for the AIN handler. ; NOTE: morphing is automatically disabled if analog pots/faders are connected#define DEFAULT_MORPH_FUNCTION_ENABLED 1;; Although MIDIbox64E has been designed for rotary encoders, it can also handle with; up to 64 pots/faders or up to 8 motorfaders.; Pots and faders are mapped to the "encoder" entries 64-128.; Example: if group width is 16, and group 1 is selected, encoders are using; entry 1-16, and pots are using entry 64-70; NOTE: morphing is automatically disabled if analog pots/faders are connected#define DEFAULT_NUMBER_AIN 0[/code]Das heisst: mit DEFAULT_NUMBER_AIN == 0 wird der Morphing Code nicht eingebundenGruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
TK. Posted April 6, 2005 Report Share Posted April 6, 2005 Addendum: wenn Du "DEFAULT_MORPH_FUNCTION_ENABLED" auf 0 setzt, erzielst Du den gleichen Effekt (es spart etwas Speicher)Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted April 7, 2005 Author Report Share Posted April 7, 2005 Guten Morgen Thorsten..ja danke, ich werde auch mehr die Kommentare lesen...... ;Dlg, markus Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.