projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update version, zoom tweeks
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
mwindow.C
diff --git
a/cinelerra-5.1/cinelerra/mwindow.C
b/cinelerra-5.1/cinelerra/mwindow.C
index 577f229ef5f1216236cda2bcb40e6c79e95f685f..75dc29acaa32d70f80126e10c741c780e9620622 100644
(file)
--- a/
cinelerra-5.1/cinelerra/mwindow.C
+++ b/
cinelerra-5.1/cinelerra/mwindow.C
@@
-201,6
+201,7
@@
MWindow::MWindow()
mainprogress = 0;
brender = 0;
brender_active = 0;
mainprogress = 0;
brender = 0;
brender_active = 0;
+ strcpy(cin_lang,"en");
channeldb_buz = new ChannelDB;
channeldb_v4l2jpeg = new ChannelDB;
//file_server = 0;
channeldb_buz = new ChannelDB;
channeldb_v4l2jpeg = new ChannelDB;
//file_server = 0;
@@
-230,6
+231,7
@@
MWindow::MWindow()
MWindow::~MWindow()
{
run_lock->lock("MWindow::~MWindow");
MWindow::~MWindow()
{
run_lock->lock("MWindow::~MWindow");
+ stop_playback(1);
in_destructor = 1;
//printf("MWindow::~MWindow %d\n", __LINE__);
gui->stop_drawing();
in_destructor = 1;
//printf("MWindow::~MWindow %d\n", __LINE__);
gui->stop_drawing();
@@
-470,7
+472,7
@@
void MWindow::check_language()
if( !env_lang ) env_lang = getenv("LC_ALL");
if( !env_lang ) env_lang = getenv("LANG");
if( !env_lang ) {
if( !env_lang ) env_lang = getenv("LC_ALL");
if( !env_lang ) env_lang = getenv("LANG");
if( !env_lang ) {
- snprintf(curr_lang, sizeof(curr_lang), "%s
-%s.
%s",
+ snprintf(curr_lang, sizeof(curr_lang), "%s
_%s-
%s",
BC_Resources::language, BC_Resources::region, BC_Resources::encoding);
env_lang = curr_lang;
}
BC_Resources::language, BC_Resources::region, BC_Resources::encoding);
env_lang = curr_lang;
}
@@
-487,6
+489,12
@@
void MWindow::check_language()
::remove(ladspa_path);
defaults->save();
}
::remove(ladspa_path);
defaults->save();
}
+ if( strlen(env_lang) > 1 &&
+ ( env_lang[2] == 0 || env_lang[2] == '_' || env_lang[2] == '.' ) ) {
+ cin_lang[0] = env_lang[0]; cin_lang[1] = env_lang[1]; cin_lang[2] = 0;
+ }
+ else
+ strcpy(cin_lang, "en");
}
void MWindow::get_plugin_path(char *path, const char *plug_dir, const char *fs_path)
}
void MWindow::get_plugin_path(char *path, const char *plug_dir, const char *fs_path)
@@
-919,6
+927,7
@@
void MWindow::init_gwindow()
void MWindow::init_tipwindow()
{
void MWindow::init_tipwindow()
{
+ TipWindow::load_tips(cin_lang);
if( !twindow )
twindow = new TipWindow(this);
twindow->start();
if( !twindow )
twindow = new TipWindow(this);
twindow->start();
@@
-1326,17
+1335,12
@@
void MWindow::stop_playback(int wait)
int locked = gui->get_window_lock();
if( locked ) gui->unlock_window();
int locked = gui->get_window_lock();
if( locked ) gui->unlock_window();
- cwindow->playback_engine->que->send_command(STOP,
- CHANGE_NONE,
- 0,
- 0);
- cwindow->playback_engine->interrupt_playback(wait);
+ cwindow->playback_engine->stop_playback();
for(int i = 0; i < vwindows.size(); i++) {
VWindow *vwindow = vwindows[i];
if( !vwindow->is_running() ) continue;
for(int i = 0; i < vwindows.size(); i++) {
VWindow *vwindow = vwindows[i];
if( !vwindow->is_running() ) continue;
- vwindow->playback_engine->que->send_command(STOP, CHANGE_NONE, 0, 0);
- vwindow->playback_engine->interrupt_playback(wait);
+ vwindow->playback_engine->stop_playback();
}
if( locked ) gui->lock_window("MWindow::stop_playback");
}
}
if( locked ) gui->lock_window("MWindow::stop_playback");
}
@@
-1461,11
+1465,9
@@
SET_TRACE
case FILE_UNRECOGNIZED_CODEC:
{
// Test index file
case FILE_UNRECOGNIZED_CODEC:
{
// Test index file
- IndexFile indexfile(this, new_asset);
- result = indexfile.open_index();
- if(!result)
- {
- indexfile.close_index();
+ { IndexFile indexfile(this, new_asset);
+ if( !(result = indexfile.open_index()) )
+ indexfile.close_index();
}
// Test existing EDLs
}
// Test existing EDLs
@@
-1474,7
+1476,7
@@
SET_TRACE
new_edls[j]->assets->get_asset(new_asset->path) :
edl->assets->get_asset(new_asset->path);
if( old_asset ) {
new_edls[j]->assets->get_asset(new_asset->path) :
edl->assets->get_asset(new_asset->path);
if( old_asset ) {
-
*new_asset = *old_asset
;
+
new_asset->copy_from(old_asset,1)
;
result = 0;
}
}
result = 0;
}
}
@@
-3597,6
+3599,7
@@
int MWindow::select_asset(Asset *asset, int vstream, int astream, int delete_tra
else if( delete_tracks )
edl->tracks->delete_track(track);
}
else if( delete_tracks )
edl->tracks->delete_track(track);
}
+ edl->retrack();
edl->resample(old_framerate, session->frame_rate, TRACK_VIDEO);
}
if( !result && asset->audio_data && asset->channels > 0 ) {
edl->resample(old_framerate, session->frame_rate, TRACK_VIDEO);
}
if( !result && asset->audio_data && asset->channels > 0 ) {