# 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](https://developer.apple.com/downloads). 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... ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request