Credit Andrew - improve in-tree documentation
[goodguy/cinelerra.git] / cinelerra / CHANGELOG
1 11/7/01
2
3 Mask feathering and value implemented.  Crash bug in
4 CWindowMaskGUI::get_keyframe fixed.
5
6
7
8
9
10 11/22/01
11
12 Removed memory leak in VirtualConsole.  Another case of base destructor
13 calling base methods only.
14
15 Time average finally implemented. Deinterlace implemented.
16
17 Translation in screencapture recording implemented.
18
19 AVI parameter editing box.
20
21 Drag and drop of assets during an index build doesn't lock up.
22 Dragging mixtures of audio and video works better.  Better handling of
23 shared effects which are off.
24
25 Batches can be moved up and down the list.
26
27
28
29
30
31 12/6/01
32
33 OpenDIVX debugging:
34
35 Fixed bugs in decore2: *run = *last = -1; was not copied over from
36 encore50.
37
38 Rewrote bitstream parser in encore2 and decore2 to be more reliable.
39
40 Disabled MMX due to crashes in Redhat 7.2.
41
42 Discovered decore2 can't do P frames so switched back to decore50.
43
44 Renamed header files, symbols to all
45 in the same program.
46
47 Renamed more symbols in mpeg2enc to coexist with opendivx.
48
49 To make encore2 work on 64 bit processors:
50
51 Typecasted offsets in CompensateBlock and get_ref to (int)
52
53 Decore50 still not functional on 64 bit processors.
54
55
56
57
58 Implemeneted PNG list output.  Debugged list output and input.
59
60 Configuration dialog for OpenDivx in Cinelerra migrated from encore50
61 to encore2.
62
63 Configuration dialog for Vorbis and Vorbis export to Quicktime.
64
65 Can use shift-R to render.
66
67 DV encoding implemented.  The last libdv library only supported MMX and
68 B&W.
69
70
71
72
73 12/16/01
74
75 Moved all OpenDivx support to the encore50 derivative of the encoder.
76 This appears to do everything that the encore2 derivative could do at
77 equal or lesser reliability.
78
79 Changed bmp argument for decore50 to 3 member array.  Added quant
80 argument which, when set to nonzero, fixes the quantization.  OpenDivx
81 with fixed quantization looks 33% better than MPEG-2.
82
83 Direct copy rendering for OpenDivx so output of the renderfarm can be
84 direct copied into a single file.
85
86 Moved all theme support into a plugin.  Resources are no longer
87 compiled in but concatenated to the binaries.  This made compilation
88 take less time and should theoretically allow more themes to be
89 supported without increasing resident set size.
90
91 Made ports specific to each render node instead of global.  This way
92 multiple Cinelerra clients can run on the same box without violating
93 the single thread requirement of new libraries.
94
95 Cinelerra daemon forks to background.  Made assets export more
96 compression parameters to render nodes.
97
98 Vorbis decoding in Quicktime without seeking.  The encoding is probably
99 not going to change anymore but Vorbis doesn't appear seekable.  No-one
100 is going to use OpenDivx and Vorbis without an endorsement from
101 Microsoft anyway.
102
103
104
105
106
107
108
109 12/22/01
110
111 Seeking support for Quicktime/Vorbis.  Support for Vorbis on 64 bit
112 processors.  Further debugging of Divx.  Quality of 6 yields errors in
113 output.  Quality of 5 seems to be the maximum.  Changed fourcc from
114 VBIS to OggS for vorbis.
115
116 To make Vorbis work on 64 bit processors:
117
118 change sizeof(int) to sizeof(int*) in lib/floor1.c: 263
119
120 Menu effects can paste into the timeline.
121
122 Changes in label handling when pasting resources.
123
124 Statusbar and zoombar resizing restored.
125
126 Implemented code to move plugin sets up and down a level.
127
128 Improved table of contents support for libmpeg3.  This scans every byte
129 of the mpeg files and records the location of every keyframe and every
130 sample of audio.  The table of contents can then be loaded by
131 Cinelerra, allowing frame accurate editing from mpeg source material.
132
133 A memory allocation bug in the Linux kernel crashes the system when
134 using mpeg3toc on DVD's so forget about transcoding Starwars on a
135 render farm.  Don't know who discovered that either.
136
137
138
139
140
141
142
143 12/28/01
144
145 Ignored the warnings and set -ieee for all files in quicktime to fix
146 floating point exceptions.  This made it twice as slow but it worked.
147
148 Floating point exceptions in the following places were fixable with
149 certain changes:
150
151 vorbis_lpc_predict    ->  A return statement before anything is done.
152 bark_noise_pointmp    ->  noise[i] could be set to 0
153 bark_noise_hybridmp   ->  noise[i] could be set to 0
154
155 Defining VORBIS_IEEE_FLOAT32 seemed to fix mapping0 crashes so the
156 preceeding changes were backed out.
157
158 Loading XML files with multiple video tracks works better.
159
160 Linux 2.4.17 handles DVD table of contents operations better but
161 crashes after 5 hours of reading a DVD.  You'll have to reboot often to
162 control memory corruption.
163
164
165
166
167
168
169
170 1/4/02
171
172 Credit for official Microsoft software even though there isn't any
173 official Microsoft software.
174
175 Records to DV again but not under kernels after 2.4.7.
176
177 New audio effects:
178 Tone generator
179 Reverse audio
180 Delay audio
181
182 3rd attempt to improve main window scrollbars.
183
184
185
186
187
188
189 1/11/02
190
191 New video effects:
192 Delay video
193 Reverse video
194 Swap channels
195
196 New audio effects:
197 Denoise
198 Parametric EQ using fast fourier transform.  This isn't standard but
199 it gives real gaussian curves.
200 Spectrogram
201 Time stretch
202 Resample
203 Pitch shift
204
205 Frequency table expanded in Units.  This uses real 1/3 octave steps.
206
207 Flipped U and V in opendivx encoder so it conforms to YUV order on
208 disk.
209
210 Reconfiguration during audio rendering reenabled.
211
212 Constitutive reconfiguration for video turned off.  This was used to
213 debug the memory leaks.
214
215 Icon for Normalize.  Tone generator improvement.
216
217
218
219
220
221 1/18/02
222
223 New audio effects:
224 Compressor
225
226
227 New video effects:
228 Denoise
229 Frame to field conversion
230 Field to frame conversion
231 Reframe
232
233 Video denoise uses the average of an arbitrary number of previous
234 frames to predict what the value for the next frame should be.  This
235 can also be used as a threshold effect or a time average.
236
237 Optimized time average.
238
239
240
241
242 1/25/02
243
244 Plugin keyframes loaded from XML.
245 Correct rendering of plugin keyframes.  Some plugins interpolate.
246 Most plugin GUI's update when insertion point is moved among keyframes.
247 Plugin keyframes draw when created.
248 Cursor jumps to plugin keyframes when selected.
249 Samplerate adjustable in all media info windows.
250 Samplerate and framerate adjustments not overridden when loaded in an EDL.
251 Improved fade automation rendering.
252
253 New video effects:
254 Oil painting
255 Whirl/pinch
256 Polar
257 Rotation
258 Waves
259 Waveform/Vectorscope
260 Hue/Saturation
261 YUV adjustment
262 Invert video
263
264 New audio effect:
265 Invert audio
266
267
268
269
270
271
272
273 2/1/02
274
275 Progress windows really cancel instead of just letting you press the
276 button.
277 Status bar shows how long something took when it finishes.
278 Removed Send and Recieve options from effects.  It was never needed and it
279 complicated the use of variable track sizes.
280
281 First stage of making width and height specific to tracks and renamed
282 projector size to canvas size.
283 More interpolation for effects.
284 Second stage of titler.
285
286
287
288
289
290
291 2/8/02
292 Pasting effect keyframes works better.
293 Improved extension and contraction of effects during clear and paste.
294 Automation for more effects.
295 Effect keyframe behavior is more predictable.
296 For a good time enable auto keyframes and type stuff into the titler while playing back.
297 Clearing VFrames clears the alpha too.
298 Added a tests directory and stored some test EDLs.
299 Blur can selectively blur single channels
300 Effects can be attached to tracks with no data via a popup menu finally.
301 Plugin GUI's are more often updated when tracks are deleted.
302
303 Final stage of titling implementation.
304 Chromakey and lumakey
305
306
307
308 2/15/02
309 Effects more accurately follow edits while cutting and pasting.
310 More accurate keyframing in effects.
311 Video Transitions restored.
312 Audio transitions enabled.
313 Transition length inputted in seconds.
314 Stepped up the number of previous files displayed.
315 Option to disable tracks when no edits was removed.  The VConsole automatically
316 detects when effects synthesize material.
317 Independant track sizes can now be changed with a popup menu.
318 Renderfarm more accurately calculates balanced loads.
319 Disabled avifile to reduce the debugging noise.
320 Removed memory leak from Quicktime MPEG-4 decoder.
321 Slightly optimized resource window updates after loading.
322
323 Linux 2.4.17 crashes probably because Cinelerra moves too much memory
324 around.  We disabled kswapd by putting a return 0; in
325 /usr/src/linux/mm/vmscan.c.  The operating system seems more stable now.
326
327 Enabled deletion of assets and clips from the project.  Also can delete
328 assets from disk.
329 Rebuild indices should handle multiple indices if selected.
330
331 Rectangle selection in asset window.  The heroine background was
332 lightened but mind you, the heroine background is a permanent feature.
333
334 Latest seeking issue fixed in libmpeg3.  Looking for ways to shift
335 audio based on the pts.
336 Compositor window tumblers work better.
337 More verbose overlays for camera, projector, and output regions, making
338 it easier to visualize the compositing pipeline.
339 Easier to use magnifying glass.
340 Middle mouse button dragging in CWindow works.
341
342
343 new video transitions:
344 bandslide
345 bandwipe
346 slide
347 wipe
348 irissquare
349
350
351
352
353
354
355
356 2/22/02
357
358 Implemented another MPEG-2 bitrate control algorithm.  YUV 4:2:2 MPEG-2
359 in fixed bitrate modes above 7000000 is recommended for DV footage for
360 now.
361
362 Assets and effects are now sortable in the Resource window.  Text
363 displays aren't corrupted as much.
364
365 Certain EDL load operations honor the labels follow edits setting and
366 certain load operations insert labels constitutively.
367
368 Width and height of tracks load properly.  Adjustments to track width
369 and height render more often.
370
371 Playback automation always restored from undos.
372
373 Improved tracking when every frame is played.  Smooth scrolling during
374 playback is now supported.
375
376 Right mouse button doesn't activate selection rectangles anymore.
377 AVIFile disabled since it doesn't support GCC 3.0 anymore.
378 More reliable reading of individual image files.
379 More accurate rendering of fade automation.
380 More accurate tracking during playback.
381 Deinterlace with average works.
382 Certain edit operations from CWindow don't lock up the MWindow anymore.
383 CWindow scrollbars updatge after loading.
384 Track canvas after In/Out point dragging is properly refreshed.
385 Cursor motion over keyframes doesn't force rendering as often.
386
387
388
389
390
391
392 3/1/02
393
394 In/Out clearing crashes less and works better.
395
396 Removed IPC modeled semaphores.  Now no IPC stubs are left after a crash.
397
398 Rendering nodes and recording batches can be individually toggled.
399
400 Buz driver refurbished.  No longer requires kernel hacks to change channels.
401
402 Motion JPEG compression library debugged further.  Less corruption.
403
404 Playback through Buz driver enabled.  Now adjust color correction and see
405 it on a monitor.
406
407 Playback of video through Firewire implemented.  Still not functional.
408
409 YUV 4:2:0 Planar -> YUV 4:2:2 Planar color conversion
410
411 Renderengine retools the playback configuration for every command instead of
412 every EDL change.
413
414 Integrated IA-32 assembly language jpeg library.
415
416
417
418
419
420
421
422 3/15/02
423
424 Enabled assembly language routines in jpeg library.  Added swap fields
425 option to Buz output driver.
426
427 YUV overlay reenabled.  Only works on commercial NVidia drivers.
428
429 Libmpeg3 reads transport streams again.
430
431 Dissolve debugged further.
432
433 Moving out guicast images.  Implementing defaulttheme and microtheme.
434
435
436
437
438
439
440
441
442
443
444
445
446 3/22/02
447
448 Consolidated audio and video settings into a format dialog.
449 Made XVideo a separate driver.
450 Continued improvements of defaulttheme.
451 Draws MWindow BG and copies top background instead of several MWindow drawing calls.
452
453
454
455
456
457
458
459
460
461
462
463
464
465 4/5/02
466
467 Re-enabled configurable preloading in Quicktime since moov atoms larger
468 than 2 M were setting the preload too high.
469
470 Frame to field copies two fields into the output instead of line
471 doubling one field.
472
473 Tightened synchronization during recording startup.
474
475 CWindow and VWindow timebars implemented.
476 Timebars in CWindow and VWindow allow a region to be selected for
477 previewing.
478
479 Debugged configuration updates in Synthesizer and Parametric EQ.
480
481 Extra redundancies in the jpeg library enabled to get IA-32 assembly
482 working.
483
484 Time average is absolute.
485
486 Keybindings and icons for In/Out points changed.
487
488 Bezier keyframes less than 10 frames apart don't freeze the CWindow.
489
490 Clearing puts the cursor at the in point when using in/out points.
491
492 Camera translation from the exact top of a frame to less than the full
493 height really translates instead of squishing.
494
495 Reenabled background_pixmap in TrackCanvas to allow faster overlay drawing.
496
497 Loading non-XML files doesn't change the output width and height
498 anymore.  This allows VWindow to change sources without reverting the
499 output size.
500
501 Loop region loads right.
502
503 Pan images aren't corrupted anymore.
504
505 Clips created when no region is selected take the entire EDL now.
506
507 Parametric EQ reenabled.
508
509 Shared effects work again when deleted.
510
511 Multiple effects per effect row load properly again.
512
513 Jumping to next and prev label from CWindow doesn't lock up when playing back.
514
515 Instead of synchronizing the absolute position of each fader, the gang
516 option now changes the relative position of each fader.
517
518 Slider tooltips always update before being shown instead of showing
519 obsolete data.
520
521 Got rid of next record label in RecordGUI. Labels set while recording
522 are finally inserted in the timeline.  The 'l' key triggers a label
523 when recording.
524
525 Busy wait removed from repeater finally.
526 Prepared settings menu for addition of plugin editing option.
527
528 Began first stage of Microsoft AVI importer for Quicktime.
529
530
531
532
533
534
535 4/19/02
536
537 AVI decoding of official Microsoft MPEG-4 and mp3.
538 Second debugging pass for BC_Repeater.
539 23.976 framerate put in place of 24.976 framerate.
540 Synthesizer locks up less.
541 Libmpeg3 needs only 1 include path instead of 5000.
542 MPEG audio decoding 75% reimplemented for use in Quicktime.
543 AC3 reimplemented using liba52.
544 The mpeg3_layer_t structure handles mp2 and mp3 decoding separate
545 from libmpeg3 on a frame basis.
546 The mpeg3_ac3_t structure handles ac3 decoding on a frame basis.
547 The mpeg3_pcm_t handles pcm decoding.  PCM is repacketized by the demuxer.
548
549 Zoombar clamps more selection values.
550
551
552
553
554
555
556 5/3/02
557
558 Microsoft MPEG-4 and MP3 encoding in Quicktime, AVI edition.
559         100% Readable by Cinelerra and Xine but not by Microsoft.
560         Either audio or video plays back in Windows but not both.
561 Several Quicktime frame rates changed to double.
562 CWindow scrollbars updated on startup.
563 Another pass through scrollbar appearance.
564 New option to make effects follow edits.
565 Preview range updated more often in CWindow.
566 Another pass through listbox appearance.
567 Track cursor redrawn more frequently.
568 XMovie merged with new theme.
569 MPEG audio debugging pass 1.
570 Got rid of AVIFile and obsolete ffmpeg copy.
571
572
573
574
575
576
577
578
579
580
581
582 5/10/02
583
584 Better handling of non-existent files in edit lists and renderfarms.
585 Hopefully better reporting of errors with the renderfarm.
586 Debugged percentage seeking in mpeg3audio.
587 Vorbis rc3 doesn't encode without crashing.  Downgraded to vorbis rc2.
588 JPEG exporting in AVI.
589 More codec checking in AVI and Quicktime export.
590 Paste assets from AWindow doesn't lock up as much.
591 Faders not visible in the patchbay should now be gangable.
592 Debugged YUV compositing algorithms.
593 New RGBA -> YUV 16 bit conversions.
594 Selecting labels during playback in CWindow doesn't lock up.
595 Rewind and end in CWindow and VWindow do something again.
596 Playing from the VWindow after loading from XML doesn't crash as much.
597 Localsession needs to initialize everything in its constructor.
598 Paste from one samplerate to another isn't corrupted as much.  Samplerate conversion in paste_edls.
599
600 MICROSOFT mouse wheel adjusts all scrollbars, sliders, pots, and
601 tumblers, perfect for fine adjustments and zooming.  In CWindow and
602 VWindow it performs frame advance.
603
604 Mix2000 update for mouse wheel.
605
606
607
608
609
610 5/17/02
611
612 Pulling the official MICROSOFT mouse wheel back zooms out the CWindow
613 when using the zoom tool.
614
615 Brought back the last reflection level in Heroine College Concert Hall
616 since backwards reverb seems to be popular.
617
618 Paste automation resampling implemented.
619
620 Splice and overwrite debugged.  Paste_edls doesn't change the VWindow
621 source during splice and overwrite.  Splice inserts before the in_point
622 and ignores the out_point.  Overwrite erases between in_point and
623 out_point.
624
625 Dragging asset into VWindow updates the timebar.
626
627 Shifting effect handles works better.  Disabled checks not important to
628 effects.
629
630 TIFF and TGA I/O with image sequences.
631
632 Reenabled alpha blending.
633
634 Got rid of row_table[i] reference in cmodel_permutation output subscript.
635
636 Decompression of YUV 4:4:4 JPEG.
637
638
639
640
641
642
643
644 6/10/02
645
646 New option to disable thumbnails in AWindow.
647 Shift right handle out doesn't shift keyframes before it.
648 Waveform drawn more often after undo load.
649 Confirmation box for quit.
650 Quit really quits instead of crashing and looking like it quit.
651 MP3 decoding hacks to skip JPEG images without parsing ID3 tags.
652 Changing track titles redraws overlays.
653 Window is renamed after replacing project.
654
655 Shrank threshold in equivalency tests.  It was catching the wrong
656 in/out points.
657
658 Made FloatAutos store bezier curve information.
659
660 Got rid of full duplex record options.  Since modern sound drivers
661 allow single devices to be opened twice this is more easily done by
662 starting playback on the timeline manually when recording.
663
664 Plugin titles updated when track titles change.
665 Create clip with just in or out point creates something of positive length.
666 Create clip with no in or out point takes the entire length in VWindow.
667 Labels enabled in VWindow.
668 Overwrite doesn't shift effects or labels.
669 Overwrite overwrites the region between in and out of in and out are different
670 but overwrites its own length if in and out are identical.
671
672 Shifting out point in doesn't delete transitions.
673
674 Paste should extend effects when the clipboard has no effects and should
675 overwrite effects when the clipboard has effects.
676
677 Labels are undone during undo after paste.
678 Video tracks are added to the top of the stack while audio tracks are added
679 to the bottom of the stack.
680
681 Dragging an effect from one track to a zero length track retains the length
682 of the effect instead of crashing.
683
684 Dragging an effect from the Resource Window onto a zero length track doesn't
685 insert the effect on the track.
686
687
688
689
690
691
692
693 6/14/02
694
695 Bilinear interpolation from Broadcast 2000 migrated over.  This
696 averaged more pixels than the standard bilinear interpolation we
697 upgraded to in 2000.
698
699 Mutual exclusion lock for liba52 since liba52 can't run two frame
700 decodes simultaneously.
701
702 Removed double lock from Heroine College Concert Hall.
703
704 Correctly detects playable tracks more often.
705
706 Bezier curves for fade and zoom.
707
708 64 bit mpeg file support.  XMovie plays 64 bit mpeg files.
709
710 Variable channel numbers work finally.  Audio pans adjust when channel
711 count changes.
712
713 DV encoding in color works slightly better but still corrupted on the
714 right side.  The libdv upgrade can't decode of course.
715
716 After assessing levels of interest, marketing direction, and
717 experiencing a CVS erasing filesystem crash we moved forward on the
718 folding of all code into a single repository.  Moved quicktime,
719 libmpeg3, xmovie, mix2000, and 2 mpeg multiplexing tools into the
720 cinelerra tree and renamed the one gigantic tree hvirtual.  The upside
721 is Cinelerra compilation only requires exporting CFLAGS instead of
722 hunting down 5 packages and exporting CFLAGS.  The downside is the one
723 guy who uses Quicktime has to download a bigger package through his
724 bankrupt ISP's refurbished 1998 reissued cable modem.
725
726 Mind you everything except cinelerra and plugins will remain
727 independant of each other.
728
729 While it may work for servers ext3 isn't suitable for desktops which
730 are constantly shut down and restarted.
731
732
733
734 6/21/02
735
736 DV decoder 0.9.5 migrated.  Not tested for error resilience yet.
737 Made to_clip not copy all to the temporary clipboard so it wouldn't
738 copy the child EDL's.
739 Sort items put in AssetPopup.
740 Plugin titles don't extend beyond background.
741 Menus reposition when the window is repositioned.
742 Default window positions is more accurate.
743 Despike migrated to interpolated keyframes.
744 Level window resets with everything else.
745 Fixed detection of playable tracks error that was introduced with bezier faders.
746 More often plays full audio track instead of truncating it.
747 MPEG decoder supports XVideo better.
748 Going to next and previous label with scrolling refreshes the compositor.
749 Drawing of highlight box when dragging over the timeline is more accurate.
750 Dragging one keyframe beyond another deletes the keyframe like it should.
751 Bezier keyframes may work better than before.
752
753 tracks->get_total_length considers keyframe length as well as edit
754 length.  This allows keyframe undo for regions where no edits exist.
755
756 Update undo routines can be called recursively without corrupting the
757 undo table.
758 Undoing and redoing keyframe adjustments works better.
759
760 Bilinear reduction with alpha channels fixed.
761
762 Memory leak removed from Quicktime udta.
763 Kludge for 88200 samplerate in Quicktime.  Not tested.
764
765
766
767
768
769
770
771
772
773 7/12/02
774
775 Sharpen GUI synchronized to keyframes.
776 Flip video.
777 Freezeframe.
778 Freeverb.
779 Shift interlace.
780 AWindow scrollbars calculated more accurately.
781 Attach when effect is already in slot lets you change the effect.
782 Faders and effect GUI's track playback.
783 More frequent updating of patchbay when scrubbing.
784 Pan automation works.
785 Raw PCM export supports endian changes.
786 All assets are saved during Save File.
787 Keyframing right curves for projector zoom.
788 All paste_edl operations copy all the assets.
789 Camera zoom and projector zoom keyframes are properly generated from CWindow.
790 Better bezier keyframe drawing in CWindow.
791 Default window positions work in KDE, Gnome, and fvwm.
792
793 Can grab control points in CWindow more easily if they're both against
794 the left side.
795
796 Large amout of unused Broadcast 2000 code removed.
797 RecordGUI uses EDL aspect ratio.
798
799 Grabbing control points in CWindow works better.
800 Different colors for curves.
801 Frame advance reverse plays the last frame in the timeline properly.
802 Single frame record.
803 Rendered effects handle transitions.
804
805 Fewer crashes when hiding and showing effects during playback.
806 More macros for plugins.
807 Ganged faders are unaffected with record off.
808
809 Pasting shared effects to different tracks than they were copied from
810 doesn't crash but shared effect resolution will be broken.
811
812 Shift key snaps curve values when dragging curves.
813
814 Documentation buildout.
815
816 Creating a clip in the VWindow doesn't automatically set the VWindow to
817 the new clip.
818
819 Changing asset sample rate works again.
820 List boxes updated in AWindow after changing mode.
821 Interface preferences have options for trimming.
822
823 Copy added to CWindow buttons.  Cut removed from VWindow buttons.
824 Copying always takes session parameters, so it works in VWindow instead
825 of crashing.
826
827 Audio module fragment reduced to support Linux 2.4.18.  Maximum DMA
828 allocation is no longer supported in 2.4.18 so audio fragments must be
829 kept below 4096.
830
831 Units in freeverb changed to DB.
832
833
834
835
836
837
838
839
840
841
842 7/19/02
843
844 libmjpeg works on dual CPU systems finally.  Mutually excludes
845 allocate_temps.  MJPEG files should crash less often.
846
847 Start playback after editing doesn't have noise. Denoise mutes first window.
848
849 Clear plugin GUI after attach changes it to a different plugin.
850
851 DV capture migrated to Linux 2.4.18.
852
853 Freezeframe works better.
854
855 Concatenate tracks works more often.
856
857 When dragging effects, the effect can be positioned at the start of an
858 edit or at the start of a track instead of just at the start of a
859 track.
860
861 More accurate drawing of highlighting.
862
863 ALSA driver migrated to Linux 2.4.18, alsa-0.9.0rc2.
864
865 Render realtime affect doesn't crash when bringing up GUI.
866 Plugin initialization takes proper buffer size.
867 Resource Window starts up with nothing highlighted.
868 Textboxes don't update contents if the contents are identical.
869 Textboxes allow entry and have normal cursor behavior during playback.
870
871 Loading with insertion modes that don't replace the project doesn't
872 change the project filename.
873
874 Curves aren't affected by the cursor when the track isn't armed.
875 Tooltips deleted when widgets are deleted.
876 start_realtime and stop_realtime removed from plugin interface.
877 Memory leaks due to plugins not deleting data reduced.
878
879 Must use -O3 because optimization errors prevent video from playing with -O2.
880
881 Labels in CWindow don't vanish after resize to fullscreen.
882 Undo for transitions.
883
884 Better recording from DV camcorders.
885
886
887
888
889
890
891
892
893
894 7/26/02
895
896 FFT based denoiser.
897 Ogg Vorbis support.
898 Interpolate effect interpolates the start and end sample of a selection.
899 Quicktime ported to Vorbis 1.0
900 Undo detach transition.
901 Fade should cut out at INFINITYGAIN.
902 More accurate waveform drawing of sound files.
903 Dragging end of an edit in doesn't clear the first keyframe of the next edit.
904 Dragging end of an edit out shifts keyframes with it.
905 AgingTV debugged.
906 Changing sample rate of asset has an effect on played output.
907 Reset camera and projector once again resets the zoom curve.
908 U and u key for default transition.  Default transition menu item.
909 VWindow remembers labels and in/out points.
910 Labels updated in CWindow after undo.
911 More intuitive centering on cursor after zooming.
912
913
914
915
916
917
918 7/29/02
919 16 bit color supported again.
920 Apply button in format settings.
921 Fewer crashes when toggling play and mute patches during playback.
922 More locking when record updates the GUI.
923 Better floating point comparison for setting labels.
924 More intuitive scrollbar behavior for timeline.
925 Level window updates when meter range changes.
926 Waveforms drawn after window expansion.
927 Background for RecordGUI.
928 Preview size adjusted after in/out point dragging and silence pasting.
929 More robust handling of Freetype failures in titler.
930 Private font directory for titler.  Should ease renderfarm administration.
931 AWindow background title updated more often.
932 Drop shadow in titler.
933 Compositor overlays translated more accurately when scrollbars are gone.
934 Better handling of scrollbar and tumbler repeating after mousewheel is used.
935 Creating a new project removes the clip reference from VWindow instead of making it crash.
936 Project deletion operations while CWindow or VWindow is playing crash less often.
937 Overlay modes ported to YUV colormodels.
938 8 bit RGB -> 16 bit YUV importing.
939 RGB601 refurbished.
940 Pots debugged.  They might change value with cursor keys now.
941 Bilinear scaling has better clipping for fewer crashes.
942
943
944
945
946
947
948
949
950
951
952
953 8/2/02
954 Titler crash with drop shadow fixed.
955 Titler looping.
956 Render uses in/out points if they exist.
957 More accurate edges in bilinear scaling.
958 Playback termination memory leak removed.
959 Module calls render_stop before deleting the attachmentpoint.
960 Render farm crash fixed.
961 More often terminates recording when no firewire device exists instead
962 of just freezing up.
963 Titler doesn't interpolate any parameters.
964 Old references to real_transition removed from virtual console.
965 Source position in plugin client made relative to start of track.
966
967
968
969
970
971
972
973
974 8/19/02
975 Titler fonts installed by rpm.
976 XMovie decodes ac3 according to redesigned liba52 channel mappings.
977 Quicktime MPEG4 parameters debugged.
978 Gradient effect.
979 Background rendering over a renderfarm.
980 Renderfarm clients automatically reduced to idle priority.
981 Better MJPA decoding on single processors.
982 Better title functionality in 16 bit colormodels.
983 Undo for effect keyframes.
984 Effect GUI's cleared during undo for effect attachment.
985 Fewer lockups on startup.
986 Proper keyframe interpolation in scale effect.
987 Stamp timecode in titler.
988 Memory leak in rendering stages removed.
989 Removed legacy plugin server code.
990 Downsample video resolution.
991 Option to generate sequence header in every GOP for MPEG2.
992 LADSPA support.
993 Listbox doesn't enter drag_icon state when dragging column division.
994 Radial, linear, and zoom blur.
995 Effect rendering bug fixed.
996 64 bit mpeg transport stream seeking beyond 2 gigs.
997 More accurate mask drawing when projector is zoomed.
998 Clear labels updates CWindow
999 More accurate YUV/RGB conversions.
1000 Histogram.
1001 Perspective.
1002 Import partial tga's
1003 Copy keyframes doesn't copy default keyframe.
1004 Track highlighting offset by vertical scroll.
1005 Multiple video scope, spectrogram, and histogram displays may be opened.
1006 HutSaturation in YUV colorspaces.
1007 Undo for masks.
1008
1009
1010
1011
1012 10/13/02
1013 Interpolation of gradient keyframes
1014 libmpeg3 handles case where audio channel count increases in the middle of the stream
1015 Zoom bar redrawn more accurately when time format changes.
1016 More reliable quit of render nodes when master node crashes.
1017 Render doesn't reset brender to 0.
1018 Play keyframes discontinued.
1019 Deleting media from middle of track and pasting to end plays back.
1020 Persistent frame rate statistics stored in render farm.
1021 Flash transition.
1022 Undo for in and out points.
1023
1024
1025
1026 10/19/02
1027 sync_parameters for splice, drag assets on CWindow.
1028 Change asset path updates brender and index file status.
1029 Transition drop on CWindow.
1030 Changing video play patch doesn't freeze brender permanently.
1031 Swap channels generates correct output.
1032 Shared synthesis effects cause the sharing tracks to
1033 play back instead of just the owning track.
1034 Quicktime recovery utility improved.
1035 Memory leaks in FileVorbis::check_sig and AssetPicon::create_objects removed.
1036  - Remove asset from disk removes it more often.
1037 AttachmentPoint::~AttachmentPoint deletes plugin servers.
1038  - For some reason they were originally deleted in render_stop but render_stop
1039    was commented out of Module::~Module.
1040 Drag scroll working for region selections.
1041 Single frame recording with multiple batches doesn't crash.
1042 Sound Level
1043 DV encoding with proper color conversion.
1044
1045
1046
1047
1048
1049
1050
1051
1052 11/08/02
1053
1054 More options for the ffmpeg/MPEG-4 codecs.
1055 Histogram works on SMP.
1056 Proper 16 bit alpha blending.
1057 BRender path updates from preferences.
1058 Separate preroll for background rendering and rendering.
1059 Deinterlace by averaging lines 0 and 2 or 1 and 3 to get intervening lines.
1060 Adaptive deinterlace.
1061 Frame per second statistics in renderfarm are more reliable.
1062 Select and slide in the patchbay.
1063 Video scope can be resized.
1064 Effect keyframes pasted in right positions.
1065 Selective denoising of video based on color channel.
1066
1067
1068
1069 1/12/03
1070
1071 More mouse wheel bindings in MainWindow and ListBox.
1072 Ctrl-w closes effect windows.
1073 Perspective doesn't crash when switching from stretch to sheer.
1074 Better text list searching and keyboard navigation.
1075 Better Vorbis decoding.
1076
1077
1078
1079 2/10/03
1080
1081 Close recording without recording anything doesn't crash.
1082 Save backup now option.
1083 OpenGL not required anymore.
1084 Time format changes update the selection textboxes more often.
1085 MPEG-4 deblocking option in XMovie.
1086 Resize in Record GUI.
1087 Export of YUVA16161616 to Component Y'CbCr 10-bit 4:4:4.
1088 Import of Component Y'CbCr 10-bit 4:4:4 to RGB colorspaces.
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098 2/14/03
1099
1100
1101 Create fade keyframe inadverdently drags bezier handle less often.
1102 Float autos don't draw on right edge of timeline when keyframes are beyond right edge.
1103 Better float auto creation.
1104 Add track anywhere in timeline through track popup.
1105 Shared track references are automatically reconfigured after deleting or adding tracks.
1106 Libmpeg3: Better decoding of field-based MPEG video.
1107 Channels can be moved up or down in the Channel picker properly.
1108 Better handling of the long delay in deleting files without overflowing the recording buffers.
1109 Deinterlace really swaps fields instead of just saying it.
1110 Two line swapping combinations in deinterlace.
1111 Better listbox row sizing.
1112 Downsample offset.
1113 Faster window creation.
1114 Splash screen while you wait for it to start up.
1115 File deletion occurs before opening the driver instead of
1116         after opening the driver for recording.
1117 Changing sample rate of WAV file in Asset window works.
1118 JPEG stills get saved with proper dimensions.
1119 Migrated to RedHat 8.0.
1120  - e2fsprogs-devel is needed to compile the background render object.
1121 Fewer crashes due to OpenDivx global variables getting overwritten.
1122 Paste silence and clipboards also shifts effect keyframes properly.
1123 More checks for circular references in shared effects and shared tracks.
1124 Tracking during audio playback without video doesn't run past edge of loop boundaries.
1125 Better keyframing in Titler.
1126 Multiple language encodings in Titler.
1127 Undo of replace project after an effect works.
1128 Frame -> field conversion does line averaging and pixel shifting.
1129 Field -> frame conversion uses pixel shifting.
1130 Negative cursor selection is frame aligned.
1131 Documentation on video cleaning and deinterlacing tools.
1132 Buttons repositioned properly when filebox is resized vertically.
1133 Fade automation is more accurate.
1134 CWindow and VWindow slider position is less erratic after the window is resized.
1135 Timebars with regions track the playback position.
1136 More workarounds for buz driver lockups.
1137 Dragging the cursor on the timebar off the edges scrolls the timeline.
1138 IVTC uses luminance only in YUV colorspaces to improve accuracy.
1139 Quicktime: Tighter audio synchronization when encoding Quicktime with Vorbis audio.
1140 Start of audio effects is more accurate.
1141 Better IEEE1394 playback of video only.
1142 More IEEE1394 playback options.
1143
1144
1145
1146
1147
1148
1149
1150 A lot of patches were rejected.  Some were accepted.  Most of these
1151 coding practices were done in 1997 but abandonned later because of high
1152 maintenance.  To save code size, the memory leak checker shouldn't flag
1153 single allocations as leaks and static pointers shouldn't be
1154 explicitely deleted on exit.
1155
1156
1157 titler-charsets.diff
1158
1159 merged.
1160
1161
1162 cinelerra-loop-patch*
1163
1164 The bugs in loops and audio positioning were fixed another way.
1165
1166
1167 cursor-patch.diff
1168
1169 Too much maintenance in function indirection with no effect.
1170
1171 Explicit declaration of the movement distance requires too much
1172 maintenance.  The move commands were separated for scalability reasons.
1173
1174
1175
1176 mempatch-2.diff
1177
1178
1179 Units::topower was already static.  Patch has no effect and requires
1180 too much maintenance.
1181
1182
1183 mempatch-3.diff:
1184
1185 DefaultTheme is intended to be replaced by a subclass of BC_Theme and
1186 use BC_Theme for all memory management.  No expansion of this file is
1187 maintainable.
1188
1189 ArrayList::aray_delete was merged.
1190
1191 Changes to BC_Meter, BC_Resources require too much maintainence and
1192 have no effect.
1193
1194 static variables in BC_WindowBase prevent different windows in the same
1195 application from having different fonts.
1196
1197 Deletion of pointers in AWindow, CWindow, VWindow, MWindow requires too
1198 much maintenance.
1199
1200 Buttons in AWindow may be used in the future and should not be deleted.
1201
1202 Buttons in editpanel may be used in the future and should not be deleted.
1203
1204 Selections were replaced by masks.  Deleted from VTrack.
1205
1206
1207
1208
1209
1210
1211
1212 mempatch-5.diff
1213
1214 BC_NewFolderThread expansion done differently.
1215 BC_FileBox widget deletion already done by BC_WindowBase.  Too much code for no effect.
1216 BC_ProgressBar::~BC_ProgressBar() implemented.
1217 BC_Resources changes have no effect.
1218 It's already a static object and if the images were overridden, their BC_Theme class would delete the lists.
1219 BC_WindowBase changes were preemptively rejected.
1220 Canvas::~Canvas merged.
1221 CPanel::~CPanel already done by BC_WindowBase.  Too much code.
1222 CWindowGUI::~CWindowGUI mostly done by BC_WindowBase.
1223 MeterPanel::~MeterPanel merged
1224 Module::create_new_attachments merged
1225 StatusBar::~StatusBar already done by BC_SubWindow.
1226 theme.C too much code.
1227 VirtualConsole::~VirtualConsole introduced too many bugs.
1228 ZoomBar::~ZoomBar partially merged.  Mostly done by BC_SubWindow.
1229 DefaultTheme::DeleteVFrames is done by BC_Theme.
1230 title.C fonts is a static variable because it shouldn't be deleted.
1231
1232
1233
1234
1235 mempatch-6.diff
1236 BC_FileBox done differently.  Lock_window is normally used when updating a GUI from a thread.
1237
1238 mempatch-7.diff
1239 VirtualConsole refurbishment was handled differently.
1240
1241 filevorbis.C asymetric fclose patch applied.
1242
1243
1244
1245
1246
1247
1248
1249 mempatch-9.diff
1250
1251 MWindow::load_filenames memory management applied.
1252 Rest has no effect.
1253
1254 mempatch-10.diff
1255
1256 decode_lock is static because it shouldn't be deleted.
1257 Rest has no effect.
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270 5/16/03
1271
1272 Audio and video playback through firewire.  Can't get a playable
1273 audio stream for the camcorder in realtime but the interface is there.
1274
1275 Quicktime: Libraw1394 and grabbing removed.  Didn't serve any purpose
1276 since  playback requires a completely different mechanism than record.
1277
1278 Quicktime, XMovie, Cinelerra: ffmpeg decoder used in MPEG-4.  This
1279 gives slightly faster playback but is lousy at seeking.
1280
1281 More file writing recovery from crashes.
1282
1283 Cinelerra: Module dereferences renderengine less often in nonrealtime
1284 effects where renderengine is 0.
1285
1286 Quicktime: Importing of dvgrab and lavtools AVI files.
1287 Cinelerra: Hitting space rapidly doesn't lock up recording as much.
1288 Cinelerra: Resize Render effect window.
1289 Cinelerra: Changing parameters for PCM file works more often.
1290
1291 Cinelerra: tiff upgraded to 3.1.7
1292 Firehose: Fixed bug in firehose reciever.
1293 Cinelerra: Virtual file system for renderfarm.
1294  - The filesystem prefix for rendering nodes was decidedly useless so it was
1295 discontinued.
1296 Cinelerra: Time stretch based on overlapping windows instead of FFT.
1297 Cinelerra: Freeze frame has line doubling option.
1298
1299 Integrated mpeg2enc, toolame, lame encoding as libraries.
1300 Toolame refurbishment:
1301  - converted exit to return in main.
1302  - put prototypes in filempeg.h
1303  - created input buffer management.
1304  - forced stdin at all times
1305  - created error and eof variables.
1306  - freq2bark -> toolame_freq2bark
1307 mpeg2enc symbol conflicts:
1308  - putbits -> mpeg2enc_putbits
1309  - SmpFrqIndex -> toolame_SmpFrqIndex
1310  - BitrateIndex -> toolame_BitrateIndex
1311
1312 edit and effect titles stay visible at all times.  We'll see how long
1313 this lasts.
1314
1315 long replaced with int64 wherever possible.  After many years of
1316 assuming long would automatically scale to whatever it was compiled on,
1317 it appears more of a pain than a scalability point in matters of
1318 function overloading.
1319
1320 Default configuration should run on stock Redhat 9.0 system.
1321
1322
1323
1324 Patches:
1325 loop-crush.diff applied
1326 exit-crush.diff too much code for no effect
1327 splash-leak.diff applied
1328 overlay-speedup.diff applied
1329 overlay-speedup2.diff applied
1330 titler-stroke.diff
1331 titler-stroke2.diff applied but disabled due to SMP crash. (crush)
1332         Added Outline style and tumbler.
1333         Reduced number of exits due to bounds checking errors.
1334
1335
1336 quicktime_leak.diff applied
1337 small-clean2.diff file may be closed and reopened without calling destructor.
1338
1339 patchbay_free.diff applied but the real problem was PatchBay::update()
1340         dereferenced non-existent tracks to get the ID.
1341
1342
1343 perspective_alpha_stretch.diff applied
1344 virtualconsole_leak.diff applied but the default destructors seem to be
1345         getting called.
1346 dvlib_bug_workaround.diff applied
1347 debian_new_dvlib_compile.diff applied
1348
1349 multihead_compositor-1.1.5.diff rejected  The X11 parameter in Playback
1350 preferences is the compositor display.
1351
1352 filexml.diff applied
1353 paste-outpoints.diff needs testing
1354
1355 paste-outpoints.diff rejected.  Broke other paste behavior.  The paste
1356 behavior is not a uniform case but the result of trying behaviors on a
1357 case by case basis and deciding which behavior is the most convenient.
1358 Most of the time what's convenient is not the most scientific.
1359
1360
1361
1362
1363
1364
1365