Browse Source

Add bindings to stop, start, and zero transport.

tags/non-daw-v1.1.0
Jonathan Moore Liles 17 years ago
parent
commit
0a6a6b4a0a
3 changed files with 37 additions and 2 deletions
  1. +6
    -0
      Timeline/Timeline.C
  2. +28
    -2
      Timeline/Transport.C
  3. +3
    -0
      Timeline/Transport.H

+ 6
- 0
Timeline/Timeline.C View File

@@ -702,6 +702,12 @@ Timeline::handle ( int m )


return 1; return 1;
} }
case FL_Home:
transport.locate( 0 );
return 1;
case ' ':
transport.toggle();
return 1;
case 'p': case 'p':
{ {
int X = Fl::event_x() - Track::width(); int X = Fl::event_x() - Track::width();


+ 28
- 2
Timeline/Transport.C View File

@@ -22,12 +22,14 @@


Transport transport; Transport transport;


#define client engine->client()

void void
Transport::poll ( void ) Transport::poll ( void )
{ {
jack_transport_state_t ts; jack_transport_state_t ts;


ts = jack_transport_query( engine->client(), this );
ts = jack_transport_query( client, this );


rolling = ts == JackTransportRolling; rolling = ts == JackTransportRolling;
} }
@@ -35,5 +37,29 @@ Transport::poll ( void )
void void
Transport::locate ( nframes_t frame ) Transport::locate ( nframes_t frame )
{ {
jack_transport_locate( engine->client(), frame );
jack_transport_locate( client, frame );
}


void
Transport::start ( void )
{
// MESSAGE( "Starting transport" );
jack_transport_start( client );
}

void
Transport::stop ( void )
{
// MESSAGE( "Stopping transport" );
jack_transport_stop( client );
}

void
Transport::toggle ( void )
{
if ( rolling )
stop();
else
start();
} }

+ 3
- 0
Timeline/Transport.H View File

@@ -28,6 +28,9 @@ struct Transport : public jack_position_t


void poll ( void ); void poll ( void );
void locate ( nframes_t frame ); void locate ( nframes_t frame );
void start ( void );
void stop ( void );
void toggle ( void );
}; };


extern Transport transport; extern Transport transport;

Loading…
Cancel
Save