Fragmenter advanced features
items in the library can be png/jpg images and frg files.
-clicking on an unselected item will select it
-clicking again on it will load it:
png/jpg items are loaded as canvas image
frg files are loaded to current layer OR loaded to first layer if M is the 'active' layer OR replace everything if it is a master/multi-layer file denoted by "M"
FOLDER - set the working folder, where library frg's are stored; empty will reset it to default; longclick will refresh current (useful if you manually copied files into it)
DELETE - delete selected item from library
IMPORT - import item to library from anywhere else
EXPORT - export selected item in library to anywhere else
-to save current layer, click on it again to see the contextual dropdown menu and click on the save button
-to save etc. layer not currently selected then long/ctrl/right click on it to open the contextual dropdown menu
-to load selected library item to an empty layer-place, click on the + sign to see the contextual menu and click on the load icon (first element in the menu)
Advanced library features
-when you set advanced library in settings then you can manage yourself when a frg is saved to hdd or loaded to memory (saving/loading to hdd can cause a slight freeze in the animation while saving/loading to memory does not cause freeze - useful on a live event)
HDD - clicking will save to library the selected item; longclick will select all items to hdd - useful before exiting fragmenter, although on exit theoretically all items are saved to hdd automatically
MEM - clicking on an item not in memory will load it to memory; clicking on an item loaded to memor will unload it from memory; longclick will load all items to memory - useful before a live event
-click on projection button to switch on/off projection window
-ctrl/right/long-click on projection button to switch between windowed/fullscreen projection window
-ctrl/right/long-click on canvas button (shown when M layer is active) or show/hide layer button will separate these buttons to two buttons, the top one having an effect only on the main window and the bottom button having an effect only on the projection window; again right-clicking on these buttons will unify them back
-ctrl/right/long-click on a library menu will load them such that they are initially invisible in the projection window
Spout output (on windows only)
-click on spout button to switch on/off spout image sharing with other apps; when you separately set bg, layer visibility of layers than spout sends the same things what the projection window gets
-ctrl/right/long-click on spout button to switch on/off whether the background color is sent with the spout image or the background is transparent
Spout technical details
-in "Spout Settings" app you need to disable "DirectX 9" (untick the box) otherwise enabling spout will crash Fragmenter
-fragmenter can only send to spout in memoryshare mode, which is not supported by every spout-enabled app
-it does work with: max, smode, magicmusicvisuals
-when sending the spout image directy does not work for the above reasons, you can use the spout-to-ndi app to convert the spout message to ndi format, also supported by most vj apps, this way you can send fragmenter output also to: resolume v6+, touchdesigner pro or commercial
-other spout or ndi input enabled apps should also work
-note that using spout-to-ndi you can even send the output to another machine on the same network!
-click on MIDI tab in library to see list of midi control rules. initially there is none.
-click on DEVICE to find a midi device. click multiple times to change which one is active, if there is multiple devices. right/ctr/longclick on 'device' button to disable devices.
-once a device is set up, whenever a midi sign is received, it will pop up as a message
-click on ADD to add a new rule in the following form:
midi sign: it is either only one number, e.g. 144 or two numbers separated by a comma, e.g. "144,50"; you can use the popup message to know what midi signs are triggered by which button on your device etc.; the action will be triggered whenever a midi sign is received which is matching the midisign of this rule
tick sign: it is the word "tick" and the delay in milliseconds separated by a comma, e,g. "tick,600"; this way you can add fake repeated emulated signs called ticks; note that x BPM (beats per minute) equals to x/60000 beats per millisecond, thus if you wish to creat a tick with x BPM (where x is some number, say 120), then you need to set the delay to 60000/x (e.g. to set BPM to be 200, you need to set the delay to 60000/200=300 milliseconds)
layer (optional): can be 1,2,3,4,5,6 or "all" - the action will be assigned to this layer (or such a sign is added to all layers if "all" is given); if not set, then the rule will be assigned to the current layer (or to all layers if M was the current layer)
action (optional): currently it can be "skip", "toggle", "pulse"
"skip" (default action) (you can abbreviate to "s" when adding a new rule): at each sign the assigned layer will skip forward once on the assigned layer
"toggle" (you can abbreviate to "t" when adding a new rule): at each sign the assigned layer's visibility will be switched on/off having the same effect when the show/hide switch of the layer is pressed; if there is a separate button for the visibility of the layer in projection window, then it will only switch on/off the layer in the projection window
"pulse" (you can abbreviate to "p" when adding a new rule): at each sign the assigned layer will pulsate once (the tail length slider will fall off to zero and than go back to the initial value) examples: 140-2-pulse 144,50-all-s (this will add "144,50-layer-skip" for all layers from 1 to 6) 160,60-3 (this will add "160,60-3-sip") 150--skip (this will add "150,-currentlayer-sip") 144,50 (this will add "144,50-currentlayer-skip" where currentlayer is the number of the current layer) 130 (this will add "130,-currentlayer-skip") tick,300-3-toggle tick,500-all-skip (this will add "tick,500-layer-skip" for all layers from 1 to 6) tick,1000 (this will add "tick,1000-currentlayer-skip")
-to enable/disable a rule, click on it to select and click again to toggle if it is enabled/disabled
-note that one cannot enable a rule that does not apply to the relevant layer (that is, background layers cannot pulse nor skip) or if the layer does not exist
-when adding a new rule you can also choose 'add disabled' so that initially it is disabled
-note that adding a rule with a midi or tick sign assinged to some layer will overwrite any other rules with the same sign and assigned layer
-to delete a rule click on it to select and then click on 'delete'
-you can also add tick signs by clicking on the 'TICK' button and clicking again after some time. this will initiate a dialog to add a 'TICK' sign that triggers an action on the current layer each time this amount of time passes; press spacebar twice to do the same
-press (ctrl+)spacebar then press a bit later ctrl+spacebar to add quickly (without a dialog opening) a TICK that pulses the CURRENT layer; if the current layer is the M layer then it adds such a TICK to all layers
Setting up a connection with a physical MIDI device
Setting up midi sent to fragmenter is in principle the same as setting up midi to be sent to e.g. any light control application. If you connect a real midi device to your pc then it should work immediately. If you get the message 'Device not supported' then there is a workaround which should still work:
- first install a virtual midi driver, so that one app can send midi message to another, e.g. on windows Loopbe1 https://www.nerds.de/en/loopbe1.html download link: https://www.nerds.de/data/setuploopbe1.exe
- then install an app that can reroute the signal from your physical device to the virtual device, on windows Midi-ox http://www.midiox.com/ is perfect; after running it, rerouting can be done as follows:
- in Midi-ox, open up Options->MIDI Devices...
- Select your MIDI Input
- Select your MIDI Output (LoopBe Internal Midi)
Setting up a connection with a virtual MIDI device
If you do not have a physical midi device at all, you can still do a lot of things:
- first install a virtual midi device, so that one app can send midi message to another, e.g. on windows Loopbe1 https://www.nerds.de/en/loopbe1.html download link: https://www.nerds.de/data/setuploopbe1.exe
- then you also need something to generate the midi sign, a few options that work well:
- vmpk, a free virtual midi keyboard: http://vmpk.sourceforge.net/
- to get the pitch from a live audio (through microphone) you can use the barebones puredata patch included in the "beat-to-midi pd patch" folder in the main Fragmenter folder
- there are also commercial apps to detect pitch and other features of live audio and generate midi signs from them, e.g. MIDI Merlin 2 http://www.randygeorgemusic.com/midimerlin/ and MIDI GUITAR 2 https://www.jamorigin.com/
- to get the pitch from offline audio source, MIXXX https://www.mixxx.org/ is a free dj app that can send midi sign at every beat etc of a song, and works perfectly with fragmenter; to set it up, see the "Prepare and configure Mixxx" part of this doc: https://github.com/mcallegari/qlcplus/wiki/Interfacing-to-Mixxx-via-MIDI and when it says to select 'Midi Through', instead select 'LoopBe Internal MIDI' (or the virtual midi driver you have installed in step 1, if you installed something else).