Watch It!
Posted: Tue Jan 07, 2020 4:43 am
A little while back, a few of us were discussing the hassle of navigating around a schematic when debugging, and Spogg said something that I've long thought myself...
Well, I've a way to go before my beard will reach Santa-sized proportions (though it's just about the right colour), and magicking up a split view is something only the developers can really do; but I did spend the Xmas holidays getting back to a long-dormant project very much along those lines - the "Trogtools Schematic Watcher"...
As the filename suggests, this is still rather a work-in-progress, but I've found it useful enough in a couple of my other projects that I thought it was worth seeing what anyone else made of it (NB: If you save the file with a new name using "Save as...", you have to close FS and re-open the file).
There's a main viewer module with two views - an "events" time-line of incoming triggers/events in the order received, and a "traces" view showing a selection of current values and trigger counts. A bunch of little 'watcher' modules that you wire up just like trigger counters determine what you want to watch. There are no "wireless rules"; both GUI and 'watchers' can be anywhere in the schematic, and you can even have multiple GUIs in different places wherever you need to see what you're doing - the only limitation (feature!) is that they all have to be within the same schematic.
You can watch all of the common 'green' values, audio streams either as raw values or as audio-level meters, MIDI messages, and even Ruby code via a little extension to the 'watch' method (which is where I stole the name from!) Triggered events can also open messageBoxes ("popups") for when you really don't want to miss something. The schematic contains examples of how to use most of this, and a 'user guide' module contains more detailed instructions.
I've only tested in FS 3.0.6 so far, so "caveat emptor", of course; but any and all feedback would be gratefully received, as like all developer tools, it does need to be particularly sturdy and I'm bound to have missed many things!
Spogg wrote:It would be really nice if we had two simultaneous views available: one for the highest level - the front panel, and one for diving into the schematic. Often I’ve had to put readouts inside modules then go to the front panel to see what’s happening, or sometimes put knobs and such into modules so I could emulate the front panel for testing and de-bugging.
Maybe be a letter to Santa?
Well, I've a way to go before my beard will reach Santa-sized proportions (though it's just about the right colour), and magicking up a split view is something only the developers can really do; but I did spend the Xmas holidays getting back to a long-dormant project very much along those lines - the "Trogtools Schematic Watcher"...
As the filename suggests, this is still rather a work-in-progress, but I've found it useful enough in a couple of my other projects that I thought it was worth seeing what anyone else made of it (NB: If you save the file with a new name using "Save as...", you have to close FS and re-open the file).
There's a main viewer module with two views - an "events" time-line of incoming triggers/events in the order received, and a "traces" view showing a selection of current values and trigger counts. A bunch of little 'watcher' modules that you wire up just like trigger counters determine what you want to watch. There are no "wireless rules"; both GUI and 'watchers' can be anywhere in the schematic, and you can even have multiple GUIs in different places wherever you need to see what you're doing - the only limitation (feature!) is that they all have to be within the same schematic.
You can watch all of the common 'green' values, audio streams either as raw values or as audio-level meters, MIDI messages, and even Ruby code via a little extension to the 'watch' method (which is where I stole the name from!) Triggered events can also open messageBoxes ("popups") for when you really don't want to miss something. The schematic contains examples of how to use most of this, and a 'user guide' module contains more detailed instructions.
I've only tested in FS 3.0.6 so far, so "caveat emptor", of course; but any and all feedback would be gratefully received, as like all developer tools, it does need to be particularly sturdy and I'm bound to have missed many things!