NAME

Audio::Ardour::Irc - Automate the Ardour DAW software.

SYNOPSIS

use Audio::Ardour::Irc;
my $ardour_controller = Audio::Ardour::Irc->new($url);
$ardour_controller->sendOSCMessage($message);

example messages (see http://ardour.org/osc_control for full list):

$ardour_controller->sendOSCMessage('transport_play');
$ardour_controller->sendOSCMessage('transport_stop');

etc... 

DESCRIPTION

This module sends OSC messages to the Ardour DAW.

NOTE: this is a direct replacement for Audio::Ardour::Control and builds on Jonathan Stowe's original work.

METHODS

new

Construct a new Audio::Ardour::Irc object. The only argument is the URL of the Ardour OSC instance in the form osc.udp://<hostname:<port>/>, this is printed to STDERR by Ardour when the OSC is enabled. For versions of Ardour from 2.2 onwards the URL will be written to a file in the user specific config directory and an attempt will be made to determine the URL from that source, if it is not present and no URL has been specified as an argument then this will croak.

sendOscMessage

Make sure you pass a valid OSC command...

INTERNAL METHODS

The below methods are used internally and might not be useful for general use unless you are sub-classing or extending this module.

url

Get and/or set the URL to connect to the instance of Ardour we want to control.

If the url is not specifiied and has not been previously set then discover_url() will be called. It will return undef if no URL can be found.

discover_url

Attempt to read the URL from the $HOME/.ardour2/osc_url file, returns undef if the file doesn't exist.

This will not work for Ardour versions earlier than 2.2

send

Send a request to the OSC host. The arguments are the OSC path and the arguments for the call.

lo

Get and/or set the underlying Net::LibLO object that we are using.

address

Get and/or set the Net::LibLO::Address object based on the URL of the Ardour OSC instance that we are going to use. If the address has not previously been set then a new object will be created.

EXPORT

None.

BUGS AND SUPPORT

The OSC support in Ardour and this module should be considered experimental, you almost certainly don't want to use this on any important Sessions without thorough testing.

SEE ALSO

Net::LibLO, Ardour documentation http://www.ardour.org, OSC <http://opensoundcontrol.org/>

AUTHOR

Noel Darlow, <cpan@aperiplus.co.uk>

COPYRIGHT AND LICENSE

Copyright (C) 2012 by Noel Darlow

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.