Jump to content

Saving/Dumping and Loading Snapshots


Recommended Posts

Hey everybody


Today, I tried to get a step further with my synth and start configuring snapshot functionalities. Unfortunately, I didn't get very far. I can set snapshot numbers and save or dump them.

I don't get the exact difference, but I belief that saving means that the last event state is being saved and dump means that all ID's states get saved (except the nodump ones). Can somebody confirm this assumption?

As far as I understand, 127 different snapshots (127 times all ID's states) can be saved/dumped into one .NGS file. When I do this (via SCS standard menu or a self configured shortcut using the meta events DumpSnapshot and LoadSnapshot), the NGS file gets a bit larger, whenever I save to a new snapshot number. Also when I load a snapshot, I receive the line "loading snapshot #0 from /DEFAULT.NGS" in the MIOS monitor. If done via SCS menu, I get the confirmation on the LCD saying that all went well.

However, no values get set if I load. Or in other words, if I dump two different snapshots and change one toggle button state, loading the snapshots won't load one or the other button state.

I do load snapshot 0 in section 0 of my .NGR (at reset). This usually works and I get a "save state" in order for the synth to operate correctly. Unfortunately, sometimes, this dump gets corrupted as well and I have to dial in everything again. (@Thorsten: If you read this, the automatic dump every couple of seconds caused some timing problems which caused short audible interruptions when playing notes, so I had to disable it)

Some special configurations of my Midibox could cause problems:

- The load Snapshot 0 in section 0 might somehow trigger and reload dump Nr. 0. However, this should not happen and of course I tried without this code line and it didn't change anything.

- I do have a couple of LEDs which I set in the .NGR script. I don't know if these get dumped as well and if loading also triggers the events which these sections get executed, so the LEDs get correctly set.

- Some rotary switches trigger .NGR scripts which set LEDs in a binary fashion. Again, I am not sure if the states of these LEDs get dumped and if the scripts get triggered after reload. However, it doesn't work with simple events like

EVENT_BUTTON id=  1088  type=CC    fwd_id=LED:2048  button_mode=Toggle  chn= 1 cc= 110 range= 0:127 lcd_pos=1:1:5  label="LFO Freq    ^highlow     "

for example.

Unfortunately, I don't get it how the .NGS file is structured in order to check how different snapshots differ.

Does anybody have some experience with the whole snapshot thing and can give me some guidance?


Should this all work one day, I would like to save some presets. Actually, I would like to try to convert the preset file from the original Moog Voyager and somehow upload these presets onto my midibox. I have Banks from A-E with 127 presets each. As far as I understand, "Bank" and "Patch" cannot be used for this, since these terms are used in different ways as they might suggest. The way I see it, I can do this by saving them in different .NGS files. However, I am not sure, if I have to create .NGC, .NGL and .NGR files with corresponding names in order for this to work as I would like or if multiple .NGS files can be loaded with one set of configuration files. Converting the original presets is going to be challenging, but maybe somebody has an idea how to do this as well?


I am running Midibox NG V1.035 by the way.


As always, help is very much appreciated.









Link to comment
Share on other sites

Hi Andy,

some notes: the file structure can be determined by reading the code in MBNG_FILE_S_Write http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fsrc%2Fmbng_file_s.c

The file header stores the file positions of the 128 possible snapshots

And the snapshot sections store

  • the event id
  • the event value
  • the "secondary" event value

for each event

The snapshot feature can only work correctly if:

  • no new events are added anymore
  • event ids are not changed

So - whenever you are adding events or changing the purpose of event ids, the .NGS file has to be removed, and it has to be created again (unfortunately... there is no automatic "migration" available yet)

If this isn't the problem, a debugging hint: enter "set debug on" in MIOS terminal and check the messages while a snapshot is loaded

Best Regards, Thorsten.


Link to comment
Share on other sites

Hi Thorsten

Ah, I got it. I have to first "save" each snapshot number (like set it up the first time) at least once, in order to "dump" values in it. As it seems, I haven't fully understood the difference between saving and dumping a snapshot. Can you please explain this? What I intend to do is simply store all current set values into a snapshot whenever I hit the button. Can I simply use save every time?

How about the multiple banks of presets? Is my assumption correct, that I have to save them in different .NGS which would mean that I need to have copies of all configuration files with the same name as the corresponding .ngs for each .ngs?


Thanks for your reply and best regards,


Edited by Highcooley
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.

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.


  • Create New...