projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add mask smooth boundary
[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 66b37fa922be50e2c4c168ad7422fe9f7d262c19..0661591a4c82374f6e985e6b5f004058109220af 100644
(file)
--- a/
cinelerra-5.1/cinelerra/mwindow.C
+++ b/
cinelerra-5.1/cinelerra/mwindow.C
@@
-361,7
+361,6
@@
MWindow::~MWindow()
colormodels.remove_all_objects();
interlace_project_modes.remove_all_objects();
interlace_asset_modes.remove_all_objects();
colormodels.remove_all_objects();
interlace_project_modes.remove_all_objects();
interlace_asset_modes.remove_all_objects();
- interlace_asset_fixmethods.remove_all_objects();
sighandler->terminate();
delete sighandler;
delete run_lock;
sighandler->terminate();
delete sighandler;
delete run_lock;
@@
-1182,8
+1181,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
+1316,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
+1336,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);
@@
-1526,9
+1530,6
@@
void MWindow::init_menus()
#define ILACEASSETMODELISTADD(x) ilacemode_to_text(string, x); \
interlace_asset_modes.append(new InterlacemodeItem(string, x));
#define ILACEASSETMODELISTADD(x) ilacemode_to_text(string, x); \
interlace_asset_modes.append(new InterlacemodeItem(string, x));
-#define ILACEFIXMETHODLISTADD(x) ilacefixmethod_to_text(string, x); \
- interlace_asset_fixmethods.append(new InterlacefixmethodItem(string, x));
-
// Interlacing Modes
ILACEASSETMODELISTADD(ILACE_MODE_UNDETECTED); // Not included in the list for the project options.
// Interlacing Modes
ILACEASSETMODELISTADD(ILACE_MODE_UNDETECTED); // Not included in the list for the project options.
@@
-1541,11
+1542,6
@@
void MWindow::init_menus()
ILACEASSETMODELISTADD(ILACE_MODE_NOTINTERLACED);
ILACEPROJECTMODELISTADD(ILACE_MODE_NOTINTERLACED);
ILACEASSETMODELISTADD(ILACE_MODE_NOTINTERLACED);
ILACEPROJECTMODELISTADD(ILACE_MODE_NOTINTERLACED);
- // Interlacing Fixing Methods
- ILACEFIXMETHODLISTADD(ILACE_FIXMETHOD_NONE);
- ILACEFIXMETHODLISTADD(ILACE_FIXMETHOD_UPONE);
- ILACEFIXMETHODLISTADD(ILACE_FIXMETHOD_DOWNONE);
-
mixers_align = new MixersAlign(this);
}
mixers_align = new MixersAlign(this);
}
@@
-2194,6
+2190,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
+2709,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)
@@
-3595,6
+3595,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;
}
@@
-3622,9
+3623,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
@@
-3667,6
+3666,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