r870: Merge 2.1:
[cinelerra_cv.git] / cinelerra / CHANGELOG
blobcf9c086a261fb079f21acc93ca83429593d9f45b
1 11/7/01
3 Mask feathering and value implemented.  Crash bug in
4 CWindowMaskGUI::get_keyframe fixed.
10 11/22/01
12 Removed memory leak in VirtualConsole.  Another case of base destructor
13 calling base methods only.
15 Time average finally implemented. Deinterlace implemented.
17 Translation in screencapture recording implemented.
19 AVI parameter editing box.
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.
25 Batches can be moved up and down the list.
31 12/6/01
33 OpenDIVX debugging:
35 Fixed bugs in decore2: *run = *last = -1; was not copied over from
36 encore50.
38 Rewrote bitstream parser in encore2 and decore2 to be more reliable.
40 Disabled MMX due to crashes in Redhat 7.2.
42 Discovered decore2 can't do P frames so switched back to decore50.
44 Renamed header files, symbols to all
45 in the same program.
47 Renamed more symbols in mpeg2enc to coexist with opendivx.
49 To make encore2 work on 64 bit processors:
51 Typecasted offsets in CompensateBlock and get_ref to (int)
53 Decore50 still not functional on 64 bit processors.
58 Implemeneted PNG list output.  Debugged list output and input.
60 Configuration dialog for OpenDivx in Cinelerra migrated from encore50
61 to encore2.
63 Configuration dialog for Vorbis and Vorbis export to Quicktime.
65 Can use shift-R to render.
67 DV encoding implemented.  The last libdv library only supported MMX and
68 B&W.
73 12/16/01
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.
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.
83 Direct copy rendering for OpenDivx so output of the renderfarm can be
84 direct copied into a single file.
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.
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.
95 Cinelerra daemon forks to background.  Made assets export more
96 compression parameters to render nodes.
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.
109 12/22/01
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.
116 To make Vorbis work on 64 bit processors:
118 change sizeof(int) to sizeof(int*) in lib/floor1.c: 263
120 Menu effects can paste into the timeline.
122 Changes in label handling when pasting resources.
124 Statusbar and zoombar resizing restored.
126 Implemented code to move plugin sets up and down a level.
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.
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.
143 12/28/01
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.
148 Floating point exceptions in the following places were fixable with
149 certain changes:
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
155 Defining VORBIS_IEEE_FLOAT32 seemed to fix mapping0 crashes so the
156 preceeding changes were backed out.
158 Loading XML files with multiple video tracks works better.
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.
170 1/4/02
172 Credit for official Microsoft software even though there isn't any
173 official Microsoft software. 
175 Records to DV again but not under kernels after 2.4.7.  
177 New audio effects:
178 Tone generator
179 Reverse audio
180 Delay audio
182 3rd attempt to improve main window scrollbars.
189 1/11/02
191 New video effects:
192 Delay video
193 Reverse video
194 Swap channels
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
205 Frequency table expanded in Units.  This uses real 1/3 octave steps.
207 Flipped U and V in opendivx encoder so it conforms to YUV order on
208 disk.
210 Reconfiguration during audio rendering reenabled.
212 Constitutive reconfiguration for video turned off.  This was used to
213 debug the memory leaks.
215 Icon for Normalize.  Tone generator improvement.
221 1/18/02
223 New audio effects:
224 Compressor
227 New video effects:
228 Denoise
229 Frame to field conversion
230 Field to frame conversion
231 Reframe
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.
237 Optimized time average.
242 1/25/02
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.
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
264 New audio effect:
265 Invert audio
273 2/1/02
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.
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.
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.
303 Final stage of titling implementation.
304 Chromakey and lumakey
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.
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.
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.
331 Rectangle selection in asset window.  The heroine background was
332 lightened but mind you, the heroine background is a permanent feature.
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.
343 new video transitions:
344 bandslide
345 bandwipe
346 slide
347 wipe
348 irissquare
356 2/22/02
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.
362 Assets and effects are now sortable in the Resource window.  Text
363 displays aren't corrupted as much.
365 Certain EDL load operations honor the labels follow edits setting and
366 certain load operations insert labels constitutively.
368 Width and height of tracks load properly.  Adjustments to track width
369 and height render more often.
371 Playback automation always restored from undos.
373 Improved tracking when every frame is played.  Smooth scrolling during
374 playback is now supported.
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.
392 3/1/02
394 In/Out clearing crashes less and works better.
396 Removed IPC modeled semaphores.  Now no IPC stubs are left after a crash.
398 Rendering nodes and recording batches can be individually toggled.
400 Buz driver refurbished.  No longer requires kernel hacks to change channels.
402 Motion JPEG compression library debugged further.  Less corruption.
404 Playback through Buz driver enabled.  Now adjust color correction and see
405 it on a monitor.
407 Playback of video through Firewire implemented.  Still not functional.
409 YUV 4:2:0 Planar -> YUV 4:2:2 Planar color conversion
411 Renderengine retools the playback configuration for every command instead of
412 every EDL change.
414 Integrated IA-32 assembly language jpeg library.
422 3/15/02
424 Enabled assembly language routines in jpeg library.  Added swap fields
425 option to Buz output driver.
427 YUV overlay reenabled.  Only works on commercial NVidia drivers.
429 Libmpeg3 reads transport streams again.
431 Dissolve debugged further.
433 Moving out guicast images.  Implementing defaulttheme and microtheme.
446 3/22/02
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.
465 4/5/02
467 Re-enabled configurable preloading in Quicktime since moov atoms larger
468 than 2 M were setting the preload too high.
470 Frame to field copies two fields into the output instead of line
471 doubling one field.
473 Tightened synchronization during recording startup.
475 CWindow and VWindow timebars implemented.
476 Timebars in CWindow and VWindow allow a region to be selected for
477 previewing.
479 Debugged configuration updates in Synthesizer and Parametric EQ.
481 Extra redundancies in the jpeg library enabled to get IA-32 assembly
482 working.
484 Time average is absolute.
486 Keybindings and icons for In/Out points changed.
488 Bezier keyframes less than 10 frames apart don't freeze the CWindow.
490 Clearing puts the cursor at the in point when using in/out points.
492 Camera translation from the exact top of a frame to less than the full
493 height really translates instead of squishing.
495 Reenabled background_pixmap in TrackCanvas to allow faster overlay drawing.
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.
501 Loop region loads right.
503 Pan images aren't corrupted anymore.
505 Clips created when no region is selected take the entire EDL now.
507 Parametric EQ reenabled.
509 Shared effects work again when deleted.
511 Multiple effects per effect row load properly again.
513 Jumping to next and prev label from CWindow doesn't lock up when playing back.
515 Instead of synchronizing the absolute position of each fader, the gang
516 option now changes the relative position of each fader.
518 Slider tooltips always update before being shown instead of showing
519 obsolete data.
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.
525 Busy wait removed from repeater finally.
526 Prepared settings menu for addition of plugin editing option.
528 Began first stage of Microsoft AVI importer for Quicktime.
535 4/19/02
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.
549 Zoombar clamps more selection values.
556 5/3/02
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.
582 5/10/02
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.
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.
604 Mix2000 update for mouse wheel.
610 5/17/02
612 Pulling the official MICROSOFT mouse wheel back zooms out the CWindow
613 when using the zoom tool.
615 Brought back the last reflection level in Heroine College Concert Hall
616 since backwards reverb seems to be popular.
618 Paste automation resampling implemented.
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.
625 Dragging asset into VWindow updates the timebar.
627 Shifting effect handles works better.  Disabled checks not important to
628 effects.
630 TIFF and TGA I/O with image sequences.
632 Reenabled alpha blending.
634 Got rid of row_table[i] reference in cmodel_permutation output subscript.
636 Decompression of YUV 4:4:4 JPEG.
644 6/10/02
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.
655 Shrank threshold in equivalency tests.  It was catching the wrong
656 in/out points.
658 Made FloatAutos store bezier curve information.
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.
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.
672 Shifting out point in doesn't delete transitions.
674 Paste should extend effects when the clipboard has no effects and should
675 overwrite effects when the clipboard has effects.
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.
681 Dragging an effect from one track to a zero length track retains the length
682 of the effect instead of crashing.
684 Dragging an effect from the Resource Window onto a zero length track doesn't
685 insert the effect on the track.
693 6/14/02
695 Bilinear interpolation from Broadcast 2000 migrated over.  This
696 averaged more pixels than the standard bilinear interpolation we
697 upgraded to in 2000.
699 Mutual exclusion lock for liba52 since liba52 can't run two frame
700 decodes simultaneously.
702 Removed double lock from Heroine College Concert Hall.
704 Correctly detects playable tracks more often.
706 Bezier curves for fade and zoom.
708 64 bit mpeg file support.  XMovie plays 64 bit mpeg files.
710 Variable channel numbers work finally.  Audio pans adjust when channel
711 count changes.
713 DV encoding in color works slightly better but still corrupted on the
714 right side.  The libdv upgrade can't decode of course.
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.
726 Mind you everything except cinelerra and plugins will remain
727 independant of each other.
729 While it may work for servers ext3 isn't suitable for desktops which
730 are constantly shut down and restarted.
734 6/21/02
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.
753 tracks->get_total_length considers keyframe length as well as edit
754 length.  This allows keyframe undo for regions where no edits exist.
756 Update undo routines can be called recursively without corrupting the
757 undo table.
758 Undoing and redoing keyframe adjustments works better.
760 Bilinear reduction with alpha channels fixed.
762 Memory leak removed from Quicktime udta.
763 Kludge for 88200 samplerate in Quicktime.  Not tested.
773 7/12/02
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.
793 Can grab control points in CWindow more easily if they're both against
794 the left side.
796 Large amout of unused Broadcast 2000 code removed.
797 RecordGUI uses EDL aspect ratio.
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.
805 Fewer crashes when hiding and showing effects during playback.
806 More macros for plugins.
807 Ganged faders are unaffected with record off.
809 Pasting shared effects to different tracks than they were copied from
810 doesn't crash but shared effect resolution will be broken.
812 Shift key snaps curve values when dragging curves.
814 Documentation buildout.
816 Creating a clip in the VWindow doesn't automatically set the VWindow to
817 the new clip.
819 Changing asset sample rate works again.
820 List boxes updated in AWindow after changing mode.
821 Interface preferences have options for trimming.
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.
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.
831 Units in freeverb changed to DB.
842 7/19/02
844 libmjpeg works on dual CPU systems finally.  Mutually excludes
845 allocate_temps.  MJPEG files should crash less often.
847 Start playback after editing doesn't have noise. Denoise mutes first window.
849 Clear plugin GUI after attach changes it to a different plugin.
851 DV capture migrated to Linux 2.4.18.
853 Freezeframe works better.
855 Concatenate tracks works more often.
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.
861 More accurate drawing of highlighting.
863 ALSA driver migrated to Linux 2.4.18, alsa-0.9.0rc2.
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.
871 Loading with insertion modes that don't replace the project doesn't
872 change the project filename.
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.
879 Must use -O3 because optimization errors prevent video from playing with -O2.
881 Labels in CWindow don't vanish after resize to fullscreen.
882 Undo for transitions.
884 Better recording from DV camcorders.
894 7/26/02
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.
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.
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.
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.
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.
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.
1052 11/08/02
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.
1069 1/12/03
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.
1079 2/10/03
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.
1098 2/14/03
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.
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.
1157 titler-charsets.diff
1159 merged.
1162 cinelerra-loop-patch*
1164 The bugs in loops and audio positioning were fixed another way.
1167 cursor-patch.diff
1169 Too much maintenance in function indirection with no effect.
1171 Explicit declaration of the movement distance requires too much
1172 maintenance.  The move commands were separated for scalability reasons.
1176 mempatch-2.diff
1179 Units::topower was already static.  Patch has no effect and requires
1180 too much maintenance.
1183 mempatch-3.diff:
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.
1189 ArrayList::aray_delete was merged.
1191 Changes to BC_Meter, BC_Resources require too much maintainence and
1192 have no effect.
1194 static variables in BC_WindowBase prevent different windows in the same
1195 application from having different fonts.
1197 Deletion of pointers in AWindow, CWindow, VWindow, MWindow requires too 
1198 much maintenance.
1200 Buttons in AWindow may be used in the future and should not be deleted.
1202 Buttons in editpanel may be used in the future and should not be deleted.
1204 Selections were replaced by masks.  Deleted from VTrack.
1212 mempatch-5.diff
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.
1235 mempatch-6.diff
1236 BC_FileBox done differently.  Lock_window is normally used when updating a GUI from a thread.
1238 mempatch-7.diff
1239 VirtualConsole refurbishment was handled differently.
1241 filevorbis.C asymetric fclose patch applied.
1249 mempatch-9.diff
1251 MWindow::load_filenames memory management applied.
1252 Rest has no effect.
1254 mempatch-10.diff
1256 decode_lock is static because it shouldn't be deleted.
1257 Rest has no effect.
1270 5/16/03
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.
1275 Quicktime: Libraw1394 and grabbing removed.  Didn't serve any purpose
1276 since  playback requires a completely different mechanism than record.
1278 Quicktime, XMovie, Cinelerra: ffmpeg decoder used in MPEG-4.  This
1279 gives slightly faster playback but is lousy at seeking.
1281 More file writing recovery from crashes.
1283 Cinelerra: Module dereferences renderengine less often in nonrealtime
1284 effects where renderengine is 0.
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.
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.
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
1312 edit and effect titles stay visible at all times.  We'll see how long
1313 this lasts.
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.
1320 Default configuration should run on stock Redhat 9.0 system.
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.
1336 quicktime_leak.diff applied
1337 small-clean2.diff file may be closed and reopened without calling destructor.
1339 patchbay_free.diff applied but the real problem was PatchBay::update() 
1340         dereferenced non-existent tracks to get the ID.
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
1349 multihead_compositor-1.1.5.diff rejected  The X11 parameter in Playback
1350 preferences is the compositor display.
1352 filexml.diff applied
1353 paste-outpoints.diff needs testing
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.