port 7.2 mods: align_edits foreground plugin refresh_frame tweak, rework soundlevel...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / playtransport.C
index 94b70dcdc139f9dc79b8aa1000481e43bc5213e6..d9d9a48af851b5ed30df9bb1cdd323dac2e60a7a 100644 (file)
@@ -132,7 +132,7 @@ int PlayTransport::get_w()
 
 int PlayTransport::is_stopped()
 {
-       return engine->command->command == STOP ? 1 : 0;
+       return engine->is_playing_back ? 0 : 1;
 }
 
 int PlayTransport::flip_vertical(int vertical, int &x, int &y)
@@ -210,7 +210,7 @@ int PlayTransport::do_keypress(int key)
        int loop_play = shft_key & ctrl_key;
        float speed = 0;
        int command = -1;
-       int curr_command = engine->command->command;
+       int curr_command = engine->is_playing_back ? engine->command->command : STOP;
        subwindow->unlock_window();
 
        result = 0;
@@ -315,7 +315,7 @@ void PlayTransport::handle_transport(int command, int wait_tracking,
        if( !edl ) return;
        using_inout = use_inout;
 
-       if( !is_vwindow() )
+       if( use_mixers() )
                mwindow->handle_mixers(edl, command, wait_tracking,
                                use_inout, toggle_audio, 0, speed);
        engine->next_command->toggle_audio = toggle_audio;
@@ -502,11 +502,7 @@ void PlayTransport::change_position(double position)
        if( !get_edl() ) return;
        int command = engine->command->command;
 // stop transport
-       if( command != STOP && command != COMMAND_NONE &&
-           command != SINGLE_FRAME_FWD && command != SINGLE_FRAME_REWIND ) {
-               engine->transport_stop();
-               engine->interrupt_playback(0);
-       }
+       engine->stop_playback(0);
        mwindow->gui->lock_window("PlayTransport::change_position");
        mwindow->goto_position(position);
        mwindow->gui->unlock_window();