annotate README.OSC @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents 00b5875d8c30
children
rev   line source
lbajardsilogic@0 1
lbajardsilogic@42 2 OSC control of Sound Access
lbajardsilogic@0 3 ===============================
lbajardsilogic@0 4
lbajardsilogic@42 5 Sound Access can be controlled remotely using the Open Sound
lbajardsilogic@0 6 Control protocol. This facility requires Steve Harris's liblo (Lite
lbajardsilogic@42 7 OSC) library to have been available when Sound Access was built.
lbajardsilogic@0 8
lbajardsilogic@42 9 Sound Access opens a single OSC port on startup. The URL of this
lbajardsilogic@0 10 port is printed to standard output on startup, or can be read from the
lbajardsilogic@0 11 About box on the Help menu.
lbajardsilogic@0 12
lbajardsilogic@42 13 OSC commands accepted by Sound Access take the form:
lbajardsilogic@0 14
lbajardsilogic@0 15 <scheme>://<host>:<port>/<method> [<arg> ...]
lbajardsilogic@0 16
lbajardsilogic@0 17 For example, "osc.udp://localhost:12654/play 2.0" will play the
lbajardsilogic@0 18 current session from time 2.0 seconds.
lbajardsilogic@0 19
lbajardsilogic@0 20 Methods that manipulate panes or layers act on the currently selected
lbajardsilogic@0 21 pane or layer. Use the setcurrent method to choose the right target
lbajardsilogic@0 22 for subsequent such methods.
lbajardsilogic@0 23
lbajardsilogic@0 24 There is a small program sv/osc/sv-osc-send.c that sends an OSC method
lbajardsilogic@0 25 and arguments to a given URL, and a small shell script sv/osc/sv-command
lbajardsilogic@42 26 that provides a basic command shell for Sound Access.
lbajardsilogic@0 27
lbajardsilogic@0 28
lbajardsilogic@0 29 OSC methods available
lbajardsilogic@0 30 =====================
lbajardsilogic@0 31
lbajardsilogic@0 32 Main window methods
lbajardsilogic@0 33 -------------------
lbajardsilogic@0 34
lbajardsilogic@0 35 /open <filename>
lbajardsilogic@0 36
lbajardsilogic@42 37 Open a new file (of type determined by Sound Access).
lbajardsilogic@0 38 If it is an audio file, use it to replace the existing main
lbajardsilogic@0 39 audio file (if any).
lbajardsilogic@0 40
lbajardsilogic@0 41 /openadditional <filename>
lbajardsilogic@0 42
lbajardsilogic@0 43 Open a new file. If it is an audio file, open it in a new
lbajardsilogic@0 44 pane in addition to the existing audio file (if any).
lbajardsilogic@0 45
lbajardsilogic@0 46 /recent <n>
lbajardsilogic@0 47 /last
lbajardsilogic@0 48
lbajardsilogic@0 49 Open the <n>'th most recent file from the Recent Files menu,
lbajardsilogic@0 50 counting from 1 for the most recent file opened. "last" is a
lbajardsilogic@0 51 synonym for "recent 1".
lbajardsilogic@0 52
lbajardsilogic@0 53 /save <filename>
lbajardsilogic@0 54
lbajardsilogic@0 55 Save the current session in <filename> as an SV session file.
lbajardsilogic@0 56 This action will try to fail rather than overwrite an existing
lbajardsilogic@0 57 file, but you probably shouldn't rely on that.
lbajardsilogic@0 58
lbajardsilogic@0 59 /export <filename>
lbajardsilogic@0 60
lbajardsilogic@0 61 Export the (first) selected area of the main audio file
lbajardsilogic@0 62 (or all of it, if there is no selection) in <filename>, as a
lbajardsilogic@0 63 WAV file. This action will try to fail rather than overwrite
lbajardsilogic@0 64 an existing file, but you probably shouldn't rely on that.
lbajardsilogic@0 65
lbajardsilogic@0 66 /jump <t>
lbajardsilogic@0 67 /jump end
lbajardsilogic@0 68 /jump selection
lbajardsilogic@0 69
lbajardsilogic@0 70 Jump the playback position to time <t> (in seconds); or to
lbajardsilogic@0 71 the end of the file; or to the start of the current selection.
lbajardsilogic@0 72
lbajardsilogic@0 73 /play
lbajardsilogic@0 74 /play <t>
lbajardsilogic@0 75 /play selection
lbajardsilogic@0 76
lbajardsilogic@0 77 Start playback. If a time <t> is given, start from that time
lbajardsilogic@0 78 in seconds. If the word "selection" is given instead, play
lbajardsilogic@0 79 the current selection.
lbajardsilogic@0 80
lbajardsilogic@0 81 /stop
lbajardsilogic@0 82
lbajardsilogic@0 83 Stop playback.
lbajardsilogic@0 84
lbajardsilogic@0 85 /loop on
lbajardsilogic@0 86 /loop off
lbajardsilogic@0 87
lbajardsilogic@0 88 Switch playback loop mode on or off.
lbajardsilogic@0 89
lbajardsilogic@0 90 /select <t0> <t1>
lbajardsilogic@0 91 /select all
lbajardsilogic@0 92 /select none
lbajardsilogic@0 93
lbajardsilogic@0 94 Select the region from times <t0> to <t1> in seconds; or select
lbajardsilogic@0 95 the whole file; or clear the selection. If there is a layer
lbajardsilogic@0 96 selected that can be used as a snap guide for the selection, then
lbajardsilogic@0 97 the selection will be snapped to it (in the same manner as when
lbajardsilogic@0 98 making selections interactively).
lbajardsilogic@0 99
lbajardsilogic@0 100 /addselect <t0> <t1>
lbajardsilogic@0 101
lbajardsilogic@0 102 Make an additional selection (leaving any existing selection
lbajardsilogic@0 103 in place) from times <t0> to <t1> in seconds.
lbajardsilogic@0 104
lbajardsilogic@0 105 /undo
lbajardsilogic@0 106 /redo
lbajardsilogic@0 107
lbajardsilogic@0 108 Undo the last editing operation; redo the last undone operation.
lbajardsilogic@0 109 Note that most of the classic editing operations (copy and paste
lbajardsilogic@0 110 etc) are not controllable via OSC, but undo may still be useful
lbajardsilogic@42 111 because Sound Access considers actions such as adding a pane
lbajardsilogic@0 112 to be undoable editing operations as well.
lbajardsilogic@0 113
lbajardsilogic@0 114 /add <layertype>
lbajardsilogic@0 115 /add <layertype> <channel>
lbajardsilogic@0 116
lbajardsilogic@0 117 Add a new pane containing a layer of the given type, based on
lbajardsilogic@0 118 the main audio file. If no <channel> is specified, use all
lbajardsilogic@0 119 available channels. Useful <layertype>s are:
lbajardsilogic@0 120
lbajardsilogic@0 121 waveform
lbajardsilogic@0 122 spectrogram
lbajardsilogic@0 123 spectrum
lbajardsilogic@0 124 timeruler
lbajardsilogic@0 125
lbajardsilogic@0 126 The following <layertype>s are less useful, because they create
lbajardsilogic@0 127 empty layers which there is currently no OSC support for editing:
lbajardsilogic@0 128
lbajardsilogic@0 129 timeinstants
lbajardsilogic@0 130 timevalues
lbajardsilogic@0 131 notes
lbajardsilogic@0 132 text
lbajardsilogic@0 133 colour3dplot
lbajardsilogic@0 134
lbajardsilogic@0 135 /set <control> <value>
lbajardsilogic@0 136 /set pane <control> <value>
lbajardsilogic@0 137 /set layer <control> <value>
lbajardsilogic@0 138
lbajardsilogic@0 139 Set a main window control; a property of the current pane; or a
lbajardsilogic@0 140 property of the current layer.
lbajardsilogic@0 141
lbajardsilogic@0 142 Accepted main window <control>s are:
lbajardsilogic@0 143
lbajardsilogic@0 144 gain
lbajardsilogic@0 145 whose values are linear multipliers (i.e. 1.0 == unity gain).
lbajardsilogic@0 146
lbajardsilogic@0 147 speedup
lbajardsilogic@0 148 takes a value of a percentage increase in playback
lbajardsilogic@0 149 speed, so 0 is the default playback speed, 100 sets double
lbajardsilogic@0 150 the default speed, and -100 sets half the default speed
lbajardsilogic@0 151 (yes, I know, it's nonsense, sorry).
lbajardsilogic@0 152
lbajardsilogic@0 153 overlays
lbajardsilogic@0 154 controls the verbosity level of the text overlays on
lbajardsilogic@0 155 each pane, from 0 (everything off) to 2 (everything on).
lbajardsilogic@0 156
lbajardsilogic@0 157 zoomwheels
lbajardsilogic@0 158 controls whether the zoom wheels are displayed (1) or not (0).
lbajardsilogic@0 159
lbajardsilogic@0 160 propertyboxes
lbajardsilogic@0 161 controls whether the property boxes are displayed (1) or not (0).
lbajardsilogic@0 162
lbajardsilogic@0 163 For pane and layer properties, the control name is the displayed
lbajardsilogic@0 164 name of the given property (though you may use "-" or "_" in place
lbajardsilogic@0 165 of any spaces in the name if it's easier for you). The value may
lbajardsilogic@0 166 be the displayed value or underlying integer for the property.
lbajardsilogic@0 167
lbajardsilogic@0 168 Some examples:
lbajardsilogic@0 169
lbajardsilogic@0 170 /set pane Global-Scroll off
lbajardsilogic@0 171 /set pane Follow_Playback Scroll
lbajardsilogic@0 172 /set layer Colour Blue
lbajardsilogic@0 173 /set layer Scale-Units dB
lbajardsilogic@0 174 /set layer Frequency-Scale Log
lbajardsilogic@0 175
lbajardsilogic@0 176 Note that while you can use "-" or "_" in place of spaces in the
lbajardsilogic@0 177 property name, you cannot currently do so in the value text. If
lbajardsilogic@0 178 this is a problem for you, you might be able to set the value
lbajardsilogic@0 179 as an integer instead (all layer properties can be set this way).
lbajardsilogic@0 180
lbajardsilogic@0 181 /setcurrent <pane>
lbajardsilogic@0 182 /setcurrent <pane> <layer>
lbajardsilogic@0 183
lbajardsilogic@0 184 Make the given <pane> (a number counting from 1 for the topmost
lbajardsilogic@0 185 pane) and optionally the given <layer> on that pane (a number
lbajardsilogic@0 186 counting from 1 for the "frontmost" layer) the current pane and
lbajardsilogic@0 187 layer for subsequent pane and layer operations.
lbajardsilogic@0 188
lbajardsilogic@0 189 /delete pane
lbajardsilogic@0 190 /delete layer
lbajardsilogic@0 191
lbajardsilogic@0 192 Delete the current pane or layer.
lbajardsilogic@0 193
lbajardsilogic@0 194 /zoom <level>
lbajardsilogic@0 195 /zoom in
lbajardsilogic@0 196 /zoom out
lbajardsilogic@0 197 /zoom default
lbajardsilogic@0 198
lbajardsilogic@0 199 Zoom to a given zoom <level>, given in audio sample frames per
lbajardsilogic@0 200 pixel; or zoom in or out one step from the current level; or
lbajardsilogic@0 201 return to the default zoom level. This method acts on the
lbajardsilogic@0 202 current pane (it only affects all panes if set to Global Zoom,
lbajardsilogic@0 203 which is the default).
lbajardsilogic@0 204
lbajardsilogic@0 205 /zoomvertical <min> <max>
lbajardsilogic@0 206 /zoomvertical in
lbajardsilogic@0 207 /zoomvertical out
lbajardsilogic@0 208 /zoomvertical default
lbajardsilogic@0 209
lbajardsilogic@0 210 Change the vertical zoom and origin so as to show the value
lbajardsilogic@0 211 range from <min> to <max> in the vertical scale; or zoom in or
lbajardsilogic@0 212 out vertically; or return to the default vertical zoom level.
lbajardsilogic@0 213 The effect of this method is heavily dependent on the current
lbajardsilogic@0 214 layer.
lbajardsilogic@0 215
lbajardsilogic@0 216 /transform <name>
lbajardsilogic@0 217
lbajardsilogic@0 218 Transform the current main audio file using the named transform.
lbajardsilogic@0 219 Transforms are named according to the scheme
lbajardsilogic@0 220
lbajardsilogic@0 221 type:source:plugin:output
lbajardsilogic@0 222
lbajardsilogic@0 223 For example, the percussion onset detector from the Vamp example
lbajardsilogic@0 224 plugin set can be invoked via
lbajardsilogic@0 225
lbajardsilogic@0 226 /transform vamp:vamp-example-plugins:percussiononsets:onsets
lbajardsilogic@0 227
lbajardsilogic@0 228 If the output is omitted, the first is used. Note that you
lbajardsilogic@0 229 need to use the plugin and output name, not description: in
lbajardsilogic@0 230 this case "percussiononsets" rather than "Simple Percussion
lbajardsilogic@0 231 Onset Detector".
lbajardsilogic@0 232
lbajardsilogic@0 233 There is not yet any way to run a transform via OSC on any but
lbajardsilogic@0 234 the main audio file, nor with any but its default parameters,
lbajardsilogic@0 235 processing block/step size, or channel selection.
lbajardsilogic@0 236
lbajardsilogic@0 237 /resize <w> <h>
lbajardsilogic@0 238 /resize pane <h>
lbajardsilogic@0 239
lbajardsilogic@0 240 Resize the main window to width <w> and height <h> (if the
lbajardsilogic@0 241 window system permits); resize the current pane to height <h>
lbajardsilogic@0 242 if possible (!!! not yet working).
lbajardsilogic@0 243
lbajardsilogic@0 244 /quit
lbajardsilogic@0 245
lbajardsilogic@0 246 Exit the program abruptly without saving.
lbajardsilogic@0 247
lbajardsilogic@0 248 Handy things still missing from the OSC interface include:
lbajardsilogic@0 249
lbajardsilogic@0 250 * the ability to run transforms with non-default parameters or
lbajardsilogic@0 251 starting from different source models
lbajardsilogic@0 252 * the ability to add layers to a pane (without transform)
lbajardsilogic@0 253 * the ability to add panes (and layers) showing any but the
lbajardsilogic@0 254 main model
lbajardsilogic@0 255 * the ability to set play parameters on a layer/model and show/hide it
lbajardsilogic@0 256 * the ability to set the vertical zoom range (vital for spectrogram)
lbajardsilogic@0 257 * the ability to import and export layers
lbajardsilogic@0 258 * a working pane resize
lbajardsilogic@0 259 * quick shortcuts to Melodic Range Spectrogram, Peak Frequency Spectrogram
lbajardsilogic@0 260 * the ability to rename a layer
lbajardsilogic@0 261
lbajardsilogic@0 262