Mercurial > hg > sonic-visualiser
view osc/sv-command @ 88:51be0daa1386
Several changes related to referring to remote URLs for sessions and files:
* Pull file dialog wrapper functions out from MainWindow into FileFinder
* If a file referred to in a session is not found at its expected location,
try a few other alternatives (same location as the session file or same
location as the last audio file) before asking the user to locate it
* Allow user to give a URL when locating an audio file, not just locate on
the filesystem
* Make wave file models remember the "original" location (e.g. URL) of
the audio file, not just the actual location from which the data was
loaded (e.g. local copy of that URL) -- when saving a session, use the
original location so as not to refer to a temporary file
* Clean up incompletely-downloaded local copies of files
author | Chris Cannam |
---|---|
date | Thu, 11 Jan 2007 13:29:58 +0000 |
parents | e200055fe80b |
children |
line wrap: on
line source
#!/bin/sh # # A very simple command shell for Sonic Visualiser. # # This provides a wrapper for the sv-osc-send program, which is a # generic OSC sending program (not specific to SV, despite its name). # This script attempts to guess the OSC port number for an SV # process running on the local host, and then composes a method name # and arguments into a complete OSC call. # # You can either run this with the method and its arguments on the # command line, e.g. "sv-command set layer Frequency-Scale Log", or # you can provide a series of method + argument commands on stdin. # # Unless you use the -q option, this script will echo the OSC URL # and arguments that it is sending for each command. # # Note that the method and arguments may not contain spaces. # # Chris Cannam, Nov 2006 quiet= if [ "$1" = "-q" ]; then quiet=true; shift; fi # The yucky bit port=`lsof -c sonic- | \ grep UDP | \ sed -e 's/^.*[^0-9]\([0-9][0-9]*\) *$/\1/' | \ grep -v ' ' | \ head -1 ` host=127.0.0.1 scheme=osc.udp if [ -z "$port" ]; then echo "Sonic Visualiser OSC port not found" exit 1 fi if [ -n "$1" ]; then command=$1; shift [ -z "$quiet" ] && echo "$scheme://$host:$port/$command" "$@" sv-osc-send "$scheme://$host:$port/$command" "$@" else while read command a1 a2 a3 a4 a5; do [ -z "$command" ] && continue [ -z "$quiet" ] && echo "$scheme://$host:$port/$command" $a1 $a2 $a3 $a4 $a5 sv-osc-send "$scheme://$host:$port/$command" $a1 $a2 $a3 $a4 $a5 done fi exit 0