mvcp dv = dv1394app_get_command( this );
int unit = dv1394app_get_selected_unit( this );
- for ( index = 0; index < 11; index ++ )
+ for ( index = 0; index < TRANSPORT_BUTTONS_COUNT; index ++ )
if ( this->buttons[ index ] == button )
break;
mvcp_unit_clip_goto( dv, unit, mvcp_absolute, 9999, -1 );
break;
+ case 11:
+ mvcp_unit_set( dv, unit, "eof", "loop");
+ this->eof = 0;
+ break;
+
+ case 12:
+ mvcp_unit_set( dv, unit, "eof", "pause");
+ this->eof = 0;
+ break;
+
default:
break;
}
trim_adj[TRIM_ADJ_POS]->value = status->position;
gtk_signal_emit_by_name( GTK_OBJECT(trim_adj[TRIM_ADJ_POS]), "value_changed" );
}
+
+ gtk_widget_set_sensitive( lookup_widget( dv1394app_get_widget( this ), "transport_11" ), this->eof == 'p' );
+ gtk_widget_set_sensitive( lookup_widget( dv1394app_get_widget( this ), "transport_12" ), this->eof == 'l' );
}
static gboolean trim_pressed( GtkWidget *button, GdkEventButton *event, gpointer user_data )
// gtk_signal_connect( GTK_OBJECT( widget ), "clicked", GTK_SIGNAL_FUNC( on_item_quit_activate ), this );
/* Initialise the pages. */
- dv1394app_register_page( this, page_status_init( this ) );
- dv1394app_register_page( this, page_clips_init( this ) );
+ dv1394app_register_page( this, page_operate_init( this ) );
dv1394app_register_page( this, page_command_init( this ) );
this->guard = 1;
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( this->page_buttons[ 0 ] ), TRUE );
int index;
GtkAccelGroup *accel_group = gtk_accel_group_new( );
- for ( index = 0; index < 11; index ++ )
+ for ( index = 0; index < TRANSPORT_BUTTONS_COUNT; index ++ )
{
char name[ 256 ];
sprintf( name, "transport_%d", index );
page_close( this->pages[ -- this->page_count ] );
free( this );
}
+
+char* frames2tc( int f, float fps, char* buf )
+{
+ int tc[4] = { 0, 0, 0, 0 };
+ float d;
+ int t;
+
+ if ( fps )
+ {
+ d = f / fps;
+ t = d;
+
+ tc[0] = (d - t) * fps;
+ tc[1] = t % 60; t /= 60;
+ tc[2] = t % 60; t /= 60;
+ tc[3] = t % 24;
+ }
+
+ sprintf(buf, "%.2d:%.2d:%.2d:%.2d", tc[3], tc[2], tc[1], tc[0]);
+
+ return buf;
+}