Reload file from SD that is already in memory not used

I am running patch X on Meta. I take out the card, edit X and reinsert the card. When I try to load X from the card, the old version remains active. Rebooting the module loads the updated file. I think it should always read from the card when it’s selected, regardless of what’s in memory.

I think this is a known issue… though there was some mention of it changing in latest firmware 1.3.1

generally, Ive found, if the patch is already in memory (esp if its been edited), if you try to load from card it will not reload - you have to use Revert instead.

i used to have this problem but with the 1.3.1 firmware i haven’t been having it. when i reinsert the usb thumb drive and reload the patch, it reflects any changes i just made to it in vcv/laptop. are you sure you have the latest firmware?

ok actually i was wrong- have been busy lately and didn’t really fully test. so the mm doesn’t actually fully reload the new version. it just shows the changes- so its deceptive in that it appears to be the latest version of the yml. but the audio playing is still the old version.

for example: i create a simple patch in vcv: lets say 2 oscillators running hot direct into outs 1/2 on the mm. i transfer the yml to the usb drive and load it up on the mm and run it. i hear the 2 oscillators coming out of 1/2 on the mm. then i go back to vcv, remove those 2 oscillators, then resave the yml and go back to mm, and immediately reload the recently changed/oscillators removed yml. on the screen, the 2 oscillator modules are gone but i still hear them and the cpu still reflects as though the old version- with 2 oscillators, is still running.

@danngreen - this seems maybe like a bug, or am i just doing something wrong?

of course i can get the latest version to run, however i still need to load up an empty dummy yml first, then load the yml im actually working on.

A quick fix is to load a different project, and then load the one that’s updated. I think it’s a simple case of the code doing ‘hey I already loaded this file in memory and I can’t check if it’s changed so I don’t do anything’. My suggestion is to always reload when the source is SD.

I think this is all related to the discussion we had here

(simplified take from that discussion)

patches are loaded into memory, and if you make ANY change (e.g adjust a parameter), it gets marked as ‘changed’ (red dot).

the issue then is… the MM has no idea if its reasonable to ‘bin’ this change even it knew the sd card version was different…
e.g. did you just alter a parameter, or did you make big changes that you want to keep ?

I think the intended behaviour is, it reloads from sdcard IF the loaded patch as not been changed at all (no red dot) , otherwise it does not.
you can then use revert, to force a reload.

one oddity, which I think still exists is… if you load/open from card, (regardless if you unmounted or not) , it will not load if patch is change.
I think this is ‘wrong’, as you are kind of explicitly stating you want the one on the card.

I guess, is a pop up dialog - in the scenarios where its unclear if MM should reload from sdcard or not. this was talked about in above topic.
(e.g. patch changed on card, you ask to reload from card etc)

i agree. since there’s no way to build the patch in vcv and have it work exactly 1 for 1 on the mm (but maybe there will be an emulator for pc one day?), we’re going to typically have to make many many micro adjustments before we can call a patch finished- how does this module or that module in x y z configuration effect cpu or effect the sound of the patch? could be hundreds or more reloads… even thousands w certain patches. so having the mm just fully quickly reload into mem the yml being worked on from the load menu without having to load in a separate yml first, would make the currently tedious iteration process far less sloggy.

i loved the idea dan mentioned, you just hit the back button, then hit it again to return to the patch and it fully reloads. seems really quick/painless. the less clicks the better

Ah! You’re right, that’s a bug! I’ll fix it. I only had it reloading from disk, but not resetting the patch player to play the new data.

Yeah, the Back-Back thing would work if you haven’t modified the patch on the MM (that is, you didn’t add/remove any cables or mappings, didn’t add/remove any modules, etc).
The pop-up @TheTechnobear refers to is if you DID change the patch on the MM. Let’s say you mapped a knob on the MM, and in VCV you added a module and then saved that on the USB drive. So now there are two versions, and one of them only lives in memory (you haven’t saved your changes on the MM, let’s say). I don’t think the changes you made on the MM should be erased if you load the one from disk, because it might be easy forget you did a mapping (or added a couple modules, or re-routed some cables), and then it’s just lost without warning. So a pop-up asking you what to do would be nice but also more clicks. It would only happen if you made changes in both VCV and MM.
Another thing is is could just automatically make a backup of the MM and then load the version on disk. Less clicks this way, and at least you could find those changes (maybe in a special folder “unsaved-changes/” or something…) But maybe not intutive?

Ok, found the bug and merged the fix into the beta branch for v1.4.0.
Here you go:

https://github.com/4ms/metamodule/releases/download/firmware-v1.4.0-beta-3/metamodule-firmware-v1.4.0-beta-3-firmware-assets.zip

1 Like

seems to be working great now w 1.4 b3. ty dan!

1 Like