version update, msg txt, tweak mixeralign locks/leaks, disable libwebp,libaom in...
authorGood Guy <[email protected]>
Sun, 31 Mar 2019 22:57:46 +0000 (16:57 -0600)
committerGood Guy <[email protected]>
Sun, 31 Mar 2019 22:57:46 +0000 (16:57 -0600)
cinelerra-5.1/blds/PKGBUILD
cinelerra-5.1/blds/cinelerra.spec
cinelerra-5.1/blds/debian/changelog
cinelerra-5.1/blds/debian/control
cinelerra-5.1/cinelerra/mixersalign.C
cinelerra-5.1/cinelerra/mixersalign.h
cinelerra-5.1/msg/txt

index 4c805b2fae69c792960279a9cee5ab5566d2836e..3cddc5a03d81822352b402e38443435d5c0b2893 100644 (file)
@@ -1,7 +1,7 @@
 # Maintainer: goodguy <lists.cinelerra-gg.org>
 pkgname=cin
 pkgver=5.1
-pkgrel=20190228
+pkgrel=20190331
 pkgdesc="Cinelerra git://git.cinelerra-gg.org/goodguy/cinelerra.git ($pkgrel)"
 arch=('x86_64')
 url="https://www.cinelerra-gg.org"
index bdeb516778efedb96fc85908e59623c9741883b6..6c8353a9c42ec5da7920584c2f82eb728835c745 100644 (file)
@@ -1,4 +1,4 @@
-%define ver 20190228
+%define ver 20190331
 %define cin cinelerra
 Summary: Multimedia Editing and construction
 
@@ -26,6 +26,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 %if 0%{?centos}
 %define rhat 1
 %define distro centos
+%define centos_cfg --disable-libaom --disable-libwebp
 %endif
 
 BuildRequires: autoconf
@@ -76,7 +77,7 @@ Multimedia editing and construction
 %setup -q -n %{cin}-%{version}
 %build
 ./autogen.sh
-%configure %{?xcfg}
+%configure %{?xcfg} %{?centos_cfg}
 %{__make}
 
 %install
index d130d9b6a0d9116d5b27fde147cb0f3e9162cb84..52f750897409882fa540f50e3f8165da874eda7c 100644 (file)
@@ -1,4 +1,4 @@
-cin (1:5.1.20190228) unstable; urgency=low
+cin (1:5.1.20190331) unstable; urgency=low
 
   [ guy goode ]
 
index bdc83e4072c61fac6a86b5420da906f753dc51f9..74672f66cef56e48e570209980a324c08d94e429 100644 (file)
@@ -1,7 +1,7 @@
 Source: cin
 Section: video
 Priority: optional
-Standards-Version: 5.1.20190228
+Standards-Version: 5.1.20190331
 Maintainer: mailing list <[email protected]>
 Homepage: https://www.cinelerra-gg.org/
 Build-Depends: nasm, yasm, g++, gdb, build-essential, e2fsprogs,
index 1e91b6ca5e6cfdf1563809add3b13a2c32875d0d..8092b14aeb38ccde548a30c495a085fe497d7620 100644 (file)
@@ -685,6 +685,7 @@ BC_Window *MixersAlign::new_gui()
 // shift armed mixer tracks by nudge
 void MixersAlign::nudge_tracks()
 {
+       mwindow->gui->lock_window("MixersAlign::apply_tracks");
        int idx = ma_gui->mtrack_list->get_selection_number(0, 0);
        int midx = mmixer_of(idx);
        EDL *edl = mwindow->edl;
@@ -716,7 +717,6 @@ void MixersAlign::nudge_tracks()
        }
        edl->optimize();
 
-       mwindow->gui->lock_window("MixersAlign::apply_tracks");
        mwindow->update_gui(1);
        mwindow->gui->unlock_window();
        clear_mixer_nudge();
@@ -725,6 +725,7 @@ void MixersAlign::nudge_tracks()
 // move selected mixer edits by nudge
 void MixersAlign::nudge_selected()
 {
+       mwindow->gui->lock_window("MixersAlign::apply_selected");
        int idx = ma_gui->mtrack_list->get_selection_number(0, 0);
        int midx = mmixer_of(idx);
        EDL *edl = mwindow->edl;
@@ -778,7 +779,6 @@ void MixersAlign::nudge_selected()
                track->record = track_arms[i++];
        edl->optimize();
 
-       mwindow->gui->lock_window("MixersAlign::apply_selected");
        mwindow->update_gui(1);
        mwindow->gui->unlock_window();
        clear_mixer_nudge();
@@ -798,11 +798,13 @@ void MixersAlign::clear_mixer_nudge()
 
 void MixersAlign::check_point()
 {
+       mwindow->gui->lock_window("MixersAlign::check_point");
        ma_gui->undo->add_undo_item(undo_edls.size());
        EDL *undo_edl = new EDL();
        undo_edl->create_objects();
        undo_edl->copy_all(mwindow->edl);
        undo_edls.append(undo_edl);
+       mwindow->gui->unlock_window();
 }
 
 
@@ -856,22 +858,28 @@ void MixersAlign::handle_done_event(int result)
                thread->join();
        }
        if( !result ) {
+               mwindow->gui->lock_window("MixersAlign::handle_done_event");
                EDL *edl = mwindow->edl;
                mwindow->edl = undo_edls[0];
                mwindow->undo_before();
                mwindow->edl = edl;
                mwindow->undo_after(_("align mixers"), LOAD_ALL);
+               mwindow->gui->unlock_window();
        }
 }
 
 void MixersAlign::handle_close_event(int result)
 {
        ma_gui = 0;
+       mixers.clear();
+       mtracks.clear();
+       atracks.clear();
+       undo_edls.clear();
 }
 
 void MixersAlign::load_mixers()
 {
-       mixers.remove_all_objects();
+       mixers.clear();
        Mixers &edl_mixers = mwindow->edl->mixers;
        for( int i=0; i<edl_mixers.size(); ++i )
                mixers.append(new MixersAlignMixer(edl_mixers[i]));
@@ -879,7 +887,7 @@ void MixersAlign::load_mixers()
 
 void MixersAlign::load_mtracks()
 {
-       mtracks.remove_all_objects();
+       mtracks.clear();
        Track *track=mwindow->edl->tracks->first;
        for( int no=0; track; ++no, track=track->next ) {
                if( track->data_type != TRACK_AUDIO ) continue;
@@ -889,7 +897,7 @@ void MixersAlign::load_mtracks()
 
 void MixersAlign::load_atracks()
 {
-       atracks.remove_all_objects();
+       atracks.clear();
        Track *track=mwindow->edl->tracks->first;
        for( int no=0; track; ++no, track=track->next ) {
                if( track->data_type != TRACK_AUDIO ) continue;
@@ -986,9 +994,9 @@ void MixersAlign::apply_undo(int no)
                failed = -1;
                thread->join();
        }
+       mwindow->gui->lock_window("MixersAlignUndo::handle_event");
        EDL *undo_edl = undo_edls[no];
        mwindow->edl->copy_all(undo_edl);
-       mwindow->gui->lock_window("MixersAlignUndo::handle_event");
        mwindow->update_gui(1);
        mwindow->gui->unlock_window();
        ma_gui->reset->handle_event();
@@ -1224,8 +1232,8 @@ void MixersAlignTargetClient::process_package(LoadPackage *package)
                pkg->sd2 = sd2;
                pkg->ss = ss;
                pkg->pos = scan->pos;
-printf("targ %s:%d at %jd,ss=%f sd2=%f\n",
-  scan->pkg->mixer->mixer->title, ch, scan->pos, ss, sd2);
+//printf("targ %s:%d at %jd,ss=%f sd2=%f\n",
+//  scan->pkg->mixer->mixer->title, ch, scan->pos, ss, sd2);
                double *best = pkg->best;
                int i = 0, len = targ->len;
                while( i < len1 ) best[i++] = *data++;
@@ -1514,7 +1522,7 @@ void MixersAlignMatchRevClient::process_package(LoadPackage *package)
        if( mix->mx < mx ) {
                mix->mx = mx;
                mix->mi = mi;
-printf("best %d: %f at %jd\n", get_package_number(), mx, mi);
+//printf("best %d: %f at %jd\n", get_package_number(), mx, mi);
        }
        farm->mixer_lock->unlock();
 }
index 92b36baed2de1dad623b6e00dca250ae03b3a511..bee2c9018a5776a33b7f8d4a89e1d5832929d6e1 100644 (file)
@@ -52,7 +52,8 @@ class MixersAlignMixers : public ArrayList<MixersAlignMixer*>
 {
 public:
        MixersAlignMixers() {}
-       ~MixersAlignMixers() { remove_all_objects(); }
+       ~MixersAlignMixers() { clear(); }
+       void clear() { remove_all_objects(); }
 };
 
 class MixersAlignMixerList : public BC_ListBox
@@ -99,7 +100,8 @@ class MixersAlignMTracks : public ArrayList<MixersAlignMTrack*>
 {
 public:
        MixersAlignMTracks() {}
-       ~MixersAlignMTracks() { remove_all_objects(); }
+       ~MixersAlignMTracks() { clear(); }
+       void clear() { remove_all_objects(); }
 };
 
 
@@ -149,7 +151,8 @@ class MixersAlignATracks : public ArrayList<MixersAlignATrack*>
 {
 public:
        MixersAlignATracks() {}
-       ~MixersAlignATracks() { remove_all_objects(); }
+       ~MixersAlignATracks() { clear(); }
+       void clear() { remove_all_objects(); }
 };
 
 class MixersAlignATrackList : public BC_ListBox
@@ -259,8 +262,10 @@ class MixersAlignUndoEDLs : public ArrayList<EDL *>
 {
 public:
        MixersAlignUndoEDLs() {}
-       ~MixersAlignUndoEDLs() {
+       ~MixersAlignUndoEDLs() { clear(); }
+       void clear() {
                for( int i=size(); --i>=0; ) get(i)->remove_user();
+               remove_all();
        }
 };
 
index 7ec204e00f385d8bad911d08d7142f6ad8432bfe..536451adc911fe46adfa722b40f708c73daf0107 100644 (file)
@@ -4,7 +4,7 @@ Cinelerra-GG Infinity continuously merged/enriched from the
   provided over prior years from the Community Version.
 Email [email protected] 4 help.
 For usage help, refer to the following:
-  https://cinelerra-cv.org/docs/cinelerra_cv_manual_en.html
+  https://cinelerra-gg.org/downloads/CinelerraGG_manual.pdf
   https://cinelerra-gg.org/downloads/Features.pdf
   http://g-raffa.eu/Cinelerra/HOWTO/basics.html
 Cinfinity icons selected in Preferences Sam (CC BY 3.0,
@@ -12,6 +12,12 @@ Cinfinity icons selected in Preferences Sam (CC BY 3.0,
 Neophyte theme selected in Preferences by Olaf Wolff (CC BY 4.0,
   https://creativecommons.org/licenses/by/4.0/)
 .
+March 2019 New Features of note:
+  Mixers, multiple cameras, now has Audio Alignment.
+  Additional options for Preview mode in Resources window.
+  Named layouts for easier identification purposes.
+  ShuttlePro/Xpress will work on multiple instances.
+  Insert Mixers for multiple cameras at Insertion point.
 February 2019 New Features of note:
   AV1 and WebP format usage is now included.
   ShuttlePro/Xpress stabilization/setup/definition is complete.