Jump to content

MIDIbox NG Release + Feedback


TK.
 Share

Recommended Posts

  • Replies 353
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

  • 5 weeks later...

Just another hint: Don't you think that it would be useful to delete NGC files from the SCS? As far as I checked it you can only save and load files.

 

And another one: Is it possible to access the DISK-menu without switching to the SCS menu first, scroll through the list and call it? A direct access would be also great :smile:

Also a "save-button" would be a nice enhancement. :) So a config-file could easily be saved without going into scs.

 

Bug-Report:

When I save a file to the SD-Card through the SCS I'm not able to open this file in the MIOS-File Browser. It says "Failed to access /XXX.NGC".

Edited by FantomXR
Link to comment
Share on other sites

Added enhancement requests to wish list.

 

To the bug report: did you press the "Update" button before loading the file?

"Update" ensures that you can see the current SD Card directory content (there is no auto-refresh)

 

Best Regards, Thorsten.

Link to comment
Share on other sites

  • 2 weeks later...
Hi,

 

it's currently not possible to map a AOUT value from a customized map with the required resolution - I added this to the wish list.

 

Best Regards, Thorsten.

It will be great !!!

Same principle as the one you made for MF_NG

Do you think it's possible to go up to 14bit map ?

I hope to use this kind of feature in my analog PI motor driver proto using AIN and AOUT

But in a more global view I think it will be a big step for lot of application, from exotic syth to modern analog desk with VCA automation.

Best

Zam

Link to comment
Share on other sites

A 14bit map would allocate 32k RAM.

For STM32F1 and LPC17 it wouldn't be possible to provide such a feature, because memory is already completely used by the application.

For STM32F4 there would be a possibility, but it contradicts with other planned features, such as the .NGR bytecode interpreter.

And I got a request to provide individual delay parameters for each key of a keyboard which will consume some memory as well.

 

Therefore it's very unlikely that I will provide a map with such a high resolution - It's probably better to work on a dedicated application for this usecase.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

A 14bit map would allocate 32k RAM.

For STM32F1 and LPC17 it wouldn't be possible to provide such a feature, because memory is already completely used by the application.

For STM32F4 there would be a possibility, but it contradicts with other planned features, such as the .NGR bytecode interpreter.

And I got a request to provide individual delay parameters for each key of a keyboard which will consume some memory as well.

 

Therefore it's very unlikely that I will provide a map with such a high resolution - It's probably better to work on a dedicated application for this usecase.

 

Best Regards, Thorsten.

Ok i understand that.

Is 10 bit possible like the MF_NG with pic18 ?

But maybe I'm wrong? Is what you call "map" here the same as what we call "table" in mbhp_mf_ng_v1_005 ?

I request this same function but for mios32 and AIN-AOUT

Best

Zam

Link to comment
Share on other sites

A 10bit map is less problematic, it would only consume 2k RAM and therefore could be put into the memory pool which also stores the EVENTs.

 

Currently only 8bit maps are supported, 10bit maps will require some changes at many places, but at least I can confirm that it's feasible.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

  • 3 months later...

Hello TK,

 

haven't touched the code on my MB_NG for a long time (cause it's all working perfectly), but is that "timecode on LCD" feature still planned? 

 

Best regards

Lars

 

Re. Logic Control Mode:

 

Is it possible to display the SMPTE timecode / Beat on a regular LCD instead of the 7seg-digits?

 

 

This is on my TODO list... 
Link to comment
Share on other sites

Thanks for the reminder, but it isn't implemented yet

 

The firmware is currently in a phase where I had to do some hotfixes and need feedback from users if the existing functions are still working correctly.

Please help me to test the latest firmware with your MIDIbox: http://www.ucapps.de/mios32/midibox_ng_v1_033_pre7.zip

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Thanks for the reminder, but it isn't implemented yet

 

The firmware is currently in a phase where I had to do some hotfixes and need feedback from users if the existing functions are still working correctly.

Please help me to test the latest firmware with your MIDIbox: http://www.ucapps.de/mios32/midibox_ng_v1_033_pre7.zip

 

Best Regards, Thorsten.

 

Hi Thorsten,

 

I've been testing this firmware for many weeks. I does work but is not very stable and there are some problems as well...which maybe only happen to me :)

 

First issue:

 

Here is a part of my code:

 

EVENT_BUTTON id=  1004 button_mode=OnOnly fwd_id=LED:1004 range=1:1 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S     "
EVENT_BUTTON id=  1005 button_mode=OnOnly fwd_id=LED:1005 range=2:2 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S     "
EVENT_BUTTON id=  1006 button_mode=OnOnly fwd_id=LED:1006 range=3:3 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S     " 
EVENT_BUTTON id=  1007 button_mode=OnOnly fwd_id=LED:1007 range=4:4 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S     "
EVENT_BUTTON id=  1008 button_mode=OnOnly  type=meta meta=DumpSnapshot meta=SaveSnapshot
 
If I press these buttons very quickly for example changing between 1004 and 1005 then very often I can see on the MIOS Studio:
 
[42560.531] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS
[42561.063] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS
[42561.309] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS
[42561.573] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS
[42561.630] [FILE] FAILURE: tried to open file '/DEFAULT.NGS' for reading, but previous file hasn't been closed!
[42561.644] [FILE] FAILURE: tried to open file '/DEFAULT.NGS' for reading, but previous file hasn't been closed!
[42561.873] [MBNG_FILE_S] loading snapshot #2 from /DEFAULT.NGS
 
And also - This is really frustrating:
 
[42707.287] [MBNG_FILE_S] loading snapshot #3 from /DEFAULT.NGS
[42707.314] [MBNG_FILE_S] loading snapshot #3 from /DEFAULT.NGS
[42707.346] [MBNG_FILE_S] loading snapshot #1 from /DEFAULT.NGS
[42707.380] [MBNG_FILE_S] loading snapshot #3 from /DEFAULT.NGS
[42707.417] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file
[42707.418] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file
[42707.420] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file
[42707.422] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file
[42707.425] [MBNG_FILE_L] ERROR: failed while reading label P_SL_FA in .BIN file
[42707.427] [MBNG_FILE_L] ERROR: failed while reading label P_SO_NO in .BIN file
[42707.429] [MBNG_FILE_L] ERROR: failed while reading label P_2_3 in .BIN file
[42707.444] [MBNG_FILE_L] ERROR: failed while reading label ON_OFF in .BIN file
 
With above situation - all Conditional labels go "bananas" - I need to reset the whole NG box.
My NGL file is not very small - I have more than 260 conditional labels - file size is 8259 bytes. 
 
 
Second issue - also related to Meta Events. 
 
I can see that when Meta even is executed it "refreshes" all events and their labels as well. Problem is that I never know what label will be displayed on the screen  - in case different labels use this same position of the screen.
 
Example:
 
EVENT_BUTTON id= 1058  fwd_id=LED:1058   button_mode=toggle type=CC cc=87 chn= 14 range=  0:127  offset=  0 ports=00001000000000000000  lcd_pos=1:21:2  label="PERCUSSION:^ON_OFF  
EVENT_BUTTON id= 1059  fwd_id=LED:1059   button_mode=toggle type=CC cc=88 chn= 14 range=  0:1    offset=  0  ports=00001000000000000000  lcd_pos=1:21:2  label="PERCUSSION DEC.:^P_SL_FA" 
EVENT_BUTTON id= 1060  fwd_id=LED:1060   button_mode=toggle type=CC cc=89 chn= 14 range=  0:1    offset=  0  ports=00001000000000000000  lcd_pos=1:21:2  label="PERCUSSION LEV:^P_SO_NO"
EVENT_BUTTON id= 1061  fwd_id=LED:1061   button_mode=toggle type=CC cc=95 chn= 14 range=  0:1    offset=  0  ports=00001000000000000000  lcd_pos=1:21:2  label="PERCUSSION TYPE: ^P_2_3"
 
If I execute:
EVENT_BUTTON id=  1004 button_mode=OnOnly fwd_id=LED:1004 range=1:1 radio_group=3 lcd_pos=1:21:1 type=meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot label="REGISTRATION: %S     "
 
then any of the above Labels can appear on the screen - completely random.
 
This same rule applies to AINSER and ENC events.
 
Am I missing something again?
 
Regards,
Bartosz
 
 
Link to comment
Share on other sites

Just a quick note that NG_033 Pre7 seems to work fine here on my side. I tested it with my Tascam Controller which has a complex hardware config (direct LEDs + Buttons, Button Matrix, LED Matrix via MAX7219, Hi-Res Encoder plus an LRE8x2CS), but a rather simple software config (half of the controllers send Midi CCs on USB#2, the transport controls are configured as a Logic Control on USB#1). 

 

So far, so good..

Link to comment
Share on other sites

Just a quick note that NG_033 Pre7 seems to work fine here on my side. I tested it with my Tascam Controller which has a complex hardware config (direct LEDs + Buttons, Button Matrix, LED Matrix via MAX7219, Hi-Res Encoder plus an LRE8x2CS), but a rather simple software config (half of the controllers send Midi CCs on USB#2, the transport controls are configured as a Logic Control on USB#1). 

 

So far, so good..

Hi,

 

My testing platform is not really big either.

 

2xLCD (4x20 characters each), 64 buttons organized in matrix, 64 LED in MATRIX, 1xAINSER64 module - 36 sliders connected so far. 8 buttons connected directly to DIN module, 4 rotary encoders.

 

Software-wise is a bit more complicated.

24 BANKS, 4 sections in NGR script, over 260 conditional labels in NGL script.  4 snapshots so far.

Everything works fine except NGS / NGL

I am not a software developer - but it seems like NG doesn't have "enough time" to load conditional labels from .BIN file when when the NGS part is being executed. It works OK most of the time - but is no 100 % stable. It can crash anytime....even if just 1 button which calls NGS is pressed.

 

We need TK to check it....

 

Regards, 

Link to comment
Share on other sites

  • 2 months later...

I discovered a bug in NG! Here is an excerpt of my NGC:

EVENT_KB id=1 hw_id=1 type=NoteOn  chn=4 key=any use_key_number=1 range=59:127 kb_velocity_map=map1 bank=9
EVENT_KB id=2 hw_id=2 type=NoteOn  chn=4 key=any use_key_number=1 range=0:58 kb_velocity_map=map2 bank=9

EVENT_KB id=4 hw_id=2 type=NoteOn  chn=2 key=any use_key_number=1 range=0:58 kb_velocity_map=map2 bank=9
EVENT_KB id=3 hw_id=1 type=NoteOn  chn=2 key=any use_key_number=1 range=59:127 kb_velocity_map=map1 bank=9

And here the NGR:

if (id)BUTTON:17 != 0
  set_active (id)KB:1 1
  set_active (id)KB:2 1
else
  if (id)BUTTON:17 == 0
  set_active (id)KB:1 0
  set_active (id)KB:2 0
  exit
endif

if (id)BUTTON:18 != 0
  set_active (id)KB:3 1
  set_active (id)KB:4 1
else
  if (id)BUTTON:18 == 0
  set_active (id)KB:3 0
  set_active (id)KB:4 0
exit
endif

What I try to do is, to activate different channels on the keyboard. If I press BUTTON:17 Chn. 4 should be active and if I press BUTTON:18 also the keyboard should send on two channels (f.e. layersounds). 
What happens now is that I can set the keyboard with BUTTON:17 to chn.4 without problems. But if I press BUTTON:18 nothing happens. But the strange thing is: If I now delete the whole "BUTTON:17"-part in the NGR file and try again, it works also with BUTTON:18 to set the chn. to 2. 

I set the debug messages on and with the code I posted it says, that there is no event assigned to hw_id when trying to use BUTTON:18. 

So it seems that there are some problems with the ID-handling. If you need more informations about the problem, just let me know! Thanks!

BTW: Maybe there is an easier way to activate multiple channels on the keyboard?

Link to comment
Share on other sites

Hi FantomXR

try if this works like you expect.

The channel select buttons will run a script (to activaon press

.NGC

#CH2
EVENT_BUTTON id=1 hw_id=1 	type=Meta  meta=runsection:1 	range=127:0	button_mode=OnOff	
EVENT_BUTTON id=2 hw_id=1 	type=Meta  meta=runsection:2	range=0:127	button_mode=OnOnly
#CH3
EVENT_BUTTON id=3 hw_id=2 	type=Meta  meta=runsection:3    range=127:0	button_mode=OnOff	
EVENT_BUTTON id=4 hw_id=2 	type=Meta  meta=runsection:4	range=0:127	button_mode=OnOnly

EVENT_KB id=1 hw_id=1 type=NoteOn  chn=1
EVENT_KB id=2 hw_id=1 type=NoteOn  chn=2
EVENT_KB id=3 hw_id=1 type=NoteOn  chn=3

.NGR

#CH2
if ^section == 1
      LOG "CH2 deactivated"
      set_active (id)KB:2 0
	  endif
if ^section == 2
      LOG "CH2 activated"
	  set_active (id)KB:2 1
	  endif
#CH3
if ^section == 3
      LOG "CH3 deactivated"
	  set_active (id)KB:3 0
	  endif
if ^section == 4
      LOG "CH3 activated"
	  set_active (id)KB:3 1
	  endif

 

 

Edited by Marxon
Link to comment
Share on other sites

  • 4 weeks later...

Some bug report

If I let "debug mode on" in MIOS studio and in the mean time edit and save setting in the .NGC file, It result in a fail and disconnection, but also an empty .NGC file at reboot.

Not a big problem as I generally set debug mod off before working on the configuration file, but sometime I forgot :)

Zam

Link to comment
Share on other sites

Hm, works at my side with a similar setup (it's MacOS 10.10.5 but I think that this doesn't matter, 10.6 was working stable as well)

Seems that certain things (events) have to come together so that the failure happens?

Best Regards, Thorsten.

 

Link to comment
Share on other sites

Today I also noticed the case that the file won't be stored if the core generates a lot of MIDI traffic via the same USB channel.

The connection wasn't failing though, but I think it's a problem with the communication scheme used by the file browser, it isn't robust against "foreign MIDI traffic".
Needs some time to work this out!

Best Regards, Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share


×
×
  • Create New...