Qcmd
qcmd
is intended to be a simple command line client for QLab utilizing
QLab 3's new OSC interface. qcmd
should be useable from any machine on
the same local network as the QLab workspace you intend to work with.
This project is OS X only and has been tested against Ruby 1.8.7-p358 (OS X 10.8 default), Ruby 1.8.7 REE 2012.02, and Ruby 1.9.3-p327.
This project should be considered experimental. DO NOT RUN SHOWS WITH IT.
Installation
Before installing qcmd
, you'll have to install the Command Line Tools for
Xcode. They're free, but you'll need an
Apple ID to download them.
Once you've done that, you can install qcmd
to your machine by running the
following command:
$ sudo gem install qcmd
That should do ya.
Starting the qcmd
console.
Run the following command in a terminal window:
$ qcmd
From there, you can connect to a machine, connect to a workspace, and then send commands to cues and the workspace.
qcmd
supports tab completion for commands in case you get stuck or are
wondering what you can do from the console. Type the beginning of a command and
hit tab to auto-complete the command, or hit it twice to see all possible
completions.
Run qcmd
with the -v option to get full debugging output. Use the main
project repository (https://github.com/Figure53/qcmd) to report any issues.
An example session might look like this:
$ qcmd
.:::: .:: .::
.:: .:: .:: .::
.:: .::.:: .:: .::
.:: .::.:: .:: .:: .:: .::
.:: .::.:: .:: .:: .:: .::
.:: .: .:: .:: .:: .:: .:: .::
.:: :: .:::::::: .:: .:::.:: .::
.:
qcmd 0.1.9 (c) 2012 Figure 53, Baltimore, MD.
Found 2 QLab machines
1. my-mac-laptop
2. f53imac
Type `connect "MACHINE NAME"` or `connect IP_ADDRESS` to connect to a machine
13:40
> connect my-mac-laptop
Connecting to machine: my-mac-laptop
Connected to machine "my-mac-laptop"
Connecting to workspace: Untitled Workspace 1
Connected to "Untitled Workspace 1"
Loaded 3 cues
13:41 [my-mac-laptop] [Untitled Workspace 1]
> cues
------------------------------- Cues: Main Cue List -------------------------------
Number Id Name Type
1 1 YOP Audio
2 2 Not Armory Audio
3 3 BUTT Audio
13:41 [my-mac-laptop] [Untitled Workspace 1]
> cue 3 name "Fix this name"
ok
13:41 [my-mac-laptop] [Untitled Workspace 1] [3 Fix this name]
> start
ok
13:41 [my-mac-laptop] [Untitled Workspace 1] [3 Fix this name]
> ..
13:41 [my-mac-laptop] [Untitled Workspace 1]
> hardStop
ok
13:41 [my-mac-laptop] [Untitled Workspace 1]
> copy-name 3 2
ok
13:41 [my-mac-laptop] [Untitled Workspace 1] [2 Fix this name]
> cues
------------------------------- Cues: Main Cue List -------------------------------
Number Id Name Type
1 1 YOP Audio
2 2 Fix this name Audio
3 3 Fix this name Audio
13:41 [my-mac-laptop] [Untitled Workspace 1] [2 Fix this name]
> alias smiley (cue $1 name ":) :) :) :) :) :)")
Added alias for "smiley": (cue $1 name ":) :) :) :) :) :)")
13:41 [my-mac-laptop] [Untitled Workspace 1] [2 Fix this name]
> smiley 2
ok
13:41 [my-mac-laptop] [Untitled Workspace 1] [2 :) :) :) :) :) :)]
> cues
------------------------------- Cues: Main Cue List -------------------------------
Number Id Name Type
1 1 YOP Audio
2 2 :) :) :) :) :) :) Audio
3 3 Fix this name Audio
13:41 [my-mac-laptop] [Untitled Workspace 1] [2 :) :) :) :) :) :)]
> exit
exiting...
If you already know the machine you want to connect to, you can use the -m
option to connect immediately from the command line:
$ qcmd -m "my mac laptop"
Connecting to workspace: Untitled Workspace 1
Connected to "Untitled Workspace 1"
Loaded 1 cue
10:15 [my mac laptop] [Untitled Workspace 1]
>
If there's only one workspace available, qcmd
will connect to the given machine
and then try to automatically connect to that workspace. If there's more than
one workspace, you can list it on the command line as well to connect immediately:
$ qcmd -m "my mac laptop" -w "very special cues.cues"
10:36 [my mac laptop] [very special cues.cues]
>
Finally, if all you want qcmd
to do is run a single command and exit, you can
use the -c
option from the command line along with the -m
and -w
to make
sure qcmd
knows where to send the message:
$ qcmd -m "my mac laptop" -w "very special cues.cues" -c "cue 1 start"
ok
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request