IX Snapshot 1.2

What does it do?

Store and restore combinations of machine properties. Unlike Peer State, IX Snapshot can capture a machine's internal state data, allowing you to store properties that are not exposed as parameters or attributes.

Installation

Copy "IX Snapshot.NET.dll" and this file to your Generators folder.

Machine Parameters

Name Function
Slot Selects the active slot. The active slot's state is shown in the main treeview.

GUI

Snapshot has a graphical interface incorporated into the machine parameters window. The window can be resized horizontally to give more room for the treeview controls, but resizing vertically is currently not possible.

The controls are organised into two sections, 'Main' and 'Manage', which can be selected using the tab controls at the top of the interface.

Main tab - Treeview controls

Control Function
Slot dropdown Selects the active slot, the same as using the Slot parameter. You can also rename the active slot and slots which contain property values will appear bold.
Information panel Shows information about properties and memory usage. Snapshots can grow to use significant amounts of memory if you capture the machine data for complex VST instruments.
Treeview

The treeview shows all of the machines in the Buzz machine view and their properties. Use the checkboxes to select which properties will be affected by the action buttons. Properties that have stored values in the active slot are shown in bold and the value is dispayed to the right of the property name.

Right-clicking an item will bring up a context menu which will allow you to manipulate that item (and it's children), regardless of whether its checkbox is selected.

Unfortunately, Snapshot cannot manipulate machine connection parameters such as amp and pan, so these will not be displayed.

Text Filter The treeview will show only machine properties that contain the text in this control. Property selection overrides this setting though, so selected properties will always be displayed, even if they don't match the filter.
Filter clear button Resets the text filter.
Filter dropdown This control allows you to see only properties that are either stored or not stored in the active slot. As with the text filter, selected properties will always be shown.
All button Select all available properties.
None button Deselect all properties.
Stored button Select only properties that are stored in the active slot.
Invert button Invert the property selection.

Main tab - Slot controls

These controls allow you to add/remove selected properties to the active slot. Right-clicking a button will allow you to bind the button action to a MIDI event (see MIDI)

Capture button Store the values of all selected properties in the active slot. Any existing values for the selected properties will be replaced with the current value. Only selected properties will be affected.
Capture Missing button Store the values of any selected properties that do not already have a stored value.
Restore button Restore all property values, whether selected or not, contained in the active slot.
Clear button Discard all stored property values from the active slot.
Clear selected button Discard selected property values from the active slot.
Purge button Discard values from the active slot for any properties that are not selected or are no longer available.

Main tab - Option controls

These checkboxes control Snapshot's behaviour.

Control Function
Confirm on clear/purge" If checked, Snapshot will ask for confirmation before discarding stored property values.
Selection follows slot If checked, when changing the active slot, the selection will automatically update to contain only properties that are stored in the new slot.
Select new machines If checked, newly added machines will automatically have all their prooperties included in the selection.
Capture on slot change. If checked, Snapshot will capture the selected property values, as if you had pressed the Capture button, before swicthing to the new slot.
Restore on slot change If checked, Snapshot will restore property values contained in the new slot, as if you had pressed the Restore button.
Restore on song load If checked, Snapshot will restore property values contained in the active slot once the song has finished loading.
Restore on transport stop If checked, Snapshot will restore property values contained in the active slot when the song stops playing.

Manager tab

The manager tab contains two sets of controls similar to those in the main tab. The controls beneath the treeviews operate on the selected properties in the appropriate view, while the controls in the central strip perform operations that involve both sides. The two treeviews are synchronised to show the same properties, so expanding/selecting an item on one side will automatically do the same on the other. Similarly, using the property filter controls will affect both sides simultaneously.

Manager tab - Treeviews and slot controls

The controls for the treeviews are the same as those in the main tab, with the exception that the slot dropdowns will not set the selected slot to be the active slot. To activate the slot, use the set/load buttons.

Control Function
Set Set the relevant slot to be the active slot (allowing MIDI operations). If "Restore on slot change",/a> is selected, the slot values will be restored.
Load Set the relevant slot to be the active slot (allowing MIDI operations) and restore all value.

Manager tab - Central controls

The central controls, arranged vertically between the two treeviews, perform operations involving both visible slots. Due to limited space, the buttons labels aren't very descriptive but each control has a tooltip explaining its purpose..'

Control Function
Copy to left Copies selected property values from the right slot to the left. If an empty property is copied, the corresponding value in the destination slot will be cleared.
Copy to right As above but the other way round.
All button Selects all properties in both treeviews.
None button Deselects all properties in both treeviews.
Invert button Inverts the property selection in both treeviews.
Left button Selects only properties that contain values on the left side.
Right button Selects only properties that contain values on the right side.

MIDI

Right-clicking a buttons in the main view will bring up a dialog allowing you to bind that button action to a MIDI event.

When the MIDI event is recieved, Snapshot will perform the specified action (capture, restore, etc.) on whichever slot happens to be active at the time.

If you hold CTRL when right-clicking the button, you can bind a MIDI event specifically to the active slot, allowing you to manipulate that slot even when it is no longer active.

Here are the controls available in the MIDI pop-up:

Control Function
Type Select whether you wish to bind to a Note-on, Note-off or Controller event.
Channel Select the MIDI channel to use when listening for the event.
Note/Controller Select which note or controller message you wish to listen for.
Controller Value If listening for a controller message, which specific value to respond to.
Learn When clicked, Snapshot will listen for MIDI events and populate the dialog controls automatically.
Okay Accept the dialog settings and add the specified MIDI event to the internal MIDI map.
Cancel Discard the dialog settings without changing the internal MIDI map.

Acknowledgements

Massive thanks to WDE and UNZ for awesome helpfulness and of course to Oskari, for making everything possible.

Contact

Comments, requests, bug reports etc. are welcome. You can find me lurking in the Buzz forums or you can mail me via deenine[at]hotmail[dot]co[dot]uk (but don't expect a quick reply.)

Disclaimer

I still suck at this programming lark and I can't be held responsible for anything, ever.

- IX