projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mask focus/pivot pt tweaks, set mask_track_id on update_project, ffmpeg cuda open...
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
mwindow.C
diff --git
a/cinelerra-5.1/cinelerra/mwindow.C
b/cinelerra-5.1/cinelerra/mwindow.C
index 14d06c93d7ce38e60a5ec28eb9f4cb9384071367..323243afca9985b714a92232f1a9b862068e334e 100644
(file)
--- a/
cinelerra-5.1/cinelerra/mwindow.C
+++ b/
cinelerra-5.1/cinelerra/mwindow.C
@@
-939,7
+939,7
@@
void MWindow::init_preferences()
{
preferences = new Preferences;
preferences->load_defaults(defaults);
{
preferences = new Preferences;
preferences->load_defaults(defaults);
- File::setenv_path("LV2_PATH",preferences->lv2_path,
0
);
+ File::setenv_path("LV2_PATH",preferences->lv2_path,
1
);
session = new MainSession(this);
session->load_defaults(defaults);
// set x11_host, screens, window_config
session = new MainSession(this);
session->load_defaults(defaults);
// set x11_host, screens, window_config
@@
-1182,8
+1182,12
@@
ZWindow *MWindow::get_mixer(Mixer *&mixer)
zwindows_lock->lock("MWindow::get_mixer");
if( !mixer ) mixer = edl->mixers.new_mixer();
ZWindow *zwindow = 0;
zwindows_lock->lock("MWindow::get_mixer");
if( !mixer ) mixer = edl->mixers.new_mixer();
ZWindow *zwindow = 0;
- for( int i=0; !zwindow && i<zwindows.size(); ++i )
- if( zwindows[i]->idx < 0 ) zwindow = zwindows[i];
+ for( int i=0; !zwindow && i<zwindows.size(); ++i ) {
+ ZWindow *zwdw = zwindows[i];
+ if( zwdw->running() ) continue;
+ if( zwdw->idx >= 0 ) continue;
+ zwindow = zwindows[i];
+ }
if( !zwindow )
zwindows.append(zwindow = new ZWindow(this));
zwindow->idx = mixer->idx;
if( !zwindow )
zwindows.append(zwindow = new ZWindow(this));
zwindow->idx = mixer->idx;
@@
-1313,6
+1317,7
@@
void MWindow::close_mixers(int destroy)
for( int i=zwindows.size(); --i>=0; ) {
ZWindow *zwindow = zwindows[i];
if( zwindow->idx < 0 ) continue;
for( int i=zwindows.size(); --i>=0; ) {
ZWindow *zwindow = zwindows[i];
if( zwindow->idx < 0 ) continue;
+ zwindow->idx = -1;
zwindow->destroy = destroy;
ZWindowGUI *zgui = zwindow->zgui;
zgui->lock_window("MWindow::select_zwindow 0");
zwindow->destroy = destroy;
ZWindowGUI *zgui = zwindow->zgui;
zgui->lock_window("MWindow::select_zwindow 0");
@@
-1332,7
+1337,7
@@
ZWindow *MWindow::create_mixer(Indexable *indexable, double position)
ArrayList<Indexable*> new_assets;
new_assets.append(indexable);
Track *track = edl->tracks->last;
ArrayList<Indexable*> new_assets;
new_assets.append(indexable);
Track *track = edl->tracks->last;
- load_assets(&new_assets, position, LOADMODE_NEW_TRACKS, 0, 0, 0, 0, 0,
0
);
+ load_assets(&new_assets, position, LOADMODE_NEW_TRACKS, 0, 0, 0, 0, 0,
1
);
track = !track ? edl->tracks->first : track->next;
Mixer *mixer = 0;
ZWindow *zwindow = get_mixer(mixer);
track = !track ? edl->tracks->first : track->next;
Mixer *mixer = 0;
ZWindow *zwindow = get_mixer(mixer);
@@
-2194,6
+2199,8
@@
if(debug) printf("MWindow::load_filenames %d\n", __LINE__);
edl->local_session->loop_playback = 0;
edl->local_session->set_selectionstart(0);
edl->local_session->set_selectionend(0);
edl->local_session->loop_playback = 0;
edl->local_session->set_selectionstart(0);
edl->local_session->set_selectionend(0);
+ edl->local_session->unset_inpoint();
+ edl->local_session-> unset_outpoint();
set_brender_active(0, 0);
fit_selection();
goto_start();
set_brender_active(0, 0);
fit_selection();
goto_start();
@@
-2711,7
+2718,9
@@
void MWindow::create_objects(int want_gui,
gui->show_window();
gui->raise_window();
gui->unlock_window();
gui->show_window();
gui->raise_window();
gui->unlock_window();
-
+ cwindow->gui->lock_window("MWindow::create_objects 1");
+ cwindow->gui->tool_panel->raise_tool();
+ cwindow->gui->unlock_window();
if(debug) PRINT_TRACE
if(preferences->use_tipwindow)
if(debug) PRINT_TRACE
if(preferences->use_tipwindow)
@@
-2730,6
+2739,12
@@
void MWindow::create_objects(int want_gui,
BC_WindowBase::get_resources()->vframe_shm = 1;
}
BC_WindowBase::get_resources()->vframe_shm = 1;
}
+int MWindow::uses_opengl()
+{
+ if( !playback_3d || !playback_3d->running() ) return 0;
+ PlaybackConfig *playback_config = edl->session->playback_config;
+ return playback_config->vconfig->driver == PLAYBACK_X11_GL ? 1 : 0;
+}
void MWindow::show_splash()
{
void MWindow::show_splash()
{
@@
-3589,6
+3604,7
@@
if(debug) printf("MWindow::asset_to_edl %d\n", __LINE__);
//printf("MWindow::asset_to_edl 4 %s\n", string);
if(debug) printf("MWindow::asset_to_edl %d\n", __LINE__);
//printf("MWindow::asset_to_edl 4 %s\n", string);
if(debug) printf("MWindow::asset_to_edl %d\n", __LINE__);
+ new_edl->local_session->asset2edl = 1;
return 0;
}
return 0;
}
@@
-3616,9
+3632,7
@@
void MWindow::update_project(int load_mode)
gui->unlock_window();
init_brender();
gui->unlock_window();
init_brender();
- cwindow->gui->lock_window("MWindow::update_project 1");
cwindow->update(0, 0, 1, 1, 1);
cwindow->update(0, 0, 1, 1, 1);
- cwindow->gui->unlock_window();
if(debug) PRINT_TRACE
if(debug) PRINT_TRACE
@@
-3661,6
+3675,9
@@
void MWindow::update_project(int load_mode)
if(debug) PRINT_TRACE
cwindow->gui->lock_window("MWindow::update_project 2");
cwindow->gui->timebar->update(0);
if(debug) PRINT_TRACE
cwindow->gui->lock_window("MWindow::update_project 2");
cwindow->gui->timebar->update(0);
+ Track *track = cwindow->calculate_affected_track();
+ cwindow->mask_track_id = track ? track->get_id() : -1;
+ cwindow->gui->tool_panel->raise_tool();
cwindow->gui->unlock_window();
if(debug) PRINT_TRACE
cwindow->gui->unlock_window();
if(debug) PRINT_TRACE