This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
faq [2022/03/29 20:11] jan |
faq [2022/06/30 13:59] (current) jan [MIDI setup] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | FIXME - this needs be split up a bit ... | + | ===== (Less) Frequently Asked Questions ===== |
- | === When modules are added or wires are changed, nothing happens=== | + | ==== When modules are added or wires are changed, nothing happens |
Manual compilation mode may be on, in which case there will be a a flashing white or yellow indicator in the top pane. Use the Action menu to turn manual compilation off. The Action menu will also show the keyboard shortcuts for this. | Manual compilation mode may be on, in which case there will be a a flashing white or yellow indicator in the top pane. Use the Action menu to turn manual compilation off. The Action menu will also show the keyboard shortcuts for this. | ||
- | === What is the display mess (when I first start a new release) === | + | ==== What is the display mess (when I first start a new release) |
At startup //Wren// checks to see if the help information is up to date. When not it will generate new help info, and for some reason in order to generate the images right the images have to be made actually visible on the screen ... which looks a bit odd ... but it will be only once for each new release. | At startup //Wren// checks to see if the help information is up to date. When not it will generate new help info, and for some reason in order to generate the images right the images have to be made actually visible on the screen ... which looks a bit odd ... but it will be only once for each new release. | ||
Line 11: | Line 11: | ||
When you see this on every startup it may be the case that there is no write access allowed to the folder where //Wren// resides. It's best to not have //Wren// in a windows owned folder (like ' | When you see this on every startup it may be the case that there is no write access allowed to the folder where //Wren// resides. It's best to not have //Wren// in a windows owned folder (like ' | ||
- | I've made an option to disable automatic doc file generation. This option is off by default (so docs will be generated out of the box), and this feature will only work when you use the old wren.ini file, e.g. when you copy the new executable over the old one (or copy the old ini file to the new location). You can always manually generate documentation from the settings screen | + | I've made an option to disable automatic doc file generation. This option is off by default (so docs will be generated out of the box), and this feature will only work when you use the old wren.ini file, e.g. when you copy the new executable over the old one (or copy the old ini file to the new location). You can always manually generate documentation from the settings screen |
- | === Can I hear it? === | + | ==== Can I hear it? ==== |
I'll often have a [[http:// | I'll often have a [[http:// | ||
Line 19: | Line 19: | ||
The live stream can also be heard as radio 6 (noodle radio) on the electro-music [[https:// | The live stream can also be heard as radio 6 (noodle radio) on the electro-music [[https:// | ||
- | === Can I see it? === | + | ==== Can I see it? ==== |
There are some third party made basic instruction videos availble on [[https:// | There are some third party made basic instruction videos availble on [[https:// | ||
- | === Where is my patch === | + | ==== Where is my patch ==== |
- | Hit __F2__ | + | Hit '' |
- | === Where does that wire go === | + | ==== Where does that wire go ==== |
- | __Click | + | '' |
- | === I can not read the display values, it's all covered by wires === | + | ==== I can not read the display values, it's all covered by wires ==== |
- | Use __Ctrl+space | + | Use '' |
- | In the top tool bar the ' | + | In the top tool bar the ' |
- | === The, or some, wires are not visible in the editor === | + | ==== The, or some, wires are not visible in the editor |
- | The wire thickness may have been set to zero, in the editor top pane under ' | + | The wire thickness may have been set to zero, in the editor top pane under ' |
- | It is possible to set selected wire trees to be invisible, thay can be made visible from the action menu in this case (or just use __i__, or __I__. | + | It is possible to set selected wire trees to be invisible, thay can be made visible from the action menu in this case (or just use '' |
For me running //Wren// under Wine on OSX 10.10.3 (Yosemite) showed some issues with wire painting, I have no cure for that. | For me running //Wren// under Wine on OSX 10.10.3 (Yosemite) showed some issues with wire painting, I have no cure for that. | ||
- | === There is a reverb in my patch, but where is it? === | + | ==== There is a reverb in my patch, but where is it? ==== |
- | Use __Ctrl+F__ to find modules in the patch by name, partial matches will be highlighted as well. For instance, search for ' | + | Use '' |
- | * There should be a module with a name like verb, but on what selector page is it? | + | ==== There should be a module with a name like verb, but on what selector page is it? ==== |
- | Use __Ctrl+F__ to find modules in the module selector by name. All modules not found will be hidden, and all pages that become empty this way will be hidden as well. To show all modules again clear the search box. This feature can be enabled from the settings screen | + | Use '' |
- | The search function can look into the patch as well. When this is enable the found modules will get selected in the patch. This option is on by default is can be turned off in the settings screen | + | The search function can look into the patch as well. When this is enable the found modules will get selected in the patch. This option is on by default is can be turned off in the settings screen |
- | The search function can look into the module docs as well. This feature is off by default but you can turn it on in the settings screen | + | The search function can look into the module docs as well. This feature is off by default but you can turn it on in the settings screen |
When searching the docs a button will appear on the right side of the search field showing how many hits there are for the search phrase. This is called description search. Description search will match whole words only to reduce the number of hits a bit. | When searching the docs a button will appear on the right side of the search field showing how many hits there are for the search phrase. This is called description search. Description search will match whole words only to reduce the number of hits a bit. | ||
- | When clicking on the results button (or when pressing | + | When clicking on the results button (or when pressing |
- | From that window you can go to the module help for the item you select in it or you can make it show that module in the module selector. The search filed will be refocussd in that case, so you can use __Enter__ | + | From that window you can go to the module help for the item you select in it or you can make it show that module in the module selector. The search filed will be refocussd in that case, so you can use '' |
- | * Polyphony | + | ==== Polyphony |
As of version 2020.8.6.0 //Wren// is // | As of version 2020.8.6.0 //Wren// is // | ||
Line 75: | Line 75: | ||
A good way to get voice diversification is to use some random module (all random modules have independent randomness for their voices). Or you could use the PolyStatus module which has an output that holds the (polyphony relative, the output value will always be in the range [0 ... 1]) number of the voice. | A good way to get voice diversification is to use some random module (all random modules have independent randomness for their voices). Or you could use the PolyStatus module which has an output that holds the (polyphony relative, the output value will always be in the range [0 ... 1]) number of the voice. | ||
- | * Inputs | + | ==== About inputs |
Inputs are round, outputs are square. The color indicates the signal type where red is an audio rate signal and blue is a control rate signal. Yellow indicates a logic level signal, usually -1 or +1 but there are exceptions where the values are 0 or 1. Lime (bright green) indicates a control rate logic signal and darker green (control rate) or orange (audio rate) indicate logic levels that are in the 0 ... 1 range. | Inputs are round, outputs are square. The color indicates the signal type where red is an audio rate signal and blue is a control rate signal. Yellow indicates a logic level signal, usually -1 or +1 but there are exceptions where the values are 0 or 1. Lime (bright green) indicates a control rate logic signal and darker green (control rate) or orange (audio rate) indicate logic levels that are in the 0 ... 1 range. | ||
Line 83: | Line 83: | ||
A lot of modules are rate smart, they will adjust their calculation rate from control rate to audio rate when an audio rate signal gets connected to one of it's inputs (and the connectors on it will change color too then). | A lot of modules are rate smart, they will adjust their calculation rate from control rate to audio rate when an audio rate signal gets connected to one of it's inputs (and the connectors on it will change color too then). | ||
- | * How to change parameters | + | Also see [[wire_colors | wire colors]], [[add_wires | add wires]] and [[remove_wires | remove wires]]. |
+ | ==== How to change parameters | ||
- | * Knobs | + | === Knobs === |
- | it depends on the mode you have set in the settings screen | + | it depends on the mode you have set in the settings screen |
- | | + | * circular - a mouse drag around he knob changes it. |
- | * horizontal - a horizontal mouse drag changes it. | + | * horizontal - a horizontal mouse drag changes it. |
- | * vertical - a vertical mouse drag changes it. | + | * vertical - a vertical mouse drag changes it. |
- | Additionally when a knob is active, that is when it's up/down clickers are visible (and it has a red (or fuchsia) border as well then), you can click on the up or down clicker, or use the __cursor | + | Additionally when a knob is active, that is when it's up/down clickers are visible (and it has a red (or fuchsia) border as well then), you can click on the up or down clicker, or use the '' |
- | You can also enable the mouse wheel on knobs in the settings screen | + | You can also enable the mouse wheel on knobs in the settings screen |
- | There is another knob variant that has no knob but only the up / down clickers, this type will listen to the __arrow__ | + | There is another knob variant that has no knob but only the up / down clickers, this type will listen to the '' |
- | * Sliders | + | === Sliders |
these can be either horizontal or vertical and will behave as if they were knobs, but the mouse drag mode is restricted to horizontal or vertical only. They will respond to the mouse wheel too, when the mouse wheel option was enabled. | these can be either horizontal or vertical and will behave as if they were knobs, but the mouse drag mode is restricted to horizontal or vertical only. They will respond to the mouse wheel too, when the mouse wheel option was enabled. | ||
- | * Selectors | + | === Selectors |
- | these look like displays, but have a yellow border. You can __click__ | + | these look like displays, but have a yellow border. You can '' |
Some selectors act as momentary switches, or buttons, these will have a white border. | Some selectors act as momentary switches, or buttons, these will have a white border. | ||
Line 111: | Line 112: | ||
Displays do not have a colored border. | Displays do not have a colored border. | ||
- | When wheel mode is used just hover over the knob and wheel the wheel. Moving the mouse over a knob will set it to be focused, and once a knob is focused the keyboard | + | When wheel mode is used just hover over the knob and wheel the wheel. Moving the mouse over a knob will set it to be focused, and once a knob is focused the keyboard |
- | * right mouse clicks | + | === right mouse clicks |
- | * On a knob | + | == On a knob == |
set default value or lock / unlock the knob (a locked knob will not listen to mouse control changes). | set default value or lock / unlock the knob (a locked knob will not listen to mouse control changes). | ||
- | * On a connector | + | == On a connector |
break a connection - there are some options to select from. | break a connection - there are some options to select from. | ||
- | * On a module | + | == On a module |
Cut copy or delete it, or change its border color etc. | Cut copy or delete it, or change its border color etc. | ||
- | * On a selector | + | == On a selector |
- | selectors have a yellow or a white border, you can __right click__ | + | selectors have a yellow or a white border, you can '' |
- | * On a graph | + | == On a graph == |
some preset curves can be selected, a couple of symmetry options are available and the graph can be saved to or loaded from a file. | some preset curves can be selected, a couple of symmetry options are available and the graph can be saved to or loaded from a file. | ||
- | * On the editor background | + | == On the editor background |
module options, like copy paste, module insertion. | module options, like copy paste, module insertion. | ||
- | * Change module caption | + | ==== Change module caption |
- | __Double click__ | + | '' |
- | * How to edit text based controls | + | ==== How to edit text based controls |
- | __Ctrl+left click__ | + | '' |
- | * How to close a text editor | + | ==== How to close a text editor |
- | Use __Ctrl+Enter__ | + | Use '' |
- | * How to use presets for modules | + | ==== How to use presets for modules |
When you right click on a single module, or on a collection of selected modules you will see an option to save or load the selection as a preset. The control values will be saved to or read from a file then. | When you right click on a single module, or on a collection of selected modules you will see an option to save or load the selection as a preset. The control values will be saved to or read from a file then. | ||
- | * MIDI setup | + | ==== MIDI setup ==== |
- | * Trough the main menu item settings/MIDI devices | + | * Trough the main menu item '' |
- | * In the settings screen (__F3__) | + | |
- | * OSC setup | + | ==== OSC setup ==== |
- | Each //ren// instance can either be an OSC transmitter (client) or an OSC receiver (server), but not both at the same time. The client / server indications are [[http:// | + | The OSC configuration can be reached trough the main menu '' |
+ | |||
+ | Each //Wren// instance can either be an OSC transmitter (client) or an OSC receiver (server), but not both at the same time. The client / server indications are [[http:// | ||
There can be multiple listeners (servers) on one computer, but you can have one transmitter (client) only on any single computer (but you could have more transmitters (clients) spread over multiple computers). | There can be multiple listeners (servers) on one computer, but you can have one transmitter (client) only on any single computer (but you could have more transmitters (clients) spread over multiple computers). | ||
Line 168: | Line 170: | ||
When everything is set up correctly the //Wren// instance should be able to talk to or listen to any OSC enabled device (or software) present on your network (or computer). It is not possible to broadcast OSC messages out of your local network. With the proper holes set in routers etc. it should still be possible to set up a single transmitter (client) to receiver (server) link though. | When everything is set up correctly the //Wren// instance should be able to talk to or listen to any OSC enabled device (or software) present on your network (or computer). It is not possible to broadcast OSC messages out of your local network. With the proper holes set in routers etc. it should still be possible to set up a single transmitter (client) to receiver (server) link though. | ||
- | Note: in the OscMessage module you do not specify the the leading slash (/) character, //Wren// will add it it by itself. | + | Note: in the OscMessage module you do not specify the the leading slash '' |
Note: OSC address patterns are case sensitive, as in Module will //not// match module. | Note: OSC address patterns are case sensitive, as in Module will //not// match module. | ||
- | To set up //Wren// as an OSC //transmitter (client)// do the following: | + | === To set up Wren as an OSC transmitter (client) do the following: |
- | * In the settings screen | + | * In the settings screen |
- | * Then go trough the main menu to the Setup / OSC setup screen for the following settings: | + | * Then go trough the main menu to the '' |
* The IP address must be set to a broadcasting address to allow for multiple receivers, otherwise the IP address of the single receiver can be used. The address to use depends on your network configuration but selecting 255.255.255.255 should always work. Locally I use 192.168.1.255 as the address which will reach all computers in the address range 192.168.1.x. When everything is on one computer using 127.0.0.1 or localhost works too. | * The IP address must be set to a broadcasting address to allow for multiple receivers, otherwise the IP address of the single receiver can be used. The address to use depends on your network configuration but selecting 255.255.255.255 should always work. Locally I use 192.168.1.255 as the address which will reach all computers in the address range 192.168.1.x. When everything is on one computer using 127.0.0.1 or localhost works too. | ||
- | * The port must be set to a number not in use for any of the participating computers. When you select a port that is in use you will not be able to transmit a test message later on, and OSC errors will be reported in the log (OSC error logging is on by default, OSC message logging is off by default). | + | * The port must be set to a number not in use for any of the participating computers. When you select a port that is in use you will not be able to transmit a test message later on, and OSC errors will be reported in the log (OSC error logging is on by default, OSC message logging is off by default |
* Check the Use OSC checkbox, then hit OK. | * Check the Use OSC checkbox, then hit OK. | ||
* Reopen the OSC settings screen and then send test messages using the button, the ' | * Reopen the OSC settings screen and then send test messages using the button, the ' | ||
- | To set up //Wren// as an OSC //receiver (server)// do the following: | + | === To set up Wren as an OSC receiver (server) do the following: |
- | * In the settings screen | + | * In the settings screen |
- | * Then go trough the main menu to the Setup / OSC setup screen for the following settings: | + | * Then go trough the main menu to the '' |
* The IP address must be set empty (internally 0.0.0.0 will be used in this case, but the field being empty will open the UDP socket as a listening (server) socket, filling in anything at all will try to open it as a client socket, so make sure that the field is completely empty). When OSC is set up to be a receiver no test messages can be sent from it, and the button do do so will be disabled when the IP addr field is (completely) empty. | * The IP address must be set empty (internally 0.0.0.0 will be used in this case, but the field being empty will open the UDP socket as a listening (server) socket, filling in anything at all will try to open it as a client socket, so make sure that the field is completely empty). When OSC is set up to be a receiver no test messages can be sent from it, and the button do do so will be disabled when the IP addr field is (completely) empty. | ||
* The port must be set to the same value that was used to set up the transmitter. | * The port must be set to the same value that was used to set up the transmitter. | ||
Line 198: | Line 200: | ||
The lower level protocol used to transmit the OSC messages is UDP. UDP messages are not guaranteed to be received in the same order as they were sent, or in fact not guaranteed to be received or sent at all. Usually it will work, but on a busy network packets may get lost. Also it is possible to send OSC messages faster than the network can get them out, in that case not all messages will be sent. | The lower level protocol used to transmit the OSC messages is UDP. UDP messages are not guaranteed to be received in the same order as they were sent, or in fact not guaranteed to be received or sent at all. Usually it will work, but on a busy network packets may get lost. Also it is possible to send OSC messages faster than the network can get them out, in that case not all messages will be sent. | ||
- | * What OSC functionality was implemented | + | === What OSC functionality was implemented |
OSC time stamps are not supported, bundled messages can be received but are not processed currently. Bundles are not transmitted currently. All message handling is immediate. | OSC time stamps are not supported, bundled messages can be received but are not processed currently. Bundles are not transmitted currently. All message handling is immediate. | ||
Line 206: | Line 208: | ||
The following addresses are currently being used: | The following addresses are currently being used: | ||
- | * / | + | * / |
- | * /< | + | * /< |
* /< | * /< | ||
- | * All modules can receive OSC messages when the module title is set to start with an ' | + | * All modules can receive OSC messages when the module title is set to start with an ''@'' character. They then can be addressed with a /< |
- | * How to get //Wren// to play with [[http:// | + | ==== How to get Wren to play with JACK ==== |
- | | + | What I did: |
- | | + | * Installed JACK, I've used the mixed 64/32 bit version. |
- | * Followed the ' | + | * Followed the ' |
- | * Set JACK to run at the same sample rate as that I run //Wren// on, this seems to be needed or //Wren// will not open the JackRouter connections (so sample rate conversions seem not to be possible). | + | |
- | * Started //Wren//, and then from Setup/Audio Devices (in //Wren//) selected the ASIO API, and then for both the Input and Output devices I selected JackRouter. | + | |
* Then for the 'In channels' | * Then for the 'In channels' | ||
Line 225: | Line 227: | ||
NOTE: //Wren// has no native JACK support ... of course ... I'll look into that, but it will be a long term project - the C header files will need to be ported to Delphi. | NOTE: //Wren// has no native JACK support ... of course ... I'll look into that, but it will be a long term project - the C header files will need to be ported to Delphi. | ||
- | NOTE: To see some error reporting in //Wren// you can try the debug screen | + | NOTE: To see some error reporting in //Wren// you can try the debug screen |
NOTE: This will allow for audio integration with your DAW, assuming that the DAW uses ASIO. | NOTE: This will allow for audio integration with your DAW, assuming that the DAW uses ASIO. | ||
- | * Using module colors | + | ==== Using module colors |
- | In the settings screen | + | In the settings screen |
It is also possible to use the module standard colors, both for new modules added and from the module popup menu. | It is also possible to use the module standard colors, both for new modules added and from the module popup menu. | ||
Line 237: | Line 239: | ||
Module colors will be saved with the patch. | Module colors will be saved with the patch. | ||
- | * Using wire colors / invisible wires | + | ==== Using wire colors / invisible wires ==== |
- | Wire colors can be changed by __right click__ing | + | Wire colors can be changed by '' |
Wire colors will be saved with the patch. | Wire colors will be saved with the patch. | ||
Line 245: | Line 247: | ||
There is a special color being used to make wires invisible, select ' | There is a special color being used to make wires invisible, select ' | ||
- | * What internal scaling is being used | + | ==== What internal scaling is being used ==== |
The mHz, Hz and kHz modifiers use a scaling of 1/128 units per semitone (unless the default scaling was changed), units can be negative values for low frequencies. The nn modifier uses a scaling of 1 per semitone, note numbers can be negative or fractional just like frequencies can be. By default note number 69 (A4) maps to 0 units and there are 12 notes in an octave but this can all be changed by the user. A cent is a fixed interval of 2< | The mHz, Hz and kHz modifiers use a scaling of 1/128 units per semitone (unless the default scaling was changed), units can be negative values for low frequencies. The nn modifier uses a scaling of 1 per semitone, note numbers can be negative or fractional just like frequencies can be. By default note number 69 (A4) maps to 0 units and there are 12 notes in an octave but this can all be changed by the user. A cent is a fixed interval of 2< | ||
- | * The patch randomizer / mutator, what does it do? | + | ==== The patch randomizer / mutator, what does it do? ==== |
The **randomizer** is just that, it randomizes controls. This can be done for a single conrol (from it's context popup menu), for a single module (from it's context popup menu) or for a group of modules (from the module context popup menu, or from the action menu). The amount of random can be set from the randomizer / mutator window. Low values will leave the patch more as-is than high values. | The **randomizer** is just that, it randomizes controls. This can be done for a single conrol (from it's context popup menu), for a single module (from it's context popup menu) or for a group of modules (from the module context popup menu, or from the action menu). The amount of random can be set from the randomizer / mutator window. Low values will leave the patch more as-is than high values. |