#include <page_trim.h>
Inheritance diagram for PageTrim:


Public Member Functions | |
| PageTrim (KinoCommon *common) | |
| virtual | ~PageTrim () |
| Destructor for the trimmer page object. | |
| FrameDisplayer * | getFrameDisplayer () |
| int | getInPoint () |
| int | getOutPoint () |
| PlayList & | getPlayList () |
| int | getTotalFrames () |
| int | getPosition () |
| void | setInPoint (int value) |
| void | setOutPoint (int value) |
| void | setPosition (int value) |
| gulong | activate () |
| Activate the returned widgets. | |
| void | newFile () |
| New File action. | |
| void | start () |
| Start action. | |
| void | clean () |
| Clean action. | |
| gboolean | processKeyboard (GdkEventKey *event) |
| Process a keyboard event. | |
| gboolean | processCommand (char *cmd) |
| Internal method for handling a complete keyboard scene. | |
| void | selectScene (int) |
| Load the selected scene. | |
| void | videoStartOfMovie () |
| Move to the start of the scene. | |
| void | videoPreviousScene () |
| Move to the in point of the scene. | |
| void | videoStartOfScene () |
| Move to the in point of the scene. | |
| void | videoRewind () |
| Rewind. | |
| void | videoBack (int step=-1) |
| Move one frame back. | |
| void | videoPlay () |
| Play. | |
| void | videoForward (int step=1) |
| Move one frame forward. | |
| void | videoFastForward () |
| Fast forward. | |
| void | videoShuttle (int) |
| Shuttle. | |
| void | videoNextScene () |
| Move to the end of the current scene. | |
| void | videoEndOfScene () |
| Move to the end of the current scene. | |
| void | videoEndOfMovie () |
| Move to the end of the play list. | |
| void | videoPause () |
| Pause. | |
| void | videoStop () |
| Stop. | |
| void | startNavigator () |
| Starts the navigator thread. | |
| void | stopNavigator () |
| Stops the navigator thread. | |
| void | movedToFrame (int frame) |
| Called when the current frame has changed through the common moveToFrame method and this page is the current page. | |
| void | showFrame (int, gboolean) |
| Show the frame requested. | |
| void | showFrame (int, Frame &) |
| void | windowMoved () |
| void | showFrameInfo (int) |
| void | resetInPoint () |
| void | resetOutPoint () |
| int | getSceneIndex () |
| bool | loadFile (const string &) |
| Loads a clip into the trimmer. | |
| void | insertScene (TrimInsertMode) |
| Inserts the clip currently in the trimmer into the movie. | |
| void | loadScene (int currentScene) |
| Load a scene from the movie into the trimmer to edit it. | |
| void | saveScene () |
| Saves the scene currently being edited back to the movie. | |
| void | setMode (PageTrimMode) |
| void | timeFormatChanged () |
| std::string | getHelpPage () |
Private Attributes | |
| KinoCommon * | common |
| FrameDisplayer * | displayer |
| GtkDrawingArea * | frameArea |
| GtkLabel * | positionLabelCurrent |
| GtkLabel * | positionLabelTotal |
| GtkWidget * | trim |
| GtkButton * | reset_in |
| GtkButton * | reset_out |
| PlayList | playlist |
| gint | idleCommand |
| gboolean | idleCommandActive |
| int | start_orig |
| int | update_start |
| int | end_orig |
| int | in_orig |
| int | out_orig |
| int | in |
| int | out |
| int | max |
| int | pos |
| int | currentScene |
| int | lastPos |
| PageTrimMode | mode |
| bool | changed |
| PlayList * | g_copiedPlayList |
Definition at line 51 of file page_trim.h.
|
|
Definition at line 476 of file page_trim.cc. References frameArea, g_copiedPlayList, KinoCommon::getWidget(), gtk_enhanced_scale_new(), link_toggle, lookup_widget(), loop_toggle, on_trim_button_press_event(), on_trim_button_release_event(), on_trim_value_changed_event(), positionLabelCurrent, positionLabelTotal, spin_in, spin_out, trim, trim_adj, TRIM_ADJ_IN, TRIM_ADJ_OUT, and TRIM_ADJ_POS. 00476 : 00477 start_orig( 0 ), update_start(0), end_orig( 0 ), in_orig( 0 ), out_orig( 0 ), in( 0 ), out( 0 ), 00478 max( 0 ), pos( -1 ), currentScene( 0 ), lastPos( -1 ), mode( PAGE_TRIM_MODE_UNKNOWN ), 00479 changed( false ) 00480 { 00481 cerr << "> Creating page trim" << endl; 00482 this->common = common; 00483 this->frameArea = GTK_DRAWING_AREA( lookup_widget( common->getWidget(), "drawingarea_trim" ) ); 00484 gtk_widget_set_double_buffered( GTK_WIDGET( frameArea ), FALSE ); 00485 this->positionLabelCurrent = GTK_LABEL( lookup_widget( common->getWidget(), "position_label_current" ) ); 00486 this->positionLabelTotal = GTK_LABEL( lookup_widget( common->getWidget(), "position_label_total" ) ); 00487 spin_in = GTK_SPIN_BUTTON( lookup_widget( common->getWidget(), "spinbutton_trim_in" ) ); 00488 spin_out = GTK_SPIN_BUTTON( lookup_widget( common->getWidget(), "spinbutton_trim_out" ) ); 00489 link_toggle = GTK_TOGGLE_BUTTON( lookup_widget( common->getWidget(), "togglebutton_trim_link" ) ); 00490 loop_toggle = GTK_TOGGLE_BUTTON( lookup_widget( common->getWidget(), "togglebutton_trim_loop" ) ); 00491 00492 this->g_copiedPlayList = new PlayList(); 00493 00494 // Attach the custom GTK+ Trim control 00495 trim_adj[ TRIM_ADJ_POS ] = GTK_ADJUSTMENT( 00496 gtk_adjustment_new( 0, 0, 0, 1, 10, 0 ) ); 00497 trim_adj[ TRIM_ADJ_IN ] = GTK_ADJUSTMENT( 00498 gtk_adjustment_new( 0, 0, 0, 1, 10, 0 ) ); 00499 trim_adj[ TRIM_ADJ_OUT ] = GTK_ADJUSTMENT( 00500 gtk_adjustment_new( 0, 0, 0, 1, 10, 0 ) ); 00501 for ( int i = 0; i < 3; i++ ) 00502 g_signal_connect ( G_OBJECT ( trim_adj[ i ] ), "value_changed", 00503 G_CALLBACK( on_trim_value_changed_event ), ( gpointer ) i ); 00504 trim = gtk_enhanced_scale_new( ( GtkObject** ) trim_adj, 3 ); 00505 gtk_widget_set_name ( trim, "trim" ); 00506 gtk_widget_ref( trim ); 00507 gtk_object_set_data_full ( GTK_OBJECT( common->getWidget() ), "trim", trim, 00508 ( GtkDestroyNotify ) gtk_widget_unref ); 00509 GtkWidget *vbox_trim = lookup_widget( common->getWidget(), "vbox_trim_custom" ); 00510 gtk_widget_show( trim ); 00511 gtk_box_pack_start( GTK_BOX ( vbox_trim ), trim, FALSE, TRUE, 0 ); 00512 g_signal_connect( G_OBJECT( trim ), "button_press_event", 00513 G_CALLBACK( on_trim_button_press_event ), NULL ); 00514 g_signal_connect( G_OBJECT( trim ), "button_release_event", 00515 G_CALLBACK( on_trim_button_release_event ), NULL ); 00516 }
|
|
|
Destructor for the trimmer page object.
Definition at line 521 of file page_trim.cc. References g_copiedPlayList. 00522 {
00523 cerr << "> Destroying page trim" << endl;
00524 delete this->g_copiedPlayList;
00525 }
|
|
|
Activate the returned widgets.
Reimplemented from Page. Definition at line 605 of file page_trim.cc. References EDIT_MENU, INFO_FRAME, SCENE_LIST, VIDEO_BACK, VIDEO_END_OF_MOVIE, VIDEO_FAST_FORWARD, VIDEO_FORWARD, VIDEO_NEXT_SCENE, VIDEO_PAUSE, VIDEO_PLAY, VIDEO_REWIND, VIDEO_SHUTTLE, VIDEO_START_OF_MOVIE, VIDEO_START_OF_SCENE, and VIDEO_STOP. 00606 {
00607 return EDIT_MENU |
00608 SCENE_LIST |
00609 VIDEO_START_OF_MOVIE |
00610 VIDEO_START_OF_SCENE |
00611 VIDEO_REWIND |
00612 VIDEO_BACK |
00613 VIDEO_PLAY |
00614 VIDEO_PAUSE |
00615 VIDEO_STOP |
00616 VIDEO_FORWARD |
00617 VIDEO_FAST_FORWARD |
00618 VIDEO_NEXT_SCENE |
00619 VIDEO_END_OF_MOVIE |
00620 VIDEO_SHUTTLE |
00621 INFO_FRAME;
00622 }
|
|
|
Clean action. Called when another page becomes current. Reimplemented from Page. Definition at line 627 of file page_trim.cc. References displayer, frameContent, GetFramePool(), PLAYBACK_FRAMES, saveScene(), stopNavigator(), and writer1394. 00628 {
00629 cerr << ">> Leaving Trimmer" << endl;
00630 stopNavigator();
00631 delete displayer;
00632 displayer = 0;
00633 delete writer1394;
00634 writer1394 = NULL;
00635 saveScene();
00636 for ( int i = 0; i < PLAYBACK_FRAMES; i ++ )
00637 GetFramePool( ) ->DoneWithFrame( frameContent[ i ] );
00638
00639 cerr << ">> Left Trimmer" << endl;
00640 }
|
|
|
Definition at line 90 of file page_trim.h. References displayer. Referenced by showFrame(), and stopNavigator(). 00091 {
00092 return this->displayer;
00093 }
|
|
|
Reimplemented from Page. Definition at line 169 of file page_trim.h. 00170 {
00171 return "trim";
00172 }
|
|
|
Definition at line 94 of file page_trim.h. References in. 00095 {
00096 return this->in;
00097 }
|
|
|
Definition at line 98 of file page_trim.h. References out. 00099 {
00100 return this->out;
00101 }
|
|
|
Definition at line 102 of file page_trim.h. References playlist. Referenced by processCommand(). 00103 {
00104 return this->playlist;
00105 }
|
|
|
Definition at line 110 of file page_trim.h. References pos. 00111 {
00112 return this->pos;
00113 }
|
|
|
Definition at line 1330 of file page_trim.cc. References common, currentScene, KinoCommon::getPageEditor(), and KinoCommon::getPlayList(). Referenced by insertScene(), and processCommand(). 01331 {
01332 int i = 0;
01333 if ( common->getPlayList()->GetNumFrames() > 0 )
01334 {
01335 vector <int> scene = common->getPageEditor() ->GetScene();
01336 for ( i = 0; i < (int) scene.size() - 1; i++ )
01337 if ( currentScene < scene[ i ] )
01338 break;
01339 }
01340 else
01341 {
01342 i = -1;
01343 }
01344 return i;
01345 }
|
|
|
Definition at line 106 of file page_trim.h. References max. 00107 {
00108 return this->max + 1;
00109 }
|
|
|
Inserts the clip currently in the trimmer into the movie.
Definition at line 834 of file page_trim.cc. References common, PlayList::Delete(), end_orig, navigate_control::escaped, KinoCommon::g_currentFrame, g_nav_ctl, GetEditorBackup(), GetFileMap(), PlayList::GetNumFrames(), KinoCommon::getPageEditor(), KinoCommon::getPlayList(), getSceneIndex(), KinoCommon::getWidget(), KinoCommon::hasListChanged, in, lookup_widget(), max, out, playlist, selectScene(), KinoCommon::setCurrentScene(), KinoCommon::setWindowTitle(), start_orig, TRIM_INSERT_MODE_AFTER, and TRIM_INSERT_MODE_BEFORE. Referenced by processCommand(). 00835 {
00836 if ( playlist.GetNumFrames() > 0 )
00837 {
00838 int i = getSceneIndex();
00839
00840 if ( insertMode == TRIM_INSERT_MODE_BEFORE )
00841 {
00842 PlayList tmp;
00843 tmp = playlist;
00844 tmp.Delete( out + 1, max );
00845 tmp.Delete( 0, in - 1 );
00846 common->getPlayList()->InsertPlayList( tmp, start_orig );
00847 }
00848 else if ( insertMode == TRIM_INSERT_MODE_AFTER )
00849 {
00850 PlayList tmp;
00851 tmp = playlist;
00852 tmp.Delete( out + 1, max );
00853 tmp.Delete( 0, in - 1 );
00854 common->getPlayList()->InsertPlayList( tmp, end_orig + 1 );
00855 i++;
00856 }
00857 GetEditorBackup()->Store( common->getPlayList() );
00858 common->hasListChanged = TRUE;
00859 common->setWindowTitle( );
00860 common->getPageEditor()->DrawBar( common->g_currentFrame );
00861 selectScene( i );
00862 common->setCurrentScene( start_orig );
00863
00864 // Refresh the combo menu
00865 GList *items = NULL;
00866 const char *filename = gtk_entry_get_text( GTK_ENTRY( lookup_widget( GTK_WIDGET( common->getWidget() ), "entry_trim_clip" ) ) );
00867 map<string, FileHandler*>::iterator n;
00868 items = g_list_append( items, ( void* ) filename );
00869 for ( n = GetFileMap()->GetMap().begin(); n != GetFileMap()->GetMap().end(); ++n )
00870 if ( strcmp( n->first.c_str(), filename ) )
00871 items = g_list_append( items, ( void* ) n->first.c_str() );
00872 g_nav_ctl.escaped = TRUE;
00873 gtk_combo_set_popdown_strings( GTK_COMBO( lookup_widget( common->getWidget(), "combo_trim_clip" ) ), items);
00874 g_nav_ctl.escaped = FALSE;
00875 }
00876 }
|
|
|
Loads a clip into the trimmer.
Definition at line 770 of file page_trim.cc. References changed, common, currentScene, end_orig, PlayList::GetNumFrames(), KinoCommon::getPlayList(), in, in_orig, lastPos, PlayList::LoadMediaObject(), max, out, out_orig, playlist, pos, spin_in, spin_out, start_orig, timeFormatChanged(), trim_adj, TRIM_ADJ_IN, TRIM_ADJ_OUT, and TRIM_ADJ_POS. Referenced by movedToFrame(). 00771 {
00772 PlayList newList;
00773 bool result = true;
00774
00775 try
00776 {
00777 if ( newList.LoadMediaObject( const_cast< char* >( filename.c_str() ) ) )
00778 {
00779 playlist = newList;
00780 start_orig = common->getPlayList()->FindStartOfScene( currentScene );
00781 end_orig = common->getPlayList()->FindEndOfScene( currentScene );
00782 in = in_orig = lastPos = pos = 0;
00783 out = out_orig = max = playlist.GetNumFrames() - 1;
00784 changed = true;
00785
00786 trim_adj[ TRIM_ADJ_IN ] ->upper = max;
00787 trim_adj[ TRIM_ADJ_IN ] ->value = in;
00788 g_signal_emit_by_name( trim_adj[ TRIM_ADJ_IN ], "changed" );
00789 trim_adj[ TRIM_ADJ_OUT ] ->upper = max;
00790 trim_adj[ TRIM_ADJ_OUT ] ->value = out;
00791 g_signal_emit_by_name( trim_adj[ TRIM_ADJ_OUT ], "changed" );
00792 trim_adj[ TRIM_ADJ_POS ] ->upper = max;
00793 g_signal_emit_by_name( trim_adj[ TRIM_ADJ_POS ], "changed" );
00794
00795 GtkAdjustment *adjust = gtk_spin_button_get_adjustment( spin_in );
00796 adjust->lower = 0;
00797 adjust->upper = max;
00798 adjust->value = in;
00799 g_signal_emit_by_name( adjust, "changed" );
00800 gtk_spin_button_set_value( spin_in, ( gfloat ) in );
00801
00802 adjust = gtk_spin_button_get_adjustment( spin_out );
00803 adjust->lower = 0;
00804 adjust->upper = max;
00805 adjust->value = out;
00806 g_signal_emit_by_name( adjust, "changed" );
00807 gtk_spin_button_set_value( spin_out, ( gfloat ) out );
00808
00809 timeFormatChanged();
00810 }
00811 else
00812 {
00813 // XXX: the following is making gtk abort
00814 // modal_message( _( "Failed to load media file." ) );
00815 result = false;
00816 }
00817 }
00818 catch ( string s )
00819 {
00820 cerr << "Could not load file " << filename << ", because an exception has occurred: " << endl;
00821 cerr << s << endl;
00822 result = false;
00823 }
00824
00825 return result;
00826 }
|
|
|
Load a scene from the movie into the trimmer to edit it.
Definition at line 647 of file page_trim.cc. References common, currentScene, end_orig, navigate_control::escaped, PlayList::FindEndOfScene(), PlayList::FindStartOfScene(), g_nav_ctl, PlayList::GetClipBegin(), PlayList::GetClipEnd(), PlayList::GetMediaObject(), PlayList::GetNumFrames(), PlayList::GetPlayList(), KinoCommon::getPlayList(), FileHandler::GetTotalFrames(), KinoCommon::getWidget(), in, in_orig, lastPos, lookup_widget(), max, out, out_orig, playlist, pos, PlayList::SetClipBegin(), PlayList::SetClipEnd(), KinoCommon::setCurrentScene(), spin_in, spin_out, start_orig, timeFormatChanged(), trim_adj, TRIM_ADJ_IN, TRIM_ADJ_OUT, TRIM_ADJ_POS, and update_start. Referenced by movedToFrame(), processCommand(), selectScene(), setMode(), and start(). 00648 {
00649 char value[ 20 ];
00650 PlayList newPlayList;
00651 playlist = newPlayList;
00652 PlayList *pl = common->getPlayList();
00653 FileHandler *media;
00654
00655 currentScene = newScene;
00656
00657 // first, save begin and end time markers to region of the
00658 // the whole movie that this scene represents
00659 update_start = start_orig = pl->FindStartOfScene( currentScene );
00660 end_orig = pl->FindEndOfScene( currentScene );
00661
00662 // get a local playlist representing just the scene
00663 // based on time markers in the movie
00664 pl->GetPlayList( start_orig, end_orig, playlist );
00665
00666 // set the in point and current position to the in point
00667 // of the first clip in the scene
00668 in = in_orig = lastPos = pos = pl->GetClipBegin( currentScene );
00669
00670 // unwind the clip at the beginning of the scene
00671 playlist.SetClipBegin( 0, "0" );
00672
00673 // get the clip at the end of the scene
00674 playlist.GetMediaObject( playlist.FindEndOfScene( 0 ), &media );
00675
00676 // unwind the clip at the end of the scene
00677 // XXX: what about frames deleted from the beginning or middle
00678 // of a multi-clip scene?
00679 int prevClipEnd = playlist.GetClipEnd( playlist.GetNumFrames() - 1 );
00680 int newClipEnd = media->GetTotalFrames() - 1;
00681 snprintf( value, 19, "%i", newClipEnd );
00682 playlist.SetClipEnd( playlist.GetNumFrames() - 1, value );
00683
00684 // get the total number of frames now in the local playlist
00685 max = playlist.GetNumFrames() - 1;
00686
00687 // set the out point to the difference between out point before
00688 // and after unwinding
00689 out = out_orig = max - ( newClipEnd - prevClipEnd );
00690
00691 // inform controller of our scene change
00692 common->setCurrentScene( start_orig );
00693
00694 // update the trim UI
00695 trim_adj[ TRIM_ADJ_IN ] ->upper = max;
00696 trim_adj[ TRIM_ADJ_IN ] ->value = in;
00697 g_signal_emit_by_name( trim_adj[ TRIM_ADJ_IN ], "changed" );
00698 trim_adj[ TRIM_ADJ_OUT ] ->upper = max;
00699 trim_adj[ TRIM_ADJ_OUT ] ->value = out;
00700 g_signal_emit_by_name( trim_adj[ TRIM_ADJ_OUT ], "changed" );
00701 trim_adj[ TRIM_ADJ_POS ] ->upper = max;
00702 g_signal_emit_by_name( trim_adj[ TRIM_ADJ_POS ], "changed" );
00703
00704 // Recalibrate the spinners
00705 GtkAdjustment *adjust = gtk_spin_button_get_adjustment( spin_in );
00706 adjust->lower = 0;
00707 adjust->upper = max;
00708 adjust->value = in;
00709 g_signal_emit_by_name( adjust, "changed" );
00710 gtk_spin_button_set_value( spin_in, ( gfloat ) in );
00711
00712 adjust = gtk_spin_button_get_adjustment( spin_out );
00713 adjust->lower = 0;
00714 adjust->upper = max;
00715 adjust->value = out;
00716 g_signal_emit_by_name( adjust, "changed" );
00717 gtk_spin_button_set_value( spin_out, ( gfloat ) out );
00718
00719 g_nav_ctl.escaped = TRUE;
00720 gtk_entry_set_text( GTK_ENTRY( lookup_widget( common->getWidget(), "entry_trim_clip" ) ), "" );
00721 g_nav_ctl.escaped = FALSE;
00722
00723 timeFormatChanged();
00724 }
|
|
|
Called when the current frame has changed through the common moveToFrame method and this page is the current page.
Reimplemented from Page. Definition at line 944 of file page_trim.cc. References navigate_control::active, common, g_nav_ctl, Preferences::getInstance(), KinoCommon::getPageEditor(), KinoCommon::getPlayList(), KinoCommon::getWidget(), KinoCommon::hasListChanged, in, lastFrame, lastPos, loadFile(), loadScene(), lookup_widget(), loop_toggle, max, mode, newFrame, out, PAGE_TRIM_MODE_INSERT, PAGE_TRIM_MODE_UPDATE, pos, showFrame(), skipPosUpdate, and startNavigator(). Referenced by processCommand(), selectScene(), start(), videoEndOfMovie(), videoEndOfScene(), videoNextScene(), videoPreviousScene(), videoStartOfMovie(), and videoStartOfScene(). 00945 {
00946 if ( common->hasListChanged == TRUE )
00947 {
00948 common->getPageEditor()->ResetBar();
00949 common->hasListChanged = FALSE;
00950
00951 if ( mode == PAGE_TRIM_MODE_UPDATE &&
00952 common->getPlayList() ->GetNumFrames() > 0 )
00953 {
00954 loadScene( frame );
00955 frame = in;
00956 }
00957 else if ( mode == PAGE_TRIM_MODE_INSERT )
00958 {
00959 const char *file = gtk_entry_get_text( GTK_ENTRY( lookup_widget( GTK_WIDGET( common->getWidget() ), "entry_trim_clip" ) ) );
00960 if ( file && strcmp( file, "" ) )
00961 {
00962 loadFile( file );
00963 frame = pos;
00964 }
00965 }
00966 }
00967 if ( max > 0 )
00968 {
00969 if ( frame > out && gtk_toggle_button_get_active( loop_toggle ) == TRUE )
00970 pos = in;
00971 else if ( frame < in && gtk_toggle_button_get_active( loop_toggle ) == TRUE )
00972 pos = out;
00973 else if ( frame >= 0 && frame <= max )
00974 pos = frame;
00975 else if ( frame >= max )
00976 pos = max;
00977 else if ( frame < 0 && max > 0 )
00978 pos = 0;
00979 else
00980 pos = -1;
00981
00982 if ( g_nav_ctl.active == FALSE )
00983 {
00984 skipPosUpdate = FALSE;
00985 showFrame( pos, ( pos == lastPos ) || ( Preferences::getInstance().audioScrub == FALSE ) );
00986 }
00987 else
00988 {
00989 lastFrame = newFrame = pos;
00990 startNavigator();
00991 }
00992 }
00993 }
|
|
|
New File action.
Reimplemented from Page. Definition at line 530 of file page_trim.cc. References stopNavigator(). 00531 {
00532 this->stopNavigator();
00533 }
|
|
|
Internal method for handling a complete keyboard scene.
Reimplemented from Page. Definition at line 1483 of file page_trim.cc. References _getOneSecond(), navigate_control::active, CAPTURE_FRAME_APPEND, CAPTURE_MOVIE_APPEND, KinoCommon::changePageRequest(), cmd, common, count, currentScene, end_orig, KinoCommon::g_currentFrame, g_nav_ctl, GetEditorBackup(), FileTracker::GetInstance(), KinoCommon::getPageEditor(), KinoCommon::getPageTrim(), KinoCommon::getPlayList(), getPlayList(), getSceneIndex(), KinoCommon::hasListChanged, in, insertScene(), KinoCommon::keyboardFeedback(), kinoDeactivate(), lastcmd, link_toggle, loadScene(), loop_toggle, mode, movedToFrame(), KinoCommon::moveToFrame(), moveToFrame(), out, PAGE_CAPTURE, PAGE_EDITOR, PAGE_EXPORT, PAGE_MAGICK, PAGE_TIMELINE, PAGE_TRIM_MODE_INSERT, PAGE_TRIM_MODE_UPDATE, pos, resetInPoint(), resetOutPoint(), KinoCommon::savePlayList(), saveScene(), selectScene(), setMode(), KinoCommon::setStatusBar(), start_orig, trim_adj, TRIM_ADJ_IN, TRIM_ADJ_OUT, TRIM_ADJ_POS, TRIM_INSERT_MODE_AFTER, TRIM_INSERT_MODE_BEFORE, KinoCommon::videoEndOfMovie(), KinoCommon::videoEndOfScene(), KinoCommon::videoPause(), KinoCommon::videoPlay(), KinoCommon::videoStartOfMovie(), KinoCommon::videoStartOfScene(), and KinoCommon::videoStop(). Referenced by processKeyboard(). 01484 {
01485 int end;
01486 int count = 1;
01487 char real[ 256 ] = "";
01488
01489 strcpy( cmd, command );
01490
01491 switch ( sscanf( cmd, "%d%s", &count, real ) )
01492 {
01493 case 1:
01494 // Numeric value only - return immediately if the cmd is not "0"
01495 if ( strcmp( cmd, "0" ) )
01496 {
01497 common->keyboardFeedback( cmd, "" );
01498 return FALSE;
01499 }
01500 break;
01501 case 0:
01502 sscanf( cmd, "%s", real );
01503 count = 1;
01504 break;
01505 }
01506
01507 if ( strcmp( cmd, "." ) )
01508 strcpy( lastcmd, cmd );
01509
01510 /* Navigation */
01511
01512 /* play, pause */
01513
01514 if ( strcmp( cmd, " " ) == 0 )
01515 {
01516 if ( g_nav_ctl.active == TRUE )
01517 {
01518 common->keyboardFeedback( cmd, _( "Pause" ) );
01519 common->videoPause( );
01520 }
01521 else
01522 {
01523 common->keyboardFeedback( cmd, _( "Play" ) );
01524 common->videoPlay( );
01525 }
01526 cmd[ 0 ] = 0;
01527 }
01528
01529 else if ( strcmp( real, "Esc" ) == 0 )
01530 {
01531 common->keyboardFeedback( cmd, _( "Stop" ) );
01532 common->videoStop( );
01533 cmd[ 0 ] = 0;
01534 }
01535
01536 else if ( strcmp( real, "Enter" ) == 0 )
01537 {
01538 if ( mode == PAGE_TRIM_MODE_UPDATE )
01539 {
01540 int pos = common->getPageTrim()->getPosition();
01541 common->keyboardFeedback( cmd, _( "Overwrite" ) );
01542 saveScene();
01543 loadScene( currentScene );
01544 movedToFrame( pos );
01545 }
01546 else if ( mode == PAGE_TRIM_MODE_INSERT )
01547 {
01548 common->keyboardFeedback( cmd, _( "Insert After" ) );
01549 insertScene( TRIM_INSERT_MODE_AFTER );
01550 movedToFrame( in );
01551 }
01552 cmd[ 0 ] = 0;
01553 }
01554
01555 else if ( strcmp( real, ":r" ) == 0 )
01556 {
01557 common->keyboardFeedback( cmd, _( "Insert Before" ) );
01558 insertScene( TRIM_INSERT_MODE_BEFORE );
01559 cmd[ 0 ] = 0;
01560 }
01561
01562 else if ( strcmp( real, ":a" ) == 0 )
01563 {
01564 common->keyboardFeedback( cmd, _( "Insert After" ) );
01565 insertScene( TRIM_INSERT_MODE_AFTER );
01566 cmd[ 0 ] = 0;
01567 }
01568
01569 else if ( strcmp( real, "Ins" ) == 0 )
01570 {
01571 common->keyboardFeedback( cmd, _( "Toggle Insert/Overwrite" ) );
01572 setMode( mode == PAGE_TRIM_MODE_UPDATE ? PAGE_TRIM_MODE_INSERT : PAGE_TRIM_MODE_UPDATE );
01573 cmd[ 0 ] = 0;
01574 }
01575
01576 /* advance one frame */
01577
01578 else if ( strcmp( real, "l" ) == 0 )
01579 {
01580 common->keyboardFeedback( cmd, _( "Move forward" ) );
01581 movedToFrame( pos + count );
01582 cmd[ 0 ] = 0;
01583 }
01584
01585 /* backspace one frame */
01586
01587 else if ( strcmp( real, "h" ) == 0 )
01588 {
01589 common->keyboardFeedback( cmd, _( "Move backward" ) );
01590 movedToFrame( pos - count );
01591 cmd[ 0 ] = 0;
01592 }
01593
01594 /* advance one second */
01595
01596 else if ( strcmp( real, "w" ) == 0 || strcmp( real, "W" ) == 0 ||
01597 strcmp( real, "e" ) == 0 || strcmp( real, "E" ) == 0 )
01598 {
01599 common->keyboardFeedback( cmd, _( "Move forward second" ) );
01600 movedToFrame( pos + count * _getOneSecond() );
01601 cmd[ 0 ] = 0;
01602 }
01603
01604 /* backspace one second */
01605
01606 else if ( ( strcmp( real, "b" ) == 0 ) || ( strcmp( real, "B" ) == 0 ) )
01607 {
01608 common->keyboardFeedback( cmd, _( "Move backwards one second" ) );
01609 moveToFrame( pos - count * _getOneSecond() );
01610 cmd[ 0 ] = 0;
01611 }
01612
01613 /* start of scene */
01614
01615 else if ( ( strcmp( cmd, "0" ) == 0 ) || ( strcmp( real, "^" ) == 0 ) )
01616 {
01617 common->videoStartOfScene( );
01618 common->keyboardFeedback( cmd, _( "Move to start of scene" ) );
01619 cmd[ 0 ] = 0;
01620 }
01621
01622 /* end of scene */
01623
01624 else if ( strcmp( real, "$" ) == 0 )
01625 {
01626 common->videoEndOfScene( );
01627 common->keyboardFeedback( cmd, _( "Move to end of scene" ) );
01628 cmd[ 0 ] = 0;
01629 }
01630
01631 /* start of next scene */
01632
01633 else if ( ( strcmp( real, "j" ) == 0 ) || strcmp( real, "+" ) == 0 )
01634 {
01635 selectScene( getSceneIndex() + 1 );
01636 common->keyboardFeedback( cmd, _( "Move to start of next scene" ) );
01637 cmd[ 0 ] = 0;
01638 }
01639
01640 /* start of previous scene */
01641
01642 else if ( ( strcmp( real, "k" ) == 0 ) || ( strcmp( real, "-" ) == 0 ) )
01643 {
01644 selectScene( getSceneIndex() - 1 );
01645 common->keyboardFeedback( cmd, _( "Move to start of previous scene" ) );
01646 cmd[ 0 ] = 0;
01647 }
01648
01649 /* first frame */
01650
01651 else if ( strcmp( cmd, "gg" ) == 0 )
01652 {
01653 common->videoStartOfMovie( );
01654 common->keyboardFeedback( cmd, _( "Move to first frame" ) );
01655 cmd[ 0 ] = 0;
01656 }
01657
01658 /* last frame */
01659
01660 else if ( strcmp( cmd, "G" ) == 0 )
01661 {
01662 common->videoEndOfMovie( );
01663 common->keyboardFeedback( cmd, _( "Move to last frame" ) );
01664 cmd[ 0 ] = 0;
01665 }
01666
01667 /* delete current scene */
01668
01669 else if ( strcmp( real, "dd" ) == 0 )
01670 {
01671 end_orig = start_orig;
01672 for ( ; count >= 1 && end_orig <= common->getPlayList() ->GetNumFrames() - 1; count -- )
01673 {
01674 end_orig = common->getPlayList() ->FindEndOfScene( end_orig );
01675 end_orig ++;
01676 }
01677 common->getPageEditor()->CopyFrames( start_orig, end_orig - 1 );
01678 common->getPageEditor()->DeleteFrames( start_orig, end_orig - 1 );
01679 if ( start_orig > common->getPlayList() ->GetNumFrames() - 1 )
01680 start_orig = common->getPlayList() ->GetNumFrames() - 1;
01681 common->moveToFrame( start_orig );
01682 common->keyboardFeedback( cmd, _( "Cut current scene" ) );
01683 common->getPageEditor()->DrawBar( common->g_currentFrame );
01684 cmd[ 0 ] = 0;
01685 }
01686
01687 /* delete from current frame up to end of scene */
01688
01689 else if ( ( strcmp( cmd, "o" ) == 0 ) || ( strcmp( cmd, "d$" ) == 0 ) )
01690 {
01691 out = pos;
01692 gtk_adjustment_set_value( trim_adj[ TRIM_ADJ_OUT ], ( gfloat ) out );
01693 common->keyboardFeedback( cmd, _( "Cut to end of scene" ) );
01694 cmd[ 0 ] = 0;
01695 }
01696
01697 /* delete from start of scene just before current frame */
01698
01699 else if ( ( strcmp( cmd, "i" ) == 0 ) || ( strcmp( cmd, "d0" ) == 0 ) || strcmp( cmd, "d^" ) == 0 )
01700 {
01701 in = pos;
01702 gtk_adjustment_set_value( trim_adj[ TRIM_ADJ_IN ], ( gfloat ) in );
01703 common->keyboardFeedback( cmd, _( "Cut from start of scene" ) );
01704 cmd[ 0 ] = 0;
01705 }
01706
01707 /* copy current scene */
01708
01709 else if ( ( strcmp( real, "yy" ) == 0 ) || ( strcmp( real, "Y" ) == 0 ) )
01710 {
01711 end_orig = start_orig;
01712 for ( ; count >= 1; count -- )
01713 {
01714 end_orig = common->getPlayList() ->FindEndOfScene( end_orig );
01715 end_orig ++;
01716 }
01717 common->getPageEditor()->CopyFrames( start_orig, end_orig - 1 );
01718 common->keyboardFeedback( cmd, _( "Copy current scene" ) );
01719 cmd[ 0 ] = 0;
01720 }
01721
01722 /* paste after current frame */
01723
01724 else if ( strcmp( real, "p" ) == 0 )
01725 {
01726 for ( ; count >= 1; count -- )
01727 common->getPageEditor()->PasteFrames( common->g_currentFrame + 1 );
01728 movedToFrame( pos );
01729 common->keyboardFeedback( cmd, _( "Paste after current frame" ) );
01730 common->getPageEditor()->DrawBar( common->g_currentFrame );
01731 cmd[ 0 ] = 0;
01732 }
01733
01734 /* paste before current frame */
01735
01736 else if ( strcmp( real, "P" ) == 0 )
01737 {
01738 for ( ; count >= 1; count -- )
01739 common->getPageEditor()->PasteFrames( common->g_currentFrame );
01740 end_orig = common->getPlayList() ->FindEndOfScene( common->g_currentFrame + 1 );
01741 movedToFrame( pos );
01742 common->keyboardFeedback( cmd, _( "Paste before current frame" ) );
01743 common->getPageEditor()->DrawBar( common->g_currentFrame );
01744 cmd[ 0 ] = 0;
01745 }
01746
01747 /* Switch to capture mode */
01748
01749 else if ( strcmp( cmd, "a" ) == 0 )
01750 {
01751 common->keyboardFeedback( cmd, _( "Capture, insert after frame" ) );
01752 end = common->getPlayList() ->FindEndOfScene( common->g_currentFrame );
01753 common->moveToFrame( end );
01754 FileTracker::GetInstance().SetMode( CAPTURE_FRAME_APPEND );
01755 common->changePageRequest( PAGE_CAPTURE );
01756 cmd[ 0 ] = 0;
01757 }
01758
01759 else if ( strcmp( cmd, "A" ) == 0 )
01760 {
01761 common->keyboardFeedback( cmd, _( "Capture, append to movie" ) );
01762 end = common->getPlayList() ->GetNumFrames();
01763 common->moveToFrame( end );
01764 FileTracker::GetInstance().SetMode( CAPTURE_MOVIE_APPEND );
01765 common->changePageRequest( PAGE_CAPTURE );
01766 cmd[ 0 ] = 0;
01767 }
01768
01769 else if ( strcmp( cmd, "v" ) == 0 )
01770 {
01771 common->keyboardFeedback( cmd, _( "Timeline" ) );
01772 common->changePageRequest( PAGE_TIMELINE );
01773 cmd[ 0 ] = 0;
01774 }
01775
01776 else if ( strcmp( cmd, "C" ) == 0 )
01777 {
01778 common->keyboardFeedback( cmd, _( "FX" ) );
01779 common->changePageRequest( PAGE_MAGICK );
01780 cmd[ 0 ] = 0;
01781 }
01782
01783 else if ( strcmp( cmd, "u" ) == 0 )
01784 {
01785 GetEditorBackup() ->Undo( common->getPlayList() );
01786 common->keyboardFeedback( cmd, _( "Undo" ) );
01787 common->hasListChanged = TRUE;
01788 movedToFrame( 0 );
01789 common->getPageEditor()->DrawBar( common->g_currentFrame );
01790 cmd[ 0 ] = 0;
01791 }
01792
01793 else if ( strcmp( cmd, "Ctrl+R" ) == 0 )
01794 {
01795 GetEditorBackup() ->Redo( common->getPlayList() );
01796 common->keyboardFeedback( cmd, _( "Redo" ) );
01797 common->hasListChanged = TRUE;
01798 movedToFrame( 0 );
01799 common->getPageEditor()->DrawBar( common->g_currentFrame );
01800 cmd[ 0 ] = 0;
01801 }
01802
01803 // the following are specific to Trim
01804 else if ( strcmp( cmd, "U" ) == 0 )
01805 {
01806 common->keyboardFeedback( cmd, _( "Undo" ) );
01807 resetInPoint();
01808 resetOutPoint();
01809 movedToFrame( pos );
01810 cmd[ 0 ] = 0;
01811 }
01812
01813 else if ( strcmp( cmd, "\\" ) == 0 )
01814 {
01815 common->keyboardFeedback( cmd, _( "Toggle Looping" ) );
01816 gtk_toggle_button_set_active( loop_toggle, ! gtk_toggle_button_get_active( loop_toggle ) );
01817 cmd[ 0 ] = 0;
01818 }
01819
01820 else if ( strcmp( cmd, "=" ) == 0 )
01821 {
01822 common->keyboardFeedback( cmd, _( "Toggle Link" ) );
01823 gtk_toggle_button_set_active( link_toggle, ! gtk_toggle_button_get_active( link_toggle ) );
01824 cmd[ 0 ] = 0;
01825 }
01826
01827 /* switch to export mode */
01828
01829 else if ( strcmp( cmd, ":W" ) == 0 )
01830 {
01831 common->keyboardFeedback( cmd, _( "Export" ) );
01832 common->changePageRequest( PAGE_EXPORT );
01833 cmd[ 0 ] = 0;
01834 }
01835
01836 else if ( strcmp( cmd, "F2" ) == 0 )
01837 {
01838 common->keyboardFeedback( cmd, _( "Edit" ) );
01839 common->changePageRequest( PAGE_EDITOR );
01840 cmd[ 0 ] = 0;
01841 }
01842
01843 /* write PlayList */
01844
01845 else if ( strcmp( cmd, ":w" ) == 0 )
01846 {
01847 common->keyboardFeedback( cmd, _( "Write playlist" ) );
01848 common->savePlayList( );
01849 cmd[ 0 ] = 0;
01850 }
01851
01852 /* quit */
01853
01854 else if ( strcmp( cmd, ":q" ) == 0 )
01855 {
01856 common->keyboardFeedback( cmd, _( "quit" ) );
01857 kinoDeactivate();
01858 cmd[ 0 ] = 0;
01859 }
01860
01861 else if ( strcmp( real, "J" ) == 0 )
01862 {
01863 common->keyboardFeedback( cmd, _( "Join scenes" ) );
01864 for ( ; count >= 1 && common->getPlayList() ->JoinScenesAt( common->g_currentFrame ); count -- )
01865 common->hasListChanged = TRUE;
01866 if ( common->hasListChanged == TRUE )
01867 {
01868 GetEditorBackup() ->Store( common->getPlayList() );
01869 movedToFrame( pos );
01870 g_signal_emit_by_name( trim_adj[ TRIM_ADJ_POS ], "value-changed" );
01871 }
01872 cmd[ 0 ] = 0;
01873 }
01874
01875 /* split scene */
01876
01877 else if ( strcmp( cmd, "Ctrl+J" ) == 0 && currentScene != -1 )
01878 {
01879 int newScene = getSceneIndex() + 1;
01880 common->keyboardFeedback( cmd, _( "Split scene before frame" ) );
01881 if ( pos >= in && pos <= out &&
01882 common->getPlayList() ->SplitSceneBefore( common->g_currentFrame ) )
01883 {
01884 GetEditorBackup() ->Store( common->getPlayList() );
01885 common->hasListChanged = TRUE;
01886 g_signal_emit_by_name( trim_adj[ TRIM_ADJ_POS ], "value-changed" );
01887 selectScene( newScene );
01888 common->videoStartOfScene( );
01889 }
01890 cmd[ 0 ] = 0;
01891 }
01892
01893 /* goto a frame */
01894 else if ( strncmp( cmd, ":", 1 ) == 0 )
01895 {
01896 int val = 0;
01897 char t[ 132 ] = "";
01898 if ( sscanf( cmd + 1, "%d", &val ) == 1 )
01899 {
01900 common->moveToFrame( val );
01901 sprintf( t, "Move to frame %d", val );
01902 common->keyboardFeedback( cmd, t );
01903 }
01904 else
01905 common->setStatusBar( cmd );
01906 }
01907
01908 else
01909 {
01910 // Check for invalid commands
01911 if ( strlen( real ) > 5 )
01912 cmd[ 0 ] = 0;
01913 else if ( strchr( "dgy ", real[ strlen( real ) - 1 ] ) == NULL )
01914 cmd[ 0 ] = 0;
01915
01916 common->keyboardFeedback( cmd, "" );
01917
01918 }
01919
01920 return FALSE;
01921 }
|
|
|
Process a keyboard event.
Reimplemented from Page. Definition at line 1367 of file page_trim.cc. References KinoCommon::changePageRequest(), cmd, common, navigate_control::escaped, g_nav_ctl, KinoCommon::getComponentState(), lastcmd, PAGE_EDITOR, processCommand(), KinoCommon::setStatusBar(), and VIDEO_STOP. 01368 {
01369 gboolean ret = FALSE;
01370
01371 // Only process while not escape mode
01372 if ( g_nav_ctl.escaped == FALSE )
01373 {
01374 if ( strcmp( lastcmd, "alt" ) == 0 )
01375 {
01376 strcpy( lastcmd, "" );
01377 return ret;
01378 }
01379
01380 // Translate special keys to equivalent command
01381 switch ( event->keyval )
01382 {
01383 case GDK_Home:
01384 strcat( cmd, "gg");
01385 ret = TRUE;
01386 break;
01387 case GDK_End:
01388 strcat( cmd, "G");
01389 ret = TRUE;
01390 break;
01391 case GDK_BackSpace:
01392 case GDK_Left:
01393 strcat( cmd, "h" );
01394 ret = TRUE;
01395 break;
01396 case GDK_Up:
01397 strcat( cmd, "k" );
01398 ret = TRUE;
01399 break;
01400 case GDK_Right:
01401 strcat( cmd, "l" );
01402 ret = TRUE;
01403 break;
01404 case GDK_Return:
01405 if ( cmd[ 0 ] != 0 )
01406 {
01407 // Last command is now
01408 strcpy( lastcmd, cmd );
01409
01410 // end the command entry
01411 cmd[ 0 ] = 0;
01412 common->setStatusBar( "" );
01413 break;
01414 }
01415 else
01416 {
01417 strcat( cmd, "Enter" );
01418 ret = TRUE;
01419 break;
01420 }
01421 case GDK_Down:
01422 strcat( cmd, "j" );
01423 ret = TRUE;
01424 break;
01425 case GDK_Delete:
01426 strcat( cmd, "x" );
01427 ret = TRUE;
01428 break;
01429 case GDK_Escape:
01430 if ( common->getComponentState() & VIDEO_STOP )
01431 {
01432 common->changePageRequest( PAGE_EDITOR );
01433 return ret;
01434 }
01435 else
01436 {
01437 strcat( cmd, "Esc" );
01438 break;
01439 }
01440 case GDK_Alt_L:
01441 case GDK_Alt_R:
01442 strcpy( lastcmd, "alt" );
01443 return ret;
01444 case GDK_Insert:
01445 case GDK_KP_Insert:
01446 strcat( cmd, "Ins" );
01447 ret = TRUE;
01448 break;
01449 default:
01450 if ( strcmp( event->string, "." ) )
01451 strcat( cmd, event->string );
01452 break;
01453 }
01454
01455 if ( !strcmp( event->string, "." ) )
01456 strcpy( cmd, lastcmd );
01457 else if ( cmd[ 0 ] == 0x12 )
01458 strcpy( cmd, "Ctrl+R" );
01459
01460 #if 0
01461 printf( "send_event: %2.2x\n", event->send_event );
01462 printf( "time : %8.8x\n", event->time );
01463 printf( "state : %8.8x\n", event->state );
01464 printf( "keyval: %8.8x\n", event->keyval );
01465 printf( "length: %8.8x\n", event->length );
01466 printf( "string: %s\n", event->string );
01467 printf( "(hex) : %2.2x\n", event->string[ 0 ] );
01468 printf( "cmd : %s\n", cmd );
01469 printf( "(hex) : %8.8x\n", cmd[ 0 ] );
01470 fflush( stdout );
01471 #endif
01472
01473 processCommand( cmd );
01474 }
01475 return ret;
01476 }
|
|
|
Definition at line 1347 of file page_trim.cc. References in, in_orig, spin_in, trim_adj, and TRIM_ADJ_IN. Referenced by processCommand(). 01348 {
01349 in = in_orig;
01350 gtk_adjustment_set_value( trim_adj[ TRIM_ADJ_IN ], ( gfloat ) in );
01351 gtk_spin_button_set_value( spin_in, ( gfloat ) in );
01352 }
|
|
|
Definition at line 1355 of file page_trim.cc. References out, out_orig, spin_out, trim_adj, and TRIM_ADJ_OUT. Referenced by processCommand(). 01356 {
01357 out = out_orig;
01358 gtk_adjustment_set_value( trim_adj[ TRIM_ADJ_OUT ], ( gfloat ) out );
01359 gtk_spin_button_set_value( spin_out, ( gfloat ) out );
01360 }
|
|
|
Saves the scene currently being edited back to the movie.
Definition at line 729 of file page_trim.cc. References changed, common, PlayList::Delete(), end_orig, navigate_control::escaped, KinoCommon::g_currentFrame, g_nav_ctl, GetEditorBackup(), GetFileMap(), PlayList::GetNumFrames(), KinoCommon::getPageEditor(), KinoCommon::getPlayList(), KinoCommon::getWidget(), KinoCommon::hasListChanged, in, in_orig, lookup_widget(), max, out, out_orig, playlist, KinoCommon::setWindowTitle(), and start_orig. Referenced by clean(), processCommand(), and selectScene(). 00730 {
00731 if ( playlist.GetNumFrames() && ( in_orig != in || out_orig != out || changed ) )
00732 {
00733 // commit out point to local playlist
00734 playlist.Delete( out + 1, max );
00735 // commmit in point to local playlist
00736 playlist.Delete( 0, in - 1 );
00737 // delete the original scene from the movie
00738 common->getPlayList() ->Delete( start_orig, end_orig );
00739 // insert the revised scene (local playlist) into the movie
00740 // at the saved begin time marker
00741 common->getPlayList() ->InsertPlayList( playlist, start_orig );
00742
00743 changed = false;
00744
00745 // put into undo history
00746 GetEditorBackup() ->Store( common->getPlayList() );
00747
00748 // update commons and other views (title bar and storyboard)
00749 common->hasListChanged = TRUE;
00750 common->setWindowTitle( );
00751 common->getPageEditor()->DrawBar( common->g_currentFrame );
00752
00753 // Refresh the combo menu
00754 GList *items = NULL;
00755 map<string, FileHandler*>::iterator n;
00756 for ( n = GetFileMap()->GetMap().begin(); n != GetFileMap()->GetMap().end(); ++n )
00757 items = g_list_append( items, ( void* ) n->first.c_str() );
00758 g_nav_ctl.escaped = TRUE;
00759 gtk_combo_set_popdown_strings( GTK_COMBO( lookup_widget( common->getWidget(), "combo_trim_clip" ) ), items);
00760 g_nav_ctl.escaped = FALSE;
00761 }
00762 }
|
|
|
Load the selected scene.
Reimplemented from Page. Definition at line 1295 of file page_trim.cc. References navigate_control::active, common, currentScene, end_orig, KinoCommon::g_currentFrame, g_nav_ctl, KinoCommon::getPageEditor(), KinoCommon::getPlayList(), in, loadScene(), mode, movedToFrame(), PAGE_TRIM_MODE_INSERT, PAGE_TRIM_MODE_UPDATE, saveScene(), KinoCommon::setCurrentScene(), start_orig, startNavigator(), and stopNavigator(). Referenced by insertScene(), and processCommand(). 01296 {
01297 bool restartNavigator = ( g_nav_ctl.active == TRUE );
01298
01299 stopNavigator();
01300
01301 if ( mode == PAGE_TRIM_MODE_UPDATE )
01302 // commit the changes and load a new scene
01303 saveScene();
01304
01305 // figure out what scene I am in
01306 vector <int> scene = common->getPageEditor() ->GetScene();
01307 if ( i >= ( int ) scene.size() )
01308 i = scene.size() - 1;
01309 currentScene = ( i <= 0 ) ? 0 : scene[ i - 1 ];
01310 common->g_currentFrame = currentScene;
01311
01312 if ( mode == PAGE_TRIM_MODE_UPDATE )
01313 {
01314 loadScene( currentScene );
01315 movedToFrame( in );
01316 }
01317 else if ( mode == PAGE_TRIM_MODE_INSERT )
01318 {
01319 // set the insertion points
01320 start_orig = common->getPlayList()->FindStartOfScene( currentScene );
01321 end_orig = common->getPlayList()->FindEndOfScene( currentScene );
01322
01323 common->setCurrentScene( start_orig );
01324 }
01325
01326 if ( restartNavigator )
01327 startNavigator();
01328 }
|
|
|
Definition at line 114 of file page_trim.h. References in. 00115 {
00116 this->in = value;
00117 }
|
|
|
Definition at line 879 of file page_trim.cc. References common, KinoCommon::getPlayList(), KinoCommon::getWidget(), in, loadScene(), lookup_widget(), mode, out, PAGE_TRIM_MODE_INSERT, PAGE_TRIM_MODE_UPDATE, trim_adj, TRIM_ADJ_IN, TRIM_ADJ_OUT, and update_start. Referenced by processCommand(), and start(). 00880 {
00881 if ( newMode != mode )
00882 {
00883 if ( newMode == PAGE_TRIM_MODE_UPDATE && common->getPlayList()->GetNumFrames() > 0 )
00884 {
00885 mode = newMode;
00886 gtk_widget_show( lookup_widget( common->getWidget(), "hbox_trim_update" ) );
00887 gtk_widget_hide( lookup_widget( common->getWidget(), "hbox_trim_insert" ) );
00888
00889 // Load the currently selected scene
00890 gfloat saved_in = in;
00891 gfloat saved_out = out;
00892 loadScene( update_start );
00893 gtk_adjustment_set_value( trim_adj[ TRIM_ADJ_IN ], saved_in );
00894 gtk_adjustment_set_value( trim_adj[ TRIM_ADJ_OUT ], saved_out );
00895 }
00896 else if ( newMode == PAGE_TRIM_MODE_INSERT )
00897 {
00898 mode = newMode;
00899 gtk_widget_hide( lookup_widget( common->getWidget(), "hbox_trim_update" ) );
00900 gtk_widget_show( lookup_widget( common->getWidget(), "hbox_trim_insert" ) );
00901 }
00902
00903 // initialize insert mode controls for edit mode
00904 gtk_option_menu_set_history( GTK_OPTION_MENU( lookup_widget( common->getWidget(), "optionmenu_trim" ) ), static_cast< int >( mode ) );
00905 }
00906 }
|
|
|
Definition at line 118 of file page_trim.h. References out. 00119 {
00120 this->out = value;
00121 }
|
|
|
Definition at line 122 of file page_trim.h. References pos. 00123 {
00124 this->pos = value;
00125 }
|
|
||||||||||||
|
Definition at line 1028 of file page_trim.cc. References common, frameArea, getFrameDisplayer(), KinoCommon::loadSplash(), max, KinoCommon::showFrameInfo(), skipPosUpdate, trim_adj, and TRIM_ADJ_POS. 01029 {
01030 if ( max == 0 )
01031 {
01032 common->loadSplash( frameArea );
01033 }
01034 else
01035 {
01036 getFrameDisplayer() ->Put( frame, GTK_WIDGET( frameArea ), TRUE );
01037 common->showFrameInfo( position );
01038 skipPosUpdate = TRUE;
01039 gtk_adjustment_set_value( trim_adj[ TRIM_ADJ_POS ], ( gfloat ) position );
01040 }
01041 }
|
|
||||||||||||
|
Show the frame requested.
Definition at line 1001 of file page_trim.cc. References common, frameArea, KinoCommon::g_currentFrame, PlayList::GetFrame(), getFrameDisplayer(), GetFramePool(), in_orig, lastPos, KinoCommon::loadSplash(), max, playlist, pos, IEEE1394Writer::SendFrame(), KinoCommon::showFrameInfo(), start_orig, trim_adj, TRIM_ADJ_POS, and writer1394. Referenced by movedToFrame(), and windowMoved(). 01002 {
01003 if ( max == 0 )
01004 {
01005 common->loadSplash( frameArea );
01006 common->showFrameInfo( -1 );
01007 return ;
01008 }
01009 else if ( i > -1 )
01010 {
01011 Frame & frame = *( GetFramePool( ) ->GetFrame( ) );
01012 if ( i > max )
01013 i = max;
01014 playlist.GetFrame( i, frame );
01015 common->showFrameInfo( i );
01016 if ( writer1394 != NULL )
01017 writer1394->SendFrame( frame, false );
01018 if ( getFrameDisplayer() )
01019 getFrameDisplayer() ->Put( frame, GTK_WIDGET( frameArea ), no_audio );
01020 lastPos = i;
01021 gtk_adjustment_set_value( trim_adj[ TRIM_ADJ_POS ], ( gfloat ) i );
01022 GetFramePool( ) ->DoneWithFrame( &frame );
01023 common->g_currentFrame = start_orig + (pos - in_orig);
01024 }
01025 }
|
|
|
Reimplemented from Page. Definition at line 1936 of file page_trim.cc. References common, PlayList::GetFrame(), GetFramePool(), PlayList::GetMediaObject(), KinoCommon::getTime(), KinoCommon::getTimeFormat(), in, out, playlist, positionLabelCurrent, positionLabelTotal, and KinoCommon::showFrameMoreInfo(). 01937 {
01938 Frame & frame = *( GetFramePool( ) ->GetFrame( ) );
01939 FileHandler *media;
01940
01941 playlist.GetFrame( i, frame );
01942 playlist.GetMediaObject( i, &media );
01943 common->showFrameMoreInfo( frame, media );
01944 GetFramePool( ) ->DoneWithFrame( &frame );
01945
01946 if ( i < 0 )
01947 {
01948 gtk_label_set_text( positionLabelCurrent, "" );
01949 gtk_label_set_text( positionLabelTotal, "" );
01950 }
01951 else
01952 {
01953 common->getTime().setFramerate( frame.GetFrameRate() );
01954 string tc = "<span size=\"x-large\">" + common->getTime().parseFramesToString( i, common->getTimeFormat() ) + "</span>";
01955 gtk_label_set_markup( positionLabelCurrent, tc.c_str() );
01956 gtk_widget_set_redraw_on_allocate( GTK_WIDGET( positionLabelCurrent ), FALSE );
01957 tc = _("Duration: ") + common->getTime().parseFramesToString( out - in + 1, common->getTimeFormat() );
01958 gtk_label_set_markup( positionLabelTotal, tc.c_str() );
01959 }
01960 }
|
|
|
Start action. Called when the page becomes current. Reimplemented from Page. Definition at line 538 of file page_trim.cc. References avc, common, displayer, end_orig, navigate_control::escaped, frameArea, frameContent, KinoCommon::g_currentFrame, g_nav_ctl, GetFileMap(), GetFramePool(), Preferences::getInstance(), AVC::getNodeId(), KinoCommon::getPlayList(), AVC::getPort(), KinoCommon::getWidget(), in, in_orig, AVC::isPhyIDValid(), lastPos, loadScene(), lookup_widget(), max, movedToFrame(), out, out_orig, KinoCommon::packIt(), PAGE_TRIM_MODE_INSERT, PAGE_TRIM_MODE_UPDATE, PLAYBACK_FRAMES, pos, setMode(), start_orig, update_start, and writer1394. 00539 {
00540 cerr << ">> Starting Trimmer" << endl;
00541
00542 start_orig = update_start = end_orig = in = in_orig = out = out_orig = max = 0;
00543
00544 for ( int i = 0; i < PLAYBACK_FRAMES; i ++ )
00545 frameContent[ i ] = GetFramePool( ) ->GetFrame( );
00546
00547 this->displayer = new FrameDisplayer();
00548 if ( Preferences::getInstance().dv1394Preview )
00549 {
00550 #ifdef HAVE_IEC61883
00551 AVC avc;
00552 Preferences::getInstance( ).phyID = avc.getNodeId( Preferences::getInstance( ).avcGUID );
00553 Preferences::getInstance( ).phyID = avc.isPhyIDValid( Preferences::getInstance( ).phyID );
00554 if ( !writer1394 )
00555 writer1394 = new iec61883Writer(
00556 ( avc.getPort() < 0 ) ? 0 : avc.getPort(),
00557 Preferences::getInstance().channel,
00558 2 );
00559 #endif
00560 #ifdef HAVE_DV1394
00561 if ( Preferences::getInstance().dvExportDevice > 0 && !writer1394 )
00562 writer1394 = new dv1394Writer(
00563 Preferences::getInstance().dvExportDevice,
00564 Preferences::getInstance().channel,
00565 2,
00566 Preferences::getInstance().cip_n,
00567 Preferences::getInstance().cip_d,
00568 Preferences::getInstance().syt_offset );
00569 #endif
00570 }
00571
00572 if ( ! Preferences::getInstance().trimModeInsert && common->g_currentFrame > -1 )
00573 setMode( PAGE_TRIM_MODE_UPDATE );
00574 else
00575 setMode( PAGE_TRIM_MODE_INSERT );
00576
00577 if ( common->getPlayList() ->GetNumFrames() > 0 )
00578 {
00579 // Load the current scene
00580 loadScene( common->g_currentFrame );
00581 lastPos = pos = in + common->g_currentFrame - start_orig;
00582 movedToFrame( pos );
00583
00584 // Load the clip combo
00585 GList *items = NULL;
00586 map<string, FileHandler*>::iterator n;
00587 for ( n = GetFileMap()->GetMap().begin(); n != GetFileMap()->GetMap().end(); ++n )
00588 items = g_list_append( items, ( void* ) n->first.c_str() );
00589 g_nav_ctl.escaped = TRUE;
00590 gtk_combo_set_popdown_strings( GTK_COMBO( lookup_widget( common->getWidget(), "combo_trim_clip" ) ), items);
00591 gtk_entry_set_text( GTK_ENTRY( lookup_widget( common->getWidget(), "entry_trim_clip" ) ), "" );
00592 g_nav_ctl.escaped = FALSE;
00593 }
00594
00595 gtk_widget_grab_focus( GTK_WIDGET( frameArea ) );
00596 common->packIt( "packer_trim", "packer_trim_outer" );
00597
00598 gtk_notebook_set_page( GTK_NOTEBOOK( lookup_widget( common->getWidget(), "notebook_keyhelp" ) ), 2 );
00599 gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( lookup_widget( common->getWidget(), "menuitem_trim" ) ), TRUE );
00600 }
|
|
|
Starts the navigator thread. See comments on g_nav_ctl. Definition at line 911 of file page_trim.cc. References navigate_control::active, audioThread, audiothreadTrim, g_nav_ctl, readThread(), readthreadTrim, resetThreads(), stopNavigator(), videoThread, and videothreadTrim. Referenced by movedToFrame(), selectScene(), videoFastForward(), videoForward(), videoPlay(), videoRewind(), and videoShuttle(). 00912 {
00913 stopNavigator( );
00914 g_nav_ctl.active = TRUE;
00915 resetThreads( );
00916 pthread_create( &readthreadTrim, NULL, readThread, &g_nav_ctl );
00917 pthread_create( &audiothreadTrim, NULL, audioThread, &g_nav_ctl );
00918 pthread_create( &videothreadTrim, NULL, videoThread, ( gpointer ) & g_nav_ctl );
00919 }
|
|
|
Stops the navigator thread. See comments on g_nav_ctl. Definition at line 924 of file page_trim.cc. References navigate_control::active, audiothreadTrim, g_nav_ctl, getFrameDisplayer(), readthreadTrim, and videothreadTrim. Referenced by clean(), newFile(), selectScene(), startNavigator(), videoBack(), videoEndOfMovie(), videoFastForward(), videoForward(), videoPause(), videoPlay(), videoRewind(), videoShuttle(), and videoStop(). 00925 {
00926 if ( g_nav_ctl.active )
00927 {
00928 g_nav_ctl.active = FALSE;
00929 gdk_threads_leave();
00930 pthread_join( readthreadTrim, NULL );
00931 pthread_join( audiothreadTrim, NULL );
00932 pthread_join( videothreadTrim, NULL );
00933 gdk_threads_enter();
00934 getFrameDisplayer()->CloseSound();
00935 }
00936 }
|
|
|
Reimplemented from Page. Definition at line 1962 of file page_trim.cc. References common, KinoCommon::getWidget(), lookup_widget(), on_spinbutton_trim_in_value_changed(), and on_spinbutton_trim_out_value_changed(). Referenced by loadFile(), and loadScene(). 01963 {
01964 on_spinbutton_trim_in_value_changed( GTK_SPIN_BUTTON( lookup_widget( common->getWidget(), "spinbutton_trim_in" ) ), NULL );
01965 on_spinbutton_trim_out_value_changed( GTK_SPIN_BUTTON( lookup_widget( common->getWidget(), "spinbutton_trim_out" ) ), NULL );
01966 }
|
|
|
|
Move to the end of the play list.
Reimplemented from Page. Definition at line 1280 of file page_trim.cc. References common, KinoCommon::getComponentState(), max, movedToFrame(), stopNavigator(), KinoCommon::toggleComponents(), VIDEO_END_OF_MOVIE, and VIDEO_STOP. 01281 {
01282 common->toggleComponents( common->getComponentState(), false );
01283 common->toggleComponents( VIDEO_END_OF_MOVIE, true );
01284 stopNavigator();
01285 movedToFrame( max );
01286 common->toggleComponents( VIDEO_END_OF_MOVIE, false );
01287 common->toggleComponents( VIDEO_STOP, true );
01288 }
|
|
|
Move to the end of the current scene.
Reimplemented from Page. Definition at line 1271 of file page_trim.cc. References common, movedToFrame(), out, KinoCommon::toggleComponents(), and VIDEO_NEXT_SCENE. 01272 {
01273 movedToFrame( out );
01274 common->toggleComponents( VIDEO_NEXT_SCENE, false );
01275 }
|
|
|
Fast forward.
Reimplemented from Page. Definition at line 1194 of file page_trim.cc. References common, g_nav_ctl, KinoCommon::getComponentState(), navigate_control::rate, startNavigator(), navigate_control::step, stopNavigator(), KinoCommon::toggleComponents(), VIDEO_FAST_FORWARD, and VIDEO_STOP. 01195 {
01196 common->toggleComponents( common->getComponentState(), false );
01197
01198 if ( g_nav_ctl.step != 10 )
01199 {
01200 common->toggleComponents( VIDEO_FAST_FORWARD, true );
01201 g_nav_ctl.step = 10;
01202 g_nav_ctl.rate = 0;
01203 startNavigator();
01204 }
01205 else
01206 {
01207 stopNavigator();
01208 g_nav_ctl.step = 1;
01209 g_nav_ctl.rate = 1;
01210 common->toggleComponents( VIDEO_FAST_FORWARD, false );
01211 common->toggleComponents( VIDEO_STOP, true );
01212 }
01213 }
|
|
|
Move one frame forward. If the navigator is active, then this action puts the video into normal play. Reimplemented from Page. Definition at line 1172 of file page_trim.cc. References navigate_control::active, common, g_nav_ctl, KinoCommon::getComponentState(), KinoCommon::moveByFrames(), navigate_control::rate, startNavigator(), navigate_control::step, stopNavigator(), KinoCommon::toggleComponents(), VIDEO_FORWARD, and VIDEO_STOP. 01173 {
01174 common->toggleComponents( common->getComponentState(), false );
01175 if ( g_nav_ctl.active && g_nav_ctl.step != 1 )
01176 {
01177 g_nav_ctl.step = 1;
01178 g_nav_ctl.rate = 1;
01179 common->toggleComponents( VIDEO_FORWARD, true );
01180 startNavigator();
01181 }
01182 else
01183 {
01184 stopNavigator();
01185 common->moveByFrames( step );
01186 common->toggleComponents( VIDEO_FORWARD, false );
01187 common->toggleComponents( VIDEO_STOP, true );
01188 }
01189 }
|
|
|
Move to the end of the current scene.
Reimplemented from Page. Definition at line 1262 of file page_trim.cc. References common, movedToFrame(), out, KinoCommon::toggleComponents(), and VIDEO_NEXT_SCENE. 01263 {
01264 movedToFrame( out );
01265 common->toggleComponents( VIDEO_NEXT_SCENE, false );
01266 }
|
|
|
Pause.
Reimplemented from Page. Definition at line 1151 of file page_trim.cc. References common, KinoCommon::getComponentState(), stopNavigator(), KinoCommon::toggleComponents(), and VIDEO_STOP. 01152 {
01153 common->toggleComponents( common->getComponentState(), false );
01154 common->toggleComponents( VIDEO_STOP, true );
01155 stopNavigator();
01156 }
|
|
|
Play.
Reimplemented from Page. Definition at line 1131 of file page_trim.cc. References navigate_control::active, common, g_nav_ctl, KinoCommon::getComponentState(), startNavigator(), navigate_control::step, stopNavigator(), KinoCommon::toggleComponents(), VIDEO_PLAY, and VIDEO_STOP. 01132 {
01133 common->toggleComponents( common->getComponentState(), false );
01134 if ( g_nav_ctl.active == FALSE || g_nav_ctl.step != 1 )
01135 {
01136 common->toggleComponents( VIDEO_PLAY, true );
01137 g_nav_ctl.step = 1;
01138 startNavigator();
01139 }
01140 else
01141 {
01142 stopNavigator();
01143 common->toggleComponents( VIDEO_PLAY, false );
01144 common->toggleComponents( VIDEO_STOP, true );
01145 }
01146 }
|
|
|
Move to the in point of the scene.
Reimplemented from Page. Definition at line 1056 of file page_trim.cc. References common, in, movedToFrame(), KinoCommon::toggleComponents(), and VIDEO_START_OF_SCENE. 01057 {
01058 movedToFrame( in );
01059 common->toggleComponents( VIDEO_START_OF_SCENE, false );
01060 }
|
|
|
Rewind.
Reimplemented from Page. Definition at line 1074 of file page_trim.cc. References common, g_nav_ctl, KinoCommon::getComponentState(), navigate_control::rate, startNavigator(), navigate_control::step, stopNavigator(), KinoCommon::toggleComponents(), VIDEO_REWIND, and VIDEO_STOP. 01075 {
01076 common->toggleComponents( common->getComponentState(), false );
01077
01078 // Toggle Rewind state
01079 if ( g_nav_ctl.step != -10 )
01080 {
01081 common->toggleComponents( VIDEO_REWIND, true );
01082 g_nav_ctl.step = -10;
01083 g_nav_ctl.rate = 0;
01084 startNavigator();
01085 }
01086 else
01087 {
01088 stopNavigator();
01089 g_nav_ctl.step = 1;
01090 g_nav_ctl.rate = 1;
01091 common->toggleComponents( VIDEO_REWIND, false );
01092 common->toggleComponents( VIDEO_STOP, true );
01093 }
01094 }
|
|
|
Shuttle. Bi-directionaly variable-speed playback.
Reimplemented from Page. Definition at line 1222 of file page_trim.cc. References _getOneSecond(), common, g_nav_ctl, KinoCommon::keyboardFeedback(), navigate_control::rate, startNavigator(), navigate_control::step, stopNavigator(), navigate_control::subframe, KinoCommon::toggleComponents(), and VIDEO_STOP. 01223 {
01224 int frames_sec = _getOneSecond();
01225 int speedTable[] = {
01226 0,
01227 8, 10, 15, 20, 33, 50, 75,
01228 100,
01229 200, 300, 400, 500, 800, 1200,
01230 ( frames_sec * 100 ) };
01231 char s[ 64 ];
01232
01233 if ( angle < -15 )
01234 angle = -15;
01235 if ( angle > 15 )
01236 angle = 15;
01237
01238 int speed = speedTable[ ( angle < 0 ) ? -angle : angle ] * ( ( angle < 0 ) ? -1 : 1 );
01239 if ( speed == 0 || g_nav_ctl.step != speed / 100 || g_nav_ctl.rate != 100 / speed )
01240 {
01241 stopNavigator( );
01242 if ( speed == 0 )
01243 {
01244 common->keyboardFeedback( "", "" );
01245 common->toggleComponents( VIDEO_STOP, true );
01246 }
01247 else
01248 {
01249 g_nav_ctl.step = speed / 100;
01250 g_nav_ctl.rate = 100 / speed;
01251 g_nav_ctl.subframe = 0;
01252 startNavigator();
01253 snprintf( s, 63, _( "Shuttle %+.1f fps" ), ( float ) speed / 100.0 * frames_sec );
01254 common->keyboardFeedback( "", s );
01255 }
01256 }
01257 }
|
|
|
Move to the start of the scene.
Reimplemented from Page. Definition at line 1047 of file page_trim.cc. References common, movedToFrame(), KinoCommon::toggleComponents(), and VIDEO_START_OF_MOVIE. 01048 {
01049 movedToFrame( 0 );
01050 common->toggleComponents( VIDEO_START_OF_MOVIE, false );
01051 }
|
|
|
Move to the in point of the scene.
Reimplemented from Page. Definition at line 1065 of file page_trim.cc. References common, in, movedToFrame(), KinoCommon::toggleComponents(), and VIDEO_START_OF_SCENE. 01066 {
01067 movedToFrame( in );
01068 common->toggleComponents( VIDEO_START_OF_SCENE, false );
01069 }
|
|
|
Stop.
Reimplemented from Page. Definition at line 1161 of file page_trim.cc. References common, KinoCommon::getComponentState(), stopNavigator(), KinoCommon::toggleComponents(), and VIDEO_STOP. 01162 {
01163 common->toggleComponents( common->getComponentState(), false );
01164 common->toggleComponents( VIDEO_STOP, true );
01165 stopNavigator();
01166 }
|
|
|
Reimplemented from Page. Definition at line 1924 of file page_trim.cc. References navigate_control::active, KinoCommon::clearPreview(), common, frameArea, g_nav_ctl, max, pos, and showFrame(). 01925 {
01926 if ( g_nav_ctl.active == FALSE )
01927 {
01928 if ( max == 0 )
01929 common->clearPreview( frameArea );
01930 else
01931 showFrame( pos, TRUE );
01932 }
01933 }
|
|
|
Definition at line 82 of file page_trim.h. Referenced by loadFile(), and saveScene(). |
|
|
Definition at line 55 of file page_trim.h. Referenced by getSceneIndex(), insertScene(), loadFile(), loadScene(), movedToFrame(), processCommand(), processKeyboard(), saveScene(), selectScene(), setMode(), showFrame(), showFrameInfo(), start(), timeFormatChanged(), videoBack(), videoEndOfMovie(), videoEndOfScene(), videoFastForward(), videoForward(), videoNextScene(), videoPause(), videoPlay(), videoPreviousScene(), videoRewind(), videoShuttle(), videoStartOfMovie(), videoStartOfScene(), videoStop(), and windowMoved(). |
|
|
Definition at line 79 of file page_trim.h. Referenced by getSceneIndex(), loadFile(), loadScene(), processCommand(), and selectScene(). |
|
|
Definition at line 58 of file page_trim.h. Referenced by clean(), getFrameDisplayer(), and start(). |
|
|
Definition at line 72 of file page_trim.h. Referenced by insertScene(), loadFile(), loadScene(), processCommand(), saveScene(), selectScene(), and start(). |
|
|
Definition at line 59 of file page_trim.h. Referenced by PageTrim(), showFrame(), start(), and windowMoved(). |
|
|
Definition at line 85 of file page_trim.h. Referenced by PageTrim(), and ~PageTrim(). |
|
|
Definition at line 68 of file page_trim.h. |
|
|
Definition at line 69 of file page_trim.h. |
|
|
Definition at line 75 of file page_trim.h. Referenced by getInPoint(), insertScene(), loadFile(), loadScene(), movedToFrame(), processCommand(), resetInPoint(), saveScene(), selectScene(), setInPoint(), setMode(), showFrameInfo(), start(), videoPreviousScene(), and videoStartOfScene(). |
|
|
Definition at line 73 of file page_trim.h. Referenced by loadFile(), loadScene(), resetInPoint(), saveScene(), showFrame(), and start(). |
|
|
Definition at line 80 of file page_trim.h. Referenced by loadFile(), loadScene(), movedToFrame(), showFrame(), and start(). |
|
|
Definition at line 77 of file page_trim.h. Referenced by getTotalFrames(), insertScene(), loadFile(), loadScene(), movedToFrame(), saveScene(), showFrame(), start(), videoEndOfMovie(), and windowMoved(). |
|
|
Definition at line 81 of file page_trim.h. Referenced by movedToFrame(), processCommand(), selectScene(), and setMode(). |
|
|
Definition at line 76 of file page_trim.h. Referenced by getOutPoint(), insertScene(), loadFile(), loadScene(), movedToFrame(), processCommand(), resetOutPoint(), saveScene(), setMode(), setOutPoint(), showFrameInfo(), start(), videoEndOfScene(), and videoNextScene(). |
|
|
Definition at line 74 of file page_trim.h. Referenced by loadFile(), loadScene(), resetOutPoint(), saveScene(), and start(). |
|
|
Definition at line 67 of file page_trim.h. Referenced by getPlayList(), insertScene(), loadFile(), loadScene(), saveScene(), showFrame(), and showFrameInfo(). |
|
|
Definition at line 78 of file page_trim.h. Referenced by getPosition(), loadFile(), loadScene(), movedToFrame(), processCommand(), setPosition(), showFrame(), start(), and windowMoved(). |
|
|
Definition at line 60 of file page_trim.h. Referenced by PageTrim(), and showFrameInfo(). |
|
|
Definition at line 61 of file page_trim.h. Referenced by PageTrim(), and showFrameInfo(). |
|
|
Definition at line 63 of file page_trim.h. |
|
|
Definition at line 64 of file page_trim.h. |
|
|
Definition at line 70 of file page_trim.h. Referenced by insertScene(), loadFile(), loadScene(), processCommand(), saveScene(), selectScene(), showFrame(), and start(). |
|
|
Definition at line 62 of file page_trim.h. Referenced by PageTrim(). |
|
|
Definition at line 71 of file page_trim.h. Referenced by loadScene(), setMode(), and start(). |
1.4.2