My q is as per the subject. My testing indicates the following behaviour
- load config file 1
- leave something playing
- change to config file 2, config 2 is loaded
- while still playing, edit config file 1 to change something in the file (call this config 1b)
- switch config back to file 1, config 1b is loaded
this matches what you'd expect would happen but arguably some other examples are not so obvious
- load config file 1
- leave something playing
- edit config file 1 (call this 1b)
- config 1b is NOT loaded *
- stop playback completely (output zone no longer active)
- start playback
- config 1b is NOT loaded **
I would say that the behaviour at * is not unexpected, would be nice if it registered a watcher on file (or polled for changes every second or something as that is likely a more reliable way to detect changes on a network file share, NB my config is on a local disk not a network share) but not the end of the world.
I think the behaviour at ** is deeply confusing though as there is no indication at all as to what configuration is now playing. I would be inclined to argue that's a bug especially if you compare to the previous case where playback *hasn't* stopped between config file loads yet the changes are still picked up.
The behaviour looks like it parses the config on load and then caches the result of that config until the actual config file is changed (or the program is stopped completely).
Perhaps it a button like "force reload" might be useful? alternatively some way to see what the actual loaded config really is (given that looking at the file specified is not 100% reliable)?