dinama

SNAPSHOT_AT_POWERON

27 posts in this topic

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 by dinama

Share this post


Link to post
Share on other sites

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 by unuldinei

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

If you are using the MIDIbox64 firmware, you only need to enable the SNAPSHOT_AT_POWERON option.

No programming required!

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

@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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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:

MSS13ASP.jpg

Or do you mean a momentary button like this one:

PHAP3301.jpg

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Yes, MB64E has to be updated as well... soon - stay tuned! ;)

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Cool. Will do..

;)

Share this post


Link to post
Share on other sites

A friendly bump :shifty:

Any news on an updated MB64e? Would be great to see this working on my MB64e..

Share this post


Link to post
Share on other sites

: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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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!
 

Share this post


Link to post
Share on other sites

A completely different project -> continue at this site, the guys did a great work: http://www.edrum.info

 

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites
Hey!
I would like to point midibox64-if I could drum up the volume!

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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 by unuldinei

Share this post


Link to post
Share on other sites

Thank you! Happy New Year !

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now