Line 35: |
Line 35: |
| | | |
| {{NoteBox|If Master MIDI channel is enabled (from webconf), it is excluded from the MIDI channels available for chain assignment.}} | | {{NoteBox|If Master MIDI channel is enabled (from webconf), it is excluded from the MIDI channels available for chain assignment.}} |
− |
| |
− | <br clear=all>
| |
− |
| |
− | ===Signal workflow===
| |
− | As introduced above, zynthian's signal workflow is based around chains of audio & MIDI processors that feed an audio summing mixer and external MIDI devices.
| |
− |
| |
− | [[File:Zynthian Signal Flow.png|800px|center]]
| |
| | | |
| <br clear=all> | | <br clear=all> |
Line 71: |
Line 64: |
| | | |
| Finally, you can also change the active chain by recalling ZS3s (subsnapshots). | | Finally, you can also change the active chain by recalling ZS3s (subsnapshots). |
| + | |
| + | ===Signal workflow=== |
| + | As introduced above, zynthian's signal workflow is based around chains of audio & MIDI processors that feed an audio summing mixer and external MIDI devices. |
| + | |
| + | [[File:Zynthian Signal Flow.png|800px|center]] |
| + | |
| + | <br clear=all> |
| | | |
| ===Snapshots=== | | ===Snapshots=== |
− | A snapshot is the captured state of a zynthian device at the time of saving the snapshot. Snapshots are saved in a JSON file with ''.zss'' extension and can be restored at any time, what effectively restore the state of the zynthian device when the snapshot was saved. A snapshot include chains and processor state info, patterns, mixer settings, MIDI device configuration, routing, audio levels, configuration options, etc. Each time you save a snapshot file, a backup copy is created. Of course, these backup files can be also restored at any time, what can avoid much suffering. | + | A snapshot is the captured state of zynthian at the time of saving the snapshot. Snapshots are saved in a JSON file with ''.zss'' extension and can be loaded at any time, what effectively restores the state of the zynthian device when the snapshot was saved. Snapshots include: |
| + | |
| + | * '''chains layout:''' for each chain, processors and how they are arranged |
| + | * '''chains configuration:''' MIDI channel, note-range, transpose, etc. |
| + | * '''processors state:''' bank, preset & parameter values for each processor |
| + | * '''mixer settings:''' fader, balance, mute, solo, etc. for each mixer strip |
| + | * '''audio levels''' (optional) |
| + | * '''MIDI devices configuration''' |
| + | * '''MIDI & Audio routing''' |
| + | * '''MIDI learning''' |
| + | * '''patterns & sequences''' |
| + | * '''some configuration options''' |
| + | * '''sub-snapshots (ZS3s)''' |
| + | * etc. |
| + | |
| + | Each time you overwrite an existing snapshot file, a backup copy is created. Backups can also be restored at any time, what can avoid much suffering. When you feel the panic, remember that zynthian stores the full ''save history'' for '''all''' snapshots! |
| | | |
| {{NoteBox|Many zynthian users like to see snapshots as "zynthian project" files and it's not a a bad approach.}} | | {{NoteBox|Many zynthian users like to see snapshots as "zynthian project" files and it's not a a bad approach.}} |
| + | |
| + | ====Last state snapshot==== |
| + | When zynthian starts, it always try to restore the last state saved on this snapshot. It always try to save the current state before performing some operations, like: |
| + | |
| + | * power-off |
| + | * restart |
| + | * update |
| + | * clean all |
| + | * etc. |
| + | |
| + | For convenience, the last state snapshot can also be saved or restored manually. |
| | | |
| ===Sub-snapshots: ZS3=== | | ===Sub-snapshots: ZS3=== |
| ZS3 means '''Z'''ynthian '''S'''ub-'''S'''nap'''S'''hot. A ZS3 is a partial state that is stored in memory and can be recalled very fast. ZS3s can be easily associated (learned) to MIDI Programs (program change events). Of course, all ZS3s are saved/restored with snapshots. | | ZS3 means '''Z'''ynthian '''S'''ub-'''S'''nap'''S'''hot. A ZS3 is a partial state that is stored in memory and can be recalled very fast. ZS3s can be easily associated (learned) to MIDI Programs (program change events). Of course, all ZS3s are saved/restored with snapshots. |
| | | |
− | For instance, if you are keyboardist that plays with several bands, you could have a snapshot for each band and one or several ZS3s for each song.
| + | ZS3s include: |
| + | |
| + | * '''chains configuration:''' MIDI channel, note-range, transpose, etc. |
| + | * '''processors state:''' bank, preset & parameter values for each processor |
| + | * '''mixer settings:''' fader, balance, mute, solo, etc. for each mixer strip |
| + | * MIDI devices configuration |
| + | * MIDI & Audio routing |
| + | * MIDI learning |
| + | * some configuration options |
| + | |
| + | The key concept to understand how ZS3s work is noting that '''chains layout is not stored in ZS3s'''. In other words, chain's layout is not modified when retoring ZS3s. You can't add/remove chains or processors by restoring ZS3s because this is a slow operation and ZS3s need to be restored very fast. |
| + | |
| + | When loading a snapshots that contains ZS3s, all the chains and processors are created. Later, when recalling the ZS3s, chain's layout will remain the same. Although ZS3s can modify routing, splits, banks, presets, etc., the chains and processors will be the same all the time. |
| | | |
− | '''TO BE CONTINUED ...'''
| + | {{NoteBox|For instance, if you are keyboardist that plays with several bands, you could have a snapshot for each band and one or several ZS3s for each song.}} |
| | | |
| <br clear=all> | | <br clear=all> |