More comments.
This commit is contained in:
parent
eb11a409d2
commit
9c19d865bb
|
@ -17,6 +17,9 @@
|
||||||
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
/*******************************************************************************/
|
/*******************************************************************************/
|
||||||
|
|
||||||
|
/* An Audio_Sequence is a sequence of Audio_Regions. Takes and 'track
|
||||||
|
* contents' consist of these objects */
|
||||||
|
|
||||||
#include <Fl/fl_ask.H>
|
#include <Fl/fl_ask.H>
|
||||||
|
|
||||||
#include "Audio_Sequence.H"
|
#include "Audio_Sequence.H"
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
/*******************************************************************************/
|
/*******************************************************************************/
|
||||||
|
|
||||||
/* actual implementation of our side of the LASH protocol */
|
/* Actual implementation of our side of the LASH protocol */
|
||||||
|
|
||||||
/* NOTES: Since LASH doesn't provide us with the information we
|
/* NOTES: Since LASH doesn't provide us with the information we
|
||||||
* need--when we need it--we just punt and only use LASH to save and
|
* need--when we need it--we just punt and only use LASH to save and
|
||||||
|
|
|
@ -17,11 +17,14 @@
|
||||||
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
/*******************************************************************************/
|
/*******************************************************************************/
|
||||||
|
|
||||||
|
/* Handler based wrapper for LASH */
|
||||||
|
|
||||||
#include "LASH_Client.H"
|
#include "LASH_Client.H"
|
||||||
|
|
||||||
|
|
||||||
#include "util/debug.h"
|
#include "util/debug.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LASH_Client::LASH_Client ( )
|
LASH_Client::LASH_Client ( )
|
||||||
{
|
{
|
||||||
_void = 0;
|
_void = 0;
|
||||||
|
@ -32,6 +35,8 @@ LASH_Client::~LASH_Client ( )
|
||||||
/* TODO: anything? */
|
/* TODO: anything? */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_LASH
|
#ifdef HAVE_LASH
|
||||||
|
|
||||||
#include <lash/lash.h>
|
#include <lash/lash.h>
|
||||||
|
|
|
@ -17,6 +17,13 @@
|
||||||
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
/*******************************************************************************/
|
/*******************************************************************************/
|
||||||
|
|
||||||
|
/* This class handles all journaling. All journaled objects must
|
||||||
|
inherit from Loggable as well as define a few special methods (via
|
||||||
|
macros), get and set methods, and have contructors and destructors
|
||||||
|
that call log_create() and log_destroy() in the appropriate
|
||||||
|
order. Any action that might affect multiple loggable objects
|
||||||
|
*must* be braced by calls to Loggable::block_start() and
|
||||||
|
Loggable::block_end() in order for Undo to work properly. */
|
||||||
|
|
||||||
#include "Loggable.H"
|
#include "Loggable.H"
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
/* Routings for opening/closing/creation of projects. All the actual
|
/* Routings for opening/closing/creation of projects. All the actual
|
||||||
project state belongs to Timeline and other classes. */
|
project state belongs to Timeline and other classes. */
|
||||||
|
|
||||||
|
/* Project management routines. */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
|
@ -17,6 +17,9 @@
|
||||||
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
/*******************************************************************************/
|
/*******************************************************************************/
|
||||||
|
|
||||||
|
/* This is the Timeline widget, which contains all the tracks and
|
||||||
|
* provides cursor overlays, scrolling, zooming, measure lines, tempo
|
||||||
|
* map and just about everything else. */
|
||||||
|
|
||||||
#include <FL/Fl_Scroll.H>
|
#include <FL/Fl_Scroll.H>
|
||||||
#include <FL/Fl_Pack.H>
|
#include <FL/Fl_Pack.H>
|
||||||
|
|
|
@ -17,6 +17,12 @@
|
||||||
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
/*******************************************************************************/
|
/*******************************************************************************/
|
||||||
|
|
||||||
|
/* A Track is a container for various sequences; the sequence, the
|
||||||
|
* takes (inactive sequences), annotation sequences, control
|
||||||
|
* sequences */
|
||||||
|
/* TODO: split into Track and Audio_Track (and maybe later Video_Track
|
||||||
|
* and MIDI_Track */
|
||||||
|
|
||||||
#include "Track.H"
|
#include "Track.H"
|
||||||
|
|
||||||
#include "Transport.H"
|
#include "Transport.H"
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
/*******************************************************************************/
|
/*******************************************************************************/
|
||||||
|
|
||||||
|
/* Controls the audio transport */
|
||||||
|
|
||||||
#include "Transport.H"
|
#include "Transport.H"
|
||||||
|
|
||||||
|
@ -26,56 +27,7 @@
|
||||||
|
|
||||||
#define client engine->client()
|
#define client engine->client()
|
||||||
|
|
||||||
void
|
|
||||||
Transport::poll ( void )
|
|
||||||
{
|
|
||||||
jack_transport_state_t ts;
|
|
||||||
|
|
||||||
ts = jack_transport_query( client, this );
|
|
||||||
|
|
||||||
rolling = ts == JackTransportRolling;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
Transport::locate ( nframes_t frame )
|
|
||||||
{
|
|
||||||
jack_transport_locate( client, frame );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
Transport::start ( void )
|
|
||||||
{
|
|
||||||
// MESSAGE( "Starting transport" );
|
|
||||||
if ( _record_button->value() )
|
|
||||||
timeline->record();
|
|
||||||
|
|
||||||
jack_transport_start( client );
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
Transport::stop ( void )
|
|
||||||
{
|
|
||||||
// MESSAGE( "Stopping transport" );
|
|
||||||
if ( _record_button->value() )
|
|
||||||
toggle_record();
|
|
||||||
|
|
||||||
jack_transport_stop( client );
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
Transport::toggle ( void )
|
|
||||||
{
|
|
||||||
if ( rolling )
|
|
||||||
stop();
|
|
||||||
else
|
|
||||||
start();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*******/
|
|
||||||
/* GUI */
|
|
||||||
/*******/
|
|
||||||
|
|
||||||
Transport::Transport ( int X, int Y, int W, int H, const char *L )
|
Transport::Transport ( int X, int Y, int W, int H, const char *L )
|
||||||
: Fl_Pack( X, Y, W, H, L )
|
: Fl_Pack( X, Y, W, H, L )
|
||||||
|
@ -118,6 +70,8 @@ Transport::Transport ( int X, int Y, int W, int H, const char *L )
|
||||||
end();
|
end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Transport::cb_button ( Fl_Widget *w, void *v )
|
Transport::cb_button ( Fl_Widget *w, void *v )
|
||||||
{
|
{
|
||||||
|
@ -174,3 +128,53 @@ Transport::handle ( int m )
|
||||||
return Fl_Pack::handle( m );
|
return Fl_Pack::handle( m );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********/
|
||||||
|
/* Control */
|
||||||
|
/***********/
|
||||||
|
|
||||||
|
void
|
||||||
|
Transport::poll ( void )
|
||||||
|
{
|
||||||
|
jack_transport_state_t ts;
|
||||||
|
|
||||||
|
ts = jack_transport_query( client, this );
|
||||||
|
|
||||||
|
rolling = ts == JackTransportRolling;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Transport::locate ( nframes_t frame )
|
||||||
|
{
|
||||||
|
jack_transport_locate( client, frame );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
Transport::start ( void )
|
||||||
|
{
|
||||||
|
// MESSAGE( "Starting transport" );
|
||||||
|
if ( _record_button->value() )
|
||||||
|
timeline->record();
|
||||||
|
|
||||||
|
jack_transport_start( client );
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Transport::stop ( void )
|
||||||
|
{
|
||||||
|
// MESSAGE( "Stopping transport" );
|
||||||
|
if ( _record_button->value() )
|
||||||
|
toggle_record();
|
||||||
|
|
||||||
|
jack_transport_stop( client );
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Transport::toggle ( void )
|
||||||
|
{
|
||||||
|
if ( rolling )
|
||||||
|
stop();
|
||||||
|
else
|
||||||
|
start();
|
||||||
|
}
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
/*******************************************************************************/
|
/*******************************************************************************/
|
||||||
|
|
||||||
|
/* routines to draw a waveform from peak data */
|
||||||
|
|
||||||
#include <FL/fl_draw.H>
|
#include <FL/fl_draw.H>
|
||||||
|
|
||||||
#include "Waveform.H"
|
#include "Waveform.H"
|
||||||
|
|
Loading…
Reference in New Issue