dinama Posted May 14, 2012 Report Share Posted May 14, 2012 (edited) I need help with my midibox64. I want to make a dedicated controller for a software synth. I built a prototype midibox64 with 32 potentiometers for controlling the software synth and everything works. The problem is that whenever I turn off the controller and power back up, the midibox64 resets all values ​​to zero. (sends all controller value of 0) I wish at the power-on, midibox64 automatically send the actual values ​​marked by the position of the potentiometer. I tried SNAPSHOT_AT_POWERON - enabled without success. Is there a way for read all the position of pots at startup of midibox64 ad send the exact cc value to software synth without save current snapshot before turn off the midibox64. what is the solution? Thank you for your help. Edited May 14, 2012 by dinama Quote Link to comment Share on other sites More sharing options...
unuldinei Posted May 14, 2012 Report Share Posted May 14, 2012 (edited) Same problems to me . Even when I put a 24LC512 memory bank and I send the config to the bank the snapshot it wasn't work. After restart the knob will be initiating to zero to be wake up. PIC18F452 CORE + 4AIN + 4 DIN + USB MIDI , (powered from USB I=34mA) ############################################################################### [CONNECTED_POTS] 27 ################################################################################ # Initial Display page which should be active after power-on # Allowed values: 1 - 5 # Default: 1 ################################################################################ [DISPLAY_PAGE] 1 ################################################################################ # Global MIDI Channel # Allowed values: 0: no global MIDI channel # 1-16: MIDIbox sends only on given MIDI channel # Default: 0 ################################################################################ [GLOBAL_MIDI_CHANNEL] 0 ################################################################################ # Morph Settings # Specifies the bank which is used as morph target scene, as well as the pots # which control the position between the current and the target scene ################################################################################ [MORPH_BANK] 1 # allowed values: 1-128 [MORPH_POT_GLOBAL] 0 # allowed values: 0 = disabled, 1-64 = pot which controls all 4 morph groups [MORPH_POT_G1] 0 # allowed values: 0 = disabled, 1-64 = pot which controls group 1 (pot #1-16) [MORPH_POT_G2] 0 # allowed values: 0 = disabled, 1-64 = pot which controls group 2 (pot #17-32) [MORPH_POT_G3] 0 # allowed values: 0 = disabled, 1-64 = pot which controls group 3 (pot #33-48) [MORPH_POT_G4] 0 # allowed values: 0 = disabled, 1-64 = pot which controls group 4 (pot #49-64) ################################################################################ # Snapshot at PowerOn: if enabled, the box will send all current pot settings # when the power is switched on # Allowed Keywords: "enabled" and "disabled" ################################################################################ [sNAPSHOT_AT_POWERON] enabled ################################################################################ # Auto Snapshot: only usefull if BankStick available. # If enabled, and a bank is changed via Program Change or within the Bank # Submenu, MIDIbox will automagically restore the last-saved settings of the # new bank after the bankchange # Note: you should enable this flag in all banks in order to get it # running properly! # Allowed Keywords: "enabled" and "disabled" ################################################################################ [AUTO_SNAPSHOT] enabled Edited May 14, 2012 by unuldinei Quote Link to comment Share on other sites More sharing options...
dinama Posted May 17, 2012 Author Report Share Posted May 17, 2012 I find a solution in c programming forum this is the link unfortunately i'm not a programmer. can someone help me in coding. maybe a new main.c file with the solution for my midibox64. Quote Link to comment Share on other sites More sharing options...
TK. Posted May 17, 2012 Report Share Posted May 17, 2012 If you are using the MIDIbox64 firmware, you only need to enable the SNAPSHOT_AT_POWERON option. No programming required! Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
dinama Posted May 18, 2012 Author Report Share Posted May 18, 2012 thanks for your answer, but my problem is always here. this is my .ini file as you can see the snapshot at power on option is enabled. ################################################################################ # # This is an example init file for MIDIbox 64 with a lot of comments # ################################################################################ ################################################################################ # File Type ################################################################################ [TYPE] midibox64 ################################################################################ # Bank Name (up to 16 characters, quotes required!) ################################################################################ [bANKNAME] "CUSTOM" ################################################################################ # Connected Pots: if you are using less than 64 pots, it's a good idea to # enter the number here. This increases the speed of the box. # Allowed Values: 1 to 64 ################################################################################ [CONNECTED_POTS] 32 ################################################################################ # Initial Display page which should be active after power-on # Allowed values: 1 - 5 # Default: 1 ################################################################################ [DISPLAY_PAGE] 1 ################################################################################ # Global MIDI Channel # Allowed values: 0: no global MIDI channel # 1-16: MIDIbox sends only on given MIDI channel # Default: 0 ################################################################################ [GLOBAL_MIDI_CHANNEL] 0 ################################################################################ # Morph Settings # Specifies the bank which is used as morph target scene, as well as the pots # which control the position between the current and the target scene ################################################################################ [MORPH_BANK] 1 # allowed values: 1-128 [MORPH_POT_GLOBAL] 0 # allowed values: 0 = disabled, 1-64 = pot which controls all 4 morph groups [MORPH_POT_G1] 0 # allowed values: 0 = disabled, 1-64 = pot which controls group 1 (pot #1-16) [MORPH_POT_G2] 0 # allowed values: 0 = disabled, 1-64 = pot which controls group 2 (pot #17-32) [MORPH_POT_G3] 0 # allowed values: 0 = disabled, 1-64 = pot which controls group 3 (pot #33-48) [MORPH_POT_G4] 0 # allowed values: 0 = disabled, 1-64 = pot which controls group 4 (pot #49-64) ################################################################################ # Snapshot at PowerOn: if enabled, the box will send all current pot settings # when the power is switched on # Allowed Keywords: "enabled" and "disabled" ################################################################################ [sNAPSHOT_AT_POWERON] enabled ################################################################################ # Auto Snapshot: only usefull if BankStick available. # If enabled, and a bank is changed via Program Change or within the Bank # Submenu, MIDIbox will automagically restore the last-saved settings of the # new bank after the bankchange # Note: you should enable this flag in all banks in order to get it # running properly! # Allowed Keywords: "enabled" and "disabled" ################################################################################ [AUTO_SNAPSHOT] disabled ################################################################################ # MIDI Merger: enable the merger in order to forward the incoming MIDI # events to the MIDI Out. A must if you would like to plug a keyboard # on the MIDI In, or if you want to cascade MIDIboxes # Allowed Keywords: # disabled don't use merger at all # enabled merges all external with internal events # mblink_fp MIDIbox Link Forwarding Point: like a common MIDI merger, # but internal events will be framed so that a MIDIbox Link # End Point can distinguish between a event which has been # sent by a common MIDI device and events which have been # generated by a MIDIbox # mblink_ep MIDIbox Link End Point: merges only external events # from a MBLink FP (Forwarding Point) ################################################################################ [MIDI_MERGER] enabled ################################################################################ # This defines the Pot Behaviour. Allowed Keywords: # normal: like a normal MIDI controller # snap: if a MIDI value is received on MIDI In, which is also assigned # to a pot, the pot will not send an event as long as it isn't # adjusted to the corresponding position # relative: another variant # parallax: another variant # Please find a more detailed description in the MIDIbox Tutorial! ################################################################################ [POT_BEHAVIOUR] normal ################################################################################ # Send PC on Bankchange - if enabled, the MIDIbox sends a Program Change # Event on MIDI Channel F (CF <bank>) on every bank change # Very usefull if you would like to change the settings in your MIDI # application on Bank Changes (supported by Logic, Cubase, MIDI-OX Mapper) # Allowed Keywords: "enabled" and "disabled" ################################################################################ [sEND_PC_ON_BANKCHANGE] disabled ################################################################################ # Receive PC for Bankchange - if enabled, the MIDIbox switches the bank # if a Program Change on MIDI Channel F (CF <bank>) has been received # Only usefull if the BankStick is available # Allowed Keywords: "enabled" and "disabled" ################################################################################ [RECEIVE_PC_FOR_BANKCHANGE] disabled ################################################################################ # Touch Sensor Sensitivity # Allowed values: 1 - 32 # Default: 3 ################################################################################ [TOUCHSENSOR_SENSITIVITY] 3 ################################################################################ # LED Map: assignes the LED shift registers to the Button Shift # registers or special values # Currently following values are supported: # 0 Default Setting (see Map below) # 1 Button Shift Register 1 (Button ID #1-#8) # 2 Button Shift Register 2 (Button ID #9-#16) # 3 Button Shift Register 3 (F1-F4 and Navigation Buttons: ID #17-#24) # 4 Button Shift Register 4 (Button ID #25-#32) # 5 Button Shift Register 5 (Button ID #33-#40) # 6 Button Shift Register 6 (Button ID #41-#48) # 7 Button Shift Register 7 (Button ID #49-#56) # 8 Button Shift Register 8 (Button ID #57-#64) # 9 reserved # 10 External Bank (1 of 8) # 11-15 reserved # 16 MIDI Status received for Button ID #1-#8 # 17 MIDI Status received for Button ID #9-#16 # 18 MIDI Status received for Button ID #17-#24 # 19 MIDI Status received for Button ID #25-#32 # 20 MIDI Status received for Button ID #33-#40 # 21 MIDI Status received for Button ID #41-#48 # 22 MIDI Status received for Button ID #49-#56 # 23 MIDI Status received for Button ID #57-#64 # 24-31 reserved ################################################################################ [LED_MAP] LED_SR1 = 16 # (Button ID #1-#8) LED_SR2 = 17 # (Button ID #9-#16) LED_SR3 = 3 # (F1-F4 and Navigation Buttons: ID #17-#24) LED_SR4 = 18 # (Button ID #57-#64) LED_SR5 = 19 # (Button ID #25-#32) LED_SR6 = 20 # (Button ID #33-#40) LED_SR7 = 21 # (Button ID #41-#48) LED_SR8 = 22 # (Button ID #49-#56) ################################################################################ ################################################################################ # The POTS and BUTTONS sections include all settings for pots and buttons # # # POTS # # The maximum allowed number of pots: 64 # # Syntax for a pot entry: # <pot-number> = <midi-event0> <midi-event1> [<min value>-<max value>:<default-value>] # # Supported pot MIDI events (. stands for hex digit, vv stands for pot # value with the ranges from <min> to <max>) # # 9. .. (Note On) Example: 90 30 [00-7F] (MIDIbox sends 90 30 vv) # A. .. (Poly Aftertouch) Example: A0 30 [00-7F] (MIDIbox sends A0 30 vv) # B. .. (Controller) Example: B0 07 [00-7F] (MIDIbox sends B0 07 vv) # C. .. (Program Change) Example: C0 [00-7F] (MIDIbox sends C0 vv) # D. .. (Channel Aftertouch) Example: D0 30 [00-7F] (MIDIbox sends D0 30 vv) # E. .. (Pitch Bender) Example: E0 [00-7F] (MIDIbox sends E0 vv vv) # F. .. (Meta Event) Example: F0 01 [00-7F] (*) # # # # BUTTONS # # The maximum allowed number of buttons: 64 # # Syntax for a button entry: # <button-number> = <midi-event> @<behaviour> # # Supported button MIDI events (. stands for hex digit) # 9. .. .. (Note On) Example: 90 30 7F @OnOff (MIDIbox sends 90 30 vv) # A. .. .. (Poly Aftertouch) Example: A0 30 7F @OnOff (MIDIbox sends A0 30 vv) # B. .. .. (Controller) Example: B0 07 7F @Toggle (MIDIbox sends B0 07 vv) # C. .. .. (Program Change) Example: C0 05 @OnOff (MIDIbox sends C0 vv) # D. .. .. (Channel Aftertouch) Example: D0 30 7F @OnOff (MIDIbox sends D0 30 vv) # E. .. .. (Pitch Bender) Example: E0 7F 7F @OnOff (MIDIbox sends E0 vv vv) # F. .. .. (Meta Event) Example: F0 01 02 @OnOff (*) # FF .. .. (Special Function) See http://www.uCApps.de/midibox/midibox64_sfb_table.txt # # Supported button behaviours (see MIDIbox tutorial): # @OnOff # @OnOnly # @Toggle # # # (*) A meta event is nothing else than a branch to a special routine # in the firmware, which can be programmed by yourself. With a # meta event you are able to send everthing you want - SysEx # strings, more than one controller event at once, or you can just # toggle pins, switch relays, display text messages and so on... # # The two or three bytes of a meta event are your parameters, do with # it what you want. :) # ################################################################################ # # MIDIbox64 users are also able to define a display string for every # pot if the bank settings are located in a BankStick # # Syntax: "<string>" <type-identifier> # Example: "Volume Chn 1" DEC # "Pan Chn 14" +-DEC # "CutOff" +-HEX| # # Valid Idendifiers: # DEC: Displays a 3-digit decimal number on the right side # +-DEC: Displays a 3-digit decimal number on the right side based on the # formula: value - ((max-min)/2) # HEX: Displays a 2-digit hex number on the right side # +-HEX: Displays a 2-digit hex number on the right side based on the # formula: value - ((max-min)/2) # Also valid: DEC| # +-DEC| Displays an additional status bar # HEX # +-HEX| # ################################################################################ [POTS] # Pot Row 1 1 = B0 15 [00-7F] "TUNE " DEC| 2 = B0 05 [00-7F] "GLIDE " DEC| 3 = B0 3A [00-7F] "MOD MIX " DEC| 4 = B0 4F [00-7F] "OSC1 RANGE" DEC| 5 = B0 50 [00-7F] "OSC1 WAVE " DEC| 6 = B0 10 [00-7F] "OSC2 RANGE" DEC| 7 = B0 48 [00-7F] "OSC2 FREQ " DEC| 8 = B0 53 [00-7F] "OSC2 WAVE " DEC| 9 = B0 14 [00-7F] "OSC3 RANGE" DEC| 10 = B0 55 [00-7F] "OSC3 FREQ " DEC| 11 = B0 56 [00-7F] "OSC3 WAVE " DEC| 12 = B0 19 [00-7F] "OSC1 VOL " DEC| 13 = B0 1A [00-7F] "OSC2 VOL " DEC| 14 = B0 1B [00-7F] "OSC3 VOL " DEC| 15 = B0 22 [00-7F] "NOISE VOL " DEC| 16 = B0 26 [00-7F] "FEEDBACK " DEC| # Pot Row 2 17 = B0 4A [00-7F] "CUTOFF " DEC| 18 = B0 47 [00-7F] "EMPHASIS " DEC| 19 = B0 49 [00-7F] "CONTOUR " DEC| 20 = B0 11 [00-7F] "ATTACK " DEC| 21 = B0 12 [00-7F] "DECAY " DEC| 22 = B0 13 [00-7F] "SUSTAIN " DEC| 23 = B0 0D [00-7F] "VCA ATTACK" DEC| 24 = B0 0E [00-7F] "VCA DECAY " DEC| 25 = B0 0F [00-7F] "VCA SUSTAIN" DEC| 26 = A0 47 [00-7F] "CH RATE " DEC| 27 = A0 49 [00-7F] "CH DEPTH " DEC| 28 = A0 48 [00-7F] "CH PHASE " DEC| 29 = A0 4A [00-7F] "CH FEEDBACK" DEC| 30 = A0 51 [00-7F] "DELAY TIME" DEC| 31 = B0 77 [00-7F] "DELAY FEED" DEC| 32 = A0 54 [00-7F] "DELAY DUMP" DEC| [bUTTONS] # First 16 Buttons 1 = B0 41 7F @Toggle 2 = B0 3B 7F @Toggle 3 = B0 16 7F @Toggle 4 = B0 57 7F @Toggle 5 = B0 1C 7F @Toggle 6 = B0 1D 7F @Toggle 7 = B0 1E 7F @Toggle 8 = B0 22 7F @OnOff 9 = B0 4F 00 @OnOnly 10 = B0 4F 16 @OnOnly 11 = B0 4F 2C @OnOnly 12 = B0 4F 42 @OnOnly 13 = B0 4F 58 @OnOnly 14 = B0 4F 6E @OnOnly 15 = B0 4F 00 @Toggle 16 = B0 4F 00 @Toggle # Additional 4 Buttons in the menu section 17 = 90 3C 7F @OnOff 18 = 90 3D 7F @OnOff 19 = 90 3E 7F @OnOff 20 = 90 3F 7F @OnOff # Navigation buttons, only available as MIDI triggers when they # have been disabled in main.asm 21 = 90 7C 7F @OnOff 22 = 90 7D 7F @OnOff 23 = 90 7E 7F @OnOff 24 = 90 7F 7F @OnOff # Button 25-64 for the button extension 25 = B0 50 00 @Toggle 26 = B0 50 16 @Toggle 27 = B0 50 2C @Toggle 28 = B0 50 42 @Toggle 29 = B0 50 58 @Toggle 30 = B0 50 6E @Toggle 31 = 90 2E 7F @Toggle 32 = 90 2F 7F @Toggle 33 = 90 30 7F @OnOff 34 = 90 31 7F @OnOff 35 = 90 32 7F @OnOff 36 = 90 33 7F @OnOff 37 = 90 34 7F @OnOff 38 = 90 35 7F @OnOff 39 = 90 36 7F @OnOff 40 = 90 37 7F @OnOff 41 = 90 38 7F @OnOff 42 = 90 39 7F @OnOff 43 = 90 3A 7F @OnOff 44 = 90 3B 7F @OnOff 45 = 90 3C 7F @OnOff 46 = 90 3D 7F @OnOff 47 = 90 3E 7F @OnOff 48 = 90 3F 7F @OnOff 49 = 90 40 7F @OnOff 50 = 90 41 7F @OnOff 51 = 90 42 7F @OnOff 52 = 90 43 7F @OnOff 53 = 90 44 7F @OnOff 54 = 90 45 7F @OnOff 55 = 90 46 7F @OnOff 56 = 90 47 7F @OnOff 57 = 90 48 7F @OnOff 58 = 90 49 7F @OnOff 59 = 90 4A 7F @OnOff 60 = 90 4B 7F @OnOff 61 = 90 4C 7F @OnOff 62 = 90 4D 7F @OnOff 63 = 90 4E 7F @OnOff 64 = 9F 4F 7F @OnOff when i use mk_syx.pl there is this error Microsoft Windows [Versione 6.0.6002] Copyright © 2006 Microsoft Corporation. Tutti i diritti riservati. E:\>mk_syx.pl custom32.ini # 1 B0 15 [00-7F:00] TUNE DEC| # 2 B0 05 [00-7F:00] GLIDE DEC| # 3 B0 3A [00-7F:00] MOD MIX DEC| # 4 B0 4F [00-7F:00] OSC1 RANGE DEC| # 5 B0 50 [00-7F:00] OSC1 WAVE DEC| # 6 B0 10 [00-7F:00] OSC2 RANGE DEC| # 7 B0 48 [00-7F:00] OSC2 FREQ DEC| # 8 B0 53 [00-7F:00] OSC2 WAVE DEC| # 9 B0 14 [00-7F:00] OSC3 RANGE DEC| #10 B0 55 [00-7F:00] OSC3 FREQ DEC| #11 B0 56 [00-7F:00] OSC3 WAVE DEC| #12 B0 19 [00-7F:00] OSC1 VOL DEC| #13 B0 1A [00-7F:00] OSC2 VOL DEC| #14 B0 1B [00-7F:00] OSC3 VOL DEC| #15 B0 22 [00-7F:00] NOISE VOL DEC| #16 B0 26 [00-7F:00] FEEDBACK DEC| #17 B0 4A [00-7F:00] CUTOFF DEC| #18 B0 47 [00-7F:00] EMPHASIS DEC| #19 B0 49 [00-7F:00] CONTOUR DEC| #20 B0 11 [00-7F:00] ATTACK DEC| #21 B0 12 [00-7F:00] DECAY DEC| #22 B0 13 [00-7F:00] SUSTAIN DEC| #23 B0 0D [00-7F:00] VCA ATTACK DEC| #24 B0 0E [00-7F:00] VCA DECAY DEC| #25 B0 0F [00-7F:00] VCA SUSTAIN DEC| #26 A0 47 [00-7F:00] CH RATE DEC| #27 A0 49 [00-7F:00] CH DEPTH DEC| #28 A0 48 [00-7F:00] CH PHASE DEC| #29 A0 4A [00-7F:00] CH FEEDBACK DEC| #30 A0 51 [00-7F:00] DELAY TIME DEC| #31 B0 77 [00-7F:00] DELAY FEED DEC| #32 A0 54 [00-7F:00] DELAY DUMP DEC| substr outside of string at E:\mk_syx.pl line 1311. Use of uninitialized value in ord at E:\mk_syx.pl line 1311. substr outside of string at E:\mk_syx.pl line 1311. Use of uninitialized value in ord at E:\mk_syx.pl line 1311. substr outside of string at E:\mk_syx.pl line 1311. Use of uninitialized value in ord at E:\mk_syx.pl line 1311. substr outside of string at E:\mk_syx.pl line 1311. Use of uninitialized value in ord at E:\mk_syx.pl line 1311. substr outside of string at E:\mk_syx.pl line 1311. Use of uninitialized value in ord at E:\mk_syx.pl line 1311. substr outside of string at E:\mk_syx.pl line 1311. Use of uninitialized value in ord at E:\mk_syx.pl line 1311. substr outside of string at E:\mk_syx.pl line 1311. Use of uninitialized value in ord at E:\mk_syx.pl line 1311. substr outside of string at E:\mk_syx.pl line 1311. Use of uninitialized value in ord at E:\mk_syx.pl line 1311. substr outside of string at E:\mk_syx.pl line 1311. Use of uninitialized value in ord at E:\mk_syx.pl line 1311. E:\> maybe this is the problem? how can i set the flag for snapshot at power on for compile a new hex file? thanks for answer Quote Link to comment Share on other sites More sharing options...
TK. Posted May 18, 2012 Report Share Posted May 18, 2012 maybe this is the problem? how can i set the flag for snapshot at power on for compile a new hex file? There is no problem - you can safely ignore these warnings. The script has generated a .syx file (not a .hex file). E.g. if you named your .ini file 'dinama.ini', you should now have a 'dinama.syx' Just upload this new .syx file with the SysEx tool which is part of MIOS Studio -> done! how can i set the flag for snapshot at power on for compile a new hex file? You already enabled the "SNAPSHOT_AT_POWERON" option in your .ini file. You don't need to compile a .hex file You've generated a .syx file with the "mk_syx.pl" script, it contains the configuration (and no program code). Now you have to upload the .syx file with the SysEx tool. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
dinama Posted May 19, 2012 Author Report Share Posted May 19, 2012 I'll became crazy. I generated a .syx file with the "mk_syx.pl" script. But every time i turn on the midibox64 i have this message in mios studio [959553.937] f0 00 00 7e 40 00 01 f7 [959557.559] b0 15 00 Chn# 1 CC# 21 = 0 [959557.559] b0 05 00 Chn# 1 CC# 5 = 0 [959557.563] b0 3a 00 Chn# 1 CC# 58 = 0 [959557.563] b0 4f 00 Chn# 1 CC# 79 = 0 [959557.563] b0 50 00 Chn# 1 CC# 80 = 0 [959557.565] b0 10 00 Chn# 1 CC# 16 = 0 [959557.565] b0 48 00 Chn# 1 CC# 72 = 0 [959557.567] b0 53 00 Chn# 1 CC# 83 = 0 [959557.567] b0 14 00 Chn# 1 CC# 20 = 0 [959557.569] b0 55 00 Chn# 1 CC# 85 = 0 [959557.571] b0 56 00 Chn# 1 CC# 86 = 0 [959557.571] b0 19 00 Chn# 1 CC# 25 = 0 [959557.571] b0 1a 00 Chn# 1 CC# 26 = 0 [959557.573] b0 1b 00 Chn# 1 CC# 27 = 0 [959557.573] b0 22 00 Chn# 1 CC# 34 = 0 [959557.575] b0 26 00 Chn# 1 CC# 38 = 0 [959557.577] b0 4a 00 Chn# 1 CC# 74 = 0 [959557.577] b0 47 00 Chn# 1 CC# 71 = 0 [959557.577] b0 49 00 Chn# 1 CC# 73 = 0 [959557.579] b0 11 00 Chn# 1 CC# 17 = 0 [959557.579] b0 12 00 Chn# 1 CC# 18 = 0 [959557.581] b0 13 00 Chn# 1 CC# 19 = 0 [959557.581] b0 0d 00 Chn# 1 CC# 13 = 0 [959557.583] b0 0e 00 Chn# 1 CC# 14 = 0 [959557.583] b0 0f 00 Chn# 1 CC# 15 = 0 [959557.585] a0 47 00 Chn# 1 Aftertouch B-3 0 [959557.585] a0 49 00 Chn# 1 Aftertouch C#4 0 [959557.587] a0 48 00 Chn# 1 Aftertouch C-4 0 [959557.587] a0 4a 00 Chn# 1 Aftertouch D-4 0 [959557.589] a0 51 00 Chn# 1 Aftertouch A-4 0 [959557.591] b0 77 00 Chn# 1 CC#119 = 0 [959557.591] a0 54 00 Chn# 1 Aftertouch C-5 0 [959557.623] b0 41 00 Chn# 1 CC# 65 = 0 [959557.625] b0 3b 00 Chn# 1 CC# 59 = 0 [959557.627] b0 16 00 Chn# 1 CC# 22 = 0 [959557.627] b0 57 00 Chn# 1 CC# 87 = 0 [959557.629] b0 1c 00 Chn# 1 CC# 28 = 0 [959557.631] b0 1d 00 Chn# 1 CC# 29 = 0 [959557.631] b0 1e 00 Chn# 1 CC# 30 = 0 [959557.631] b0 22 00 Chn# 1 CC# 34 = 0 [959557.633] b0 4f 00 Chn# 1 CC# 79 = 0 [959557.633] b0 4f 00 Chn# 1 CC# 79 = 0 [959557.634] b0 4f 00 Chn# 1 CC# 79 = 0 [959557.636] b0 4f 00 Chn# 1 CC# 79 = 0 [959557.636] b0 4f 00 Chn# 1 CC# 79 = 0 [959557.638] b0 4f 00 Chn# 1 CC# 79 = 0 [959557.638] b0 4f 00 Chn# 1 CC# 79 = 0 [959557.638] b0 4f 00 Chn# 1 CC# 79 = 0 [959557.640] 90 3c 00 Chn# 1 Note Off C-3 (optimized) [959557.640] 90 3d 00 Chn# 1 Note Off C#3 (optimized) [959557.643] 90 3e 00 Chn# 1 Note Off D-3 (optimized) [959557.645] 90 3f 00 Chn# 1 Note Off D#3 (optimized) [959557.645] 90 7c 00 Chn# 1 Note Off E-8 (optimized) [959557.645] 90 7d 00 Chn# 1 Note Off F-8 (optimized) [959557.647] 90 7e 00 Chn# 1 Note Off F#8 (optimized) [959557.647] 90 7f 00 Chn# 1 Note Off G-8 (optimized) [959557.649] b0 50 00 Chn# 1 CC# 80 = 0 [959557.651] b0 50 00 Chn# 1 CC# 80 = 0 [959557.651] b0 50 00 Chn# 1 CC# 80 = 0 [959557.651] b0 50 00 Chn# 1 CC# 80 = 0 [959557.653] b0 50 00 Chn# 1 CC# 80 = 0 [959557.653] b0 50 00 Chn# 1 CC# 80 = 0 [959557.655] 90 2e 00 Chn# 1 Note Off A#1 (optimized) [959557.655] 90 2f 00 Chn# 1 Note Off B-1 (optimized) [959557.657] 90 30 00 Chn# 1 Note Off C-2 (optimized) [959557.659] 90 31 00 Chn# 1 Note Off C#2 (optimized) [959557.659] 90 32 00 Chn# 1 Note Off D-2 (optimized) [959557.659] 90 33 00 Chn# 1 Note Off D#2 (optimized) [959557.661] 90 34 00 Chn# 1 Note Off E-2 (optimized) [959557.661] 90 35 00 Chn# 1 Note Off F-2 (optimized) [959557.663] 90 36 00 Chn# 1 Note Off F#2 (optimized) [959557.665] 90 37 00 Chn# 1 Note Off G-2 (optimized) [959557.665] 90 38 00 Chn# 1 Note Off G#2 (optimized) [959557.665] 90 39 00 Chn# 1 Note Off A-2 (optimized) [959557.667] 90 3a 00 Chn# 1 Note Off A#2 (optimized) [959557.667] 90 3b 00 Chn# 1 Note Off B-2 (optimized) [959557.669] 90 3c 00 Chn# 1 Note Off C-3 (optimized) [959557.669] 90 3d 00 Chn# 1 Note Off C#3 (optimized) [959557.671] 90 3e 00 Chn# 1 Note Off D-3 (optimized) [959557.673] 90 3f 00 Chn# 1 Note Off D#3 (optimized) [959557.673] 90 40 00 Chn# 1 Note Off E-3 (optimized) [959557.673] 90 41 00 Chn# 1 Note Off F-3 (optimized) [959557.675] 90 42 00 Chn# 1 Note Off F#3 (optimized) [959557.675] 90 43 00 Chn# 1 Note Off G-3 (optimized) [959557.676] 90 44 00 Chn# 1 Note Off G#3 (optimized) [959557.676] 90 45 00 Chn# 1 Note Off A-3 (optimized) [959557.678] 90 46 00 Chn# 1 Note Off A#3 (optimized) [959557.678] 90 47 00 Chn# 1 Note Off B-3 (optimized) [959557.680] 90 48 00 Chn# 1 Note Off C-4 (optimized) [959557.680] 90 49 00 Chn# 1 Note Off C#4 (optimized) [959557.682] 90 4a 00 Chn# 1 Note Off D-4 (optimized) [959557.682] 90 4b 00 Chn# 1 Note Off D#4 (optimized) [959557.685] 90 4c 00 Chn# 1 Note Off E-4 (optimized) [959557.687] 90 4d 00 Chn# 1 Note Off F-4 (optimized) [959557.687] 90 4e 00 Chn# 1 Note Off F#4 (optimized) [959557.687] 9f 4f 00 Chn#16 Note Off G-4 (optimized) As you can see all the CC are set to zero but on the controller all the pot are at half turn (12.00 o'clock position) As i turn a pot a little the value jump immediately to the real value. that's why i ask help about a programming solution of this problem like this unsigned char i; unsigned char MyArray[num_ains]; for (i = 0 ; i <= num_ains ; i++) { MyArray[(i)] = MIOS_AIN_Pin7bitGet(i); } The problem for me is where i can put this code. At this time, everytime i turn on the controller, it not reflect the current pot position so for the musician is impossible to know what are the current synth setting. very very strange. i tried with many file but always the same. the rest is all ok. thanks for help. Quote Link to comment Share on other sites More sharing options...
TK. Posted May 19, 2012 Report Share Posted May 19, 2012 Of course, with SNAPSHOT_AT_POWERON it is intended to send the current pot and button positions, otherwise this function wouldn't really make sense (like you are saying). If only 0x00 values are sent, it seems to be a bug! I will fix this soon. Btw.: the MIDIbox64 firmware is assembly based, coding in assembly is difficult and error prone. Thats one of the reason why this function doesn't work - I have to try and fix it by myself. Btw2.: MIOS32 based projects are programmed in C and C++, so that such bugs are less likely ;-) Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
TK. Posted May 19, 2012 Report Share Posted May 19, 2012 @Dinama and @Unuldinei: could you please try this firmware: http://www.ucapps.de/mios/midibox64_v2_4e.zip After upload of the .hex file, please send your .syx configuration again. Thereafter the current pot and button settings should be sent after power-on as expected. I will release this version once I got the confirmation that it also works at your side. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
dinama Posted May 21, 2012 Author Report Share Posted May 21, 2012 After several attempts i can say that your solution is right for pots position (AIN). I uploaded the new hex file and sent my .syx configuration and now when i turn on the midibox64 i can see on lcd the real value of pots. For the buttons (DIN), the situation is different. The solution is not valid but i think this problem is in the nature of momentary switch. The momentary switch don't have a memory or a continuous value (from 0-1-2-3... to 127 like the pots)so they must always be used to change value. I tried with al supported button behaviours (@Toggle, @OnOff, @OnOnly). At power-on the values is always 0x00. The solution is wire the button like a pot on AIN so the midibox64 can read the value 0(OFF) or 127(ON). In this case the midibox64 reflect the real position of buttons. Maybe there is a coding solution but i don't know. Thanks TK. Quote Link to comment Share on other sites More sharing options...
TK. Posted May 21, 2012 Report Share Posted May 21, 2012 Hi, good news: I reviewed the code and noticed that the DIN mapping wasn't taken into account. Accordingly, the DIN state was mapped to the wrong MIDI event after power-on. Here a corrected version: http://www.ucapps.de/mios/midibox64_v2_4f.zip Please try it, maybe it helps a bit. For the buttons (DIN), the situation is different. The solution is not valid but i think this problem is in the nature of momentary switch. The momentary switch don't have a memory or a continuous value (from 0-1-2-3... to 127 like the pots)so they must always be used to change value. This is true for a momentary button, especially if the toggle function is used, as the state (on or off) is stored in software. A workaround would be to store a snapshot before power-off (press&hold SNAPSHOT button for two seconds), and to recall the snapshot after power-on (press the SNAPSHOT button shortly) But if a "real switch" is connected instead, the state is stored "mechanically" and therefore can be recalled after power-on without a manual snapshot (if you are using the new firmware) The solution is wire the button like a pot on AIN so the midibox64 can read the value 0(OFF) or 127(ON). In this case the midibox64 reflect the real position of buttons. No, it would be the same problem - you would have to store the state with the SNAPSHOT button. But just to be sure: when you are speaking about a "momentary switch", to you really mean a switch like this one: Or do you mean a momentary button like this one: Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
dinama Posted May 22, 2012 Author Report Share Posted May 22, 2012 momentary switch - second picture. I make few test with new firmware(revision f) For me it's ok. I connected to din some mechanical switch (first picture) and at the power-on i can read the real position of a switch on the lcd of midibox64. Thanks Quote Link to comment Share on other sites More sharing options...
rvlt Posted June 19, 2012 Report Share Posted June 19, 2012 Hi, could it be that the same bug made it into the MB64e as well? Because I also get all the CC messages set to zero every time I switch the box on (with snapshot_at_poweron enabled). I guess I'm using version 2.2d Best regards Lars Quote Link to comment Share on other sites More sharing options...
TK. Posted June 20, 2012 Report Share Posted June 20, 2012 Yes, MB64E has to be updated as well... soon - stay tuned! ;) Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
rvlt Posted June 20, 2012 Report Share Posted June 20, 2012 Cool. Will do.. ;) Quote Link to comment Share on other sites More sharing options...
rvlt Posted November 26, 2012 Report Share Posted November 26, 2012 A friendly bump :shifty: Any news on an updated MB64e? Would be great to see this working on my MB64e.. Quote Link to comment Share on other sites More sharing options...
TK. Posted December 20, 2012 Report Share Posted December 20, 2012 Finally (after a slight modification on my MB16E, so that I can use it for MBHP_CORE and MBHP_CORE_LPC17 :)) -> http://www.ucapps.de/mios/midibox64e_v2_2e.zip Could you please test the changes at your side? Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
rvlt Posted December 25, 2012 Report Share Posted December 25, 2012 :thumbsup: Yes, snapshot is working fine now, thanks!! There is only one small problem left: in the middle of the (correct) snapshot values is some sysex data and two pitchbend values (-8192 at Ch. 9 and 13). I don't know were that comes from, maybe it's a configuration mistake on my side. This was in version 2.2d as well. But honestly this is not much of a problem in my case. Cheers Lars Quote Link to comment Share on other sites More sharing options...
TK. Posted December 25, 2012 Report Share Posted December 25, 2012 Cool! :) I will officially release this version once I'm back home. Yes, the PitchBend and SysEx values are very likely generated from wrongly configured encoder or button elements. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
lajos Posted December 28, 2012 Report Share Posted December 28, 2012 Hello Thorsten! Would be a problem to have an electric throw / Edrum 16ch / That I would like to set per channel volume but do not know how. In principle, it can be Midibox64-but how? Or something else you can give me a solution? A Yamaha PSR-300 synthesizer controls the drum. And one or two smaller drum sound hangerővelkellene to speak! There are some simple circuit for this? Louis Regards from Hungary! Quote Link to comment Share on other sites More sharing options...
TK. Posted December 28, 2012 Report Share Posted December 28, 2012 A completely different project -> continue at this site, the guys did a great work: http://www.edrum.info Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
lajos Posted December 29, 2012 Report Share Posted December 29, 2012 Hey! I would like to point midibox64-if I could drum up the volume! Quote Link to comment Share on other sites More sharing options...
lajos Posted December 29, 2012 Report Share Posted December 29, 2012 Hello! All I'd be curious to midibox64 it might be resolved, resulting in a MIDI signal volume changes? If yes, how? Thank you. Louis. Quote Link to comment Share on other sites More sharing options...
unuldinei Posted December 29, 2012 Report Share Posted December 29, 2012 (edited) hm, I have an edrum , but I think the MIDIBOX can be configure easy to be an edrum , if you know what MIDI events you want to control . Drums MIDI on Channel 10 , and a kick , from GM MIDI standard is 36 like in the link http://upload.wikimedia.org/wikipedia/commons/8/85/GMStandardDrumMap.gif . in the midibox.ini configure the one of buttons or potentiometer like a ################################### [bUTTONS] # First 16 Buttons 1 = 90 24 7F @OnOff ----- 9 = Note ON 0 = midi channel ; 24 hexadecimal = 36 the kick ; 7F = volume at maximum (127 decimal level) ; so , after the model (...) ###################################### for the potentiometer is more complicated , but I think is possible to modify the analog input of edrum for AIN . Happy New Year ! Edited December 29, 2012 by unuldinei Quote Link to comment Share on other sites More sharing options...
lajos Posted December 29, 2012 Report Share Posted December 29, 2012 Thank you! Happy New Year ! 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.