version update, chg shortcut for del last trk, ogg fixes/tweaks 2020-02
authorGood Guy <[email protected]>
Sun, 1 Mar 2020 02:42:26 +0000 (19:42 -0700)
committerGood Guy <[email protected]>
Sun, 1 Mar 2020 02:42:26 +0000 (19:42 -0700)
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/Makefile
cinelerra-5.1/cinelerra/fileogg.C
cinelerra-5.1/cinelerra/mainmenu.C
cinelerra-5.1/msg/txt
cinelerra-5.1/po/es.po

index ea6a2992fddc04879d0e6983b6fdcabe71dccd50..7d48a6535a1d467ea8dca25548b02f1e4510ed6c 100644 (file)
@@ -1,7 +1,7 @@
 # Maintainer: goodguy <lists.cinelerra-gg.org>
 pkgname=cin
 pkgver=5.1
-pkgrel=20200131
+pkgrel=20200229
 pkgdesc="Cinelerra git://git.cinelerra-gg.org/goodguy/cinelerra.git ($pkgrel)"
 arch=('x86_64')
 url="https://www.cinelerra-gg.org"
index 21d9f835467ca05021dfb1bcabf0bfdef682dce8..2f0ee8f3a81d0c9845b65ae7e27a4241006f25c0 100644 (file)
@@ -1,4 +1,4 @@
-%define ver 20200131
+%define ver 20200229
 %define cin cinelerra
 Summary: Multimedia Editing and construction
 
@@ -52,7 +52,7 @@ BuildRequires: texinfo
 BuildRequires: gtk2-devel
 BuildRequires: libva-devel
 BuildRequires: libvdpau-devel
-BuildRequires: pulseaudio-libs-devel
+%{?rhat:BuildRequires: pulseaudio-libs-devel}
 %{?rhat:BuildRequires: alsa-lib-devel}
 %{?rhat:BuildRequires: bzip2-devel}
 %{?rhat:BuildRequires: xorg-x11-fonts-cyrillic}
@@ -61,6 +61,7 @@ BuildRequires: pulseaudio-libs-devel
 %{?rhat:BuildRequires: xorg-x11-fonts-ISO8859-1-75dpi}
 %{?rhat:BuildRequires: xorg-x11-fonts-misc}
 %{?rhat:BuildRequires: xorg-x11-fonts-Type1}
+%{?suse:BuildRequires: libpulse-devel}
 %{?suse:BuildRequires: alsa-devel}
 %{?suse:BuildRequires: libbz2-devel}
 %{?suse:BuildRequires: bitstream-vera-fonts}
index 8b9d436c636b09d95702073500e36f9431669ed3..731b74c296d1e2703aeb4656ff5a7a2aa7e801e9 100644 (file)
@@ -1,4 +1,4 @@
-cin (1:5.1.20200131) unstable; urgency=low
+cin (1:5.1.20200229) unstable; urgency=low
 
   [ guy goode ]
 
index b8d5057708634077d6354c9180c06079f4240ff7..dca3842a4976b6ba92cca0735c56cf7e5f698eca 100644 (file)
@@ -1,7 +1,7 @@
 Source: cin
 Section: video
 Priority: optional
-Standards-Version: 5.1.20200131
+Standards-Version: 5.1.20200229
 Maintainer: mailing list <[email protected]>
 Homepage: https://www.cinelerra-gg.org/
 Build-Depends:
index d0a8f1ad919387d3e4ad84f9ff8166574c4731c0..f4e536b555b66b1361365480d4ce6b0b5543a1c0 100644 (file)
@@ -552,8 +552,7 @@ clean:
        rm -f shuttle_keys.h
 
 tags:
-       ctags -R -h default --langmap=c:+.inc . ../guicast/ ../libzmpeg3 ../plugins ../thirdparty/ffmpeg-* \
-               ../thirdparty/libtheora* ../thirdparty/libvorbis* ../thirdparty/libogg*
+       ctags -R -h default --langmap=c:+.inc . ../guicast/ ../libzmpeg3 ../plugins ../thirdparty/ffmpeg-*
 
 $(OBJDIR)/fileexr.o:   BFLAGS:= -Wno-deprecated
 $(OBJDIR)/sha1.o:      BFLAGS:= -O3
index 7302bcd1bec7dba755df952aa3eb07781f26b17f..e65eccbf41e0ecca1f19db6fe17208b71ec8250a 100644 (file)
@@ -1027,6 +1027,7 @@ int FileOGG::ogg_get_page_of_sample(ogg_page *og, int64_t sample)
 int FileOGG::ogg_seek_to_sample(int64_t ogg_sample)
 {
        ogg_page og;
+       ogg_packet op;
        if( !ogg_get_page_of_sample(&og, ogg_sample) ) {
                eprintf(_("Seeking to sample's page failed\n"));
                return 0;
@@ -1038,13 +1039,13 @@ int FileOGG::ogg_seek_to_sample(int64_t ogg_sample)
                while( (ret=audiosync->ogg_get_prev_page(to.serialno, &og)) &&
                        (ogg_page_packets(&og) == 0 && ogg_page_continued(&og)) );
        }
-       audio_eos = 0;
-       ogg_stream_reset(&vo);
-       ogg_stream_pagein(&vo, &og);
-       vorbis_synthesis_restart(&vd);
-       ogg_packet op;
-       while( (ret=ogg_get_audio_packet(&op)) != 0 &&
-               op.granulepos < 0 );
+       if( ret ) {
+               audio_eos = 0;
+               ogg_stream_reset(&vo);
+               ogg_stream_pagein(&vo, &og);
+               vorbis_synthesis_restart(&vd);
+               ret = ogg_get_audio_packet(&op);
+       }
        if( ret && !vorbis_synthesis(&vb, &op) ) {
                vorbis_synthesis_blockin(&vd, &vb);
                if( vorbis_synthesis_pcmout(&vd, 0) )
@@ -1055,7 +1056,7 @@ int FileOGG::ogg_seek_to_sample(int64_t ogg_sample)
                return 0;
        }
 
-       while( ogg_sample >= next_pos ) {
+       while( ogg_sample > next_pos ) {
                if( !(ret=ogg_get_audio_packet(&op)) ) break;
                if( vorbis_synthesis(&vb, &op) ) continue;
                vorbis_synthesis_blockin(&vd, &vb);
@@ -1270,13 +1271,9 @@ int FileOGG::read_frame(VFrame *frame)
                }
                expect_keyframe = 1;
        }
-       int frames_remaining = asset->video_length - (video_pos - start_frame);
-       if( decode_frames > frames_remaining ) decode_frames = frames_remaining;
        int ret = 0;
        ogg_packet op;
-       while( decode_frames > 0 && !video_eos ) {
-               if( video_pos-start_frame >= asset->video_length )
-                       return 0;
+       while( decode_frames > 0 ) {
                if( !ogg_get_video_packet(&op) ) break;
                if( expect_keyframe ) {
                        expect_keyframe = 0;
@@ -1343,7 +1340,6 @@ int FileOGG::ogg_decode_more_samples()
                }
        }
        ogg_sample_position = -11;
-       if( audio_eos ) return 0;
        eprintf(_("Cannot find next page while trying to decode more samples\n"));
        return 0;
 }
@@ -1446,22 +1442,28 @@ int FileOGG::read_samples(double *buffer, int64_t len)
                        int64_t sample_demand = samples_to_read - samples_read;
                        int64_t sample_count = MIN(samples_avail, sample_demand);
                        if( sample_count > 0 ) {
-                               for( int i=0; i<asset->channels; ++i ) {
-                                       float *input = vorbis_buffer[i];
-                                       float *output = pcm_history[i] + hole_start;
-                                       int sz = sample_count*sizeof(*output);
-                                       if( samples_waiting )
+                               int sz = sample_count*sizeof(float);
+                               if( samples_waiting ) {
+                                       for( int i=0; i<asset->channels; ++i ) {
+                                               float *input = vorbis_buffer[i];
+                                               float *output = pcm_history[i] + hole_start;
                                                memcpy(output, input, sz);
-                                       else
+                                       }
+                                       vorbis_synthesis_read(&vd, sample_count);
+                               }
+                               else {
+                                       for( int i=0; i<asset->channels; ++i ) {
+                                               float *output = pcm_history[i] + hole_start;
                                                memset(output, 0, sz);
+                                       }
                                }
-                               vorbis_synthesis_read(&vd, sample_count);
-                               samples_read += sample_count;
                                ogg_sample_position += sample_count;
                                hole_start += sample_count;
+                               samples_read += sample_count;
+                               if( samples_read >= hole_len ) break;
                        }
-
-                       if( !ogg_decode_more_samples() ) break;
+                       if( samples_read < hole_len && !ogg_decode_more_samples() )
+                               break;
                }
        }
 
index 26b877edfdc5c6cd45f396c781cda559a18a70f7..39e7ef0c680c9e28c0d42a2f1c8e935786f90199 100644 (file)
@@ -1247,8 +1247,10 @@ int DeleteFirstTrack::handle_event()
 }
 
 DeleteLastTrack::DeleteLastTrack(MWindow *mwindow)
- : BC_MenuItem(_("Delete last track"), "d", 'd')
+ : BC_MenuItem(_("Delete last track"), "Ctrl-Shift-D", 'D')
 {
+       set_ctrl(1);
+       set_shift(1);
        this->mwindow = mwindow;
 }
 
index c5844835992f35805c9090bebf1bf8c21698cb3e..fcac5dd5cfd74b1cea74601f68b7c2f516e13dcf 100644 (file)
@@ -7,6 +7,13 @@ Cinfinity icons selected in Preferences Sam (CC BY 3.0,
 Cakewalk and Neophyte themes by Olaf Wolff (CC BY 4.0,
   https://creativecommons.org/licenses/by/4.0/)
 .
+February 2020 New Features of note:
+  New ColorSpace plugin to convert color space/range.
+  Updated 17 thirdparty libraries to keep up to date.
+  Rewrote and replaced OGG/Theora/Vorbis file codec.
+  Shortcut for "Delete last track" has changed.
+  PulseAudio option is now built in as audio choice.
+.
 January 2020 New Features of note:
   Updated reference Manual using LaTeX now complete.
   File by Reference capability now available.
index 598540f9694dfcacf4b7c663615311c25d3c6327..3e3f27e8c8b55b61862e48fbe12a38659102e8df 100644 (file)
@@ -11307,8 +11307,7 @@ msgstr "CompensaciĆ³n vertical"
 #: plugins/downsample/downsample.C:378 plugins/reframert/reframert.C:241
 msgid "Downsample"
 msgstr ""
-"Pixelar\n"
-"Bajar ResoluciĆ³n"
+"Pixelizar"
 
 #: plugins/echo/echo.C:147
 msgid "Level: "