devel Makefile fix, prefs appearance tab/rework, picon stratigy, edl path fix, change...
authorGood Guy <good1.2guy@gmail.com>
Fri, 28 Jul 2017 23:03:44 +0000 (17:03 -0600)
committerGood Guy <good1.2guy@gmail.com>
Fri, 28 Jul 2017 23:03:44 +0000 (17:03 -0600)
248 files changed:
cinelerra-5.1/Makefile.devel
cinelerra-5.1/cinelerra/Makefile
cinelerra-5.1/cinelerra/aboutprefs.C
cinelerra-5.1/cinelerra/appearanceprefs.C [new file with mode: 0644]
cinelerra-5.1/cinelerra/appearanceprefs.h [new file with mode: 0644]
cinelerra-5.1/cinelerra/appearanceprefs.inc [new file with mode: 0644]
cinelerra-5.1/cinelerra/awindowgui.C
cinelerra-5.1/cinelerra/interfaceprefs.C
cinelerra-5.1/cinelerra/interfaceprefs.h
cinelerra-5.1/cinelerra/interfaceprefs.inc
cinelerra-5.1/cinelerra/mwindow.inc
cinelerra-5.1/cinelerra/performanceprefs.C
cinelerra-5.1/cinelerra/performanceprefs.h
cinelerra-5.1/cinelerra/performanceprefs.inc
cinelerra-5.1/cinelerra/pluginserver.C
cinelerra-5.1/cinelerra/preferences.C
cinelerra-5.1/cinelerra/preferencesthread.C
cinelerra-5.1/cinelerra/preferencesthread.h
cinelerra-5.1/guicast/filesystem.C
cinelerra-5.1/plugin_config
cinelerra-5.1/plugins/1080to480/picon_smoother.png [moved from cinelerra-5.1/plugins/1080to480/picon.png with 100% similarity]
cinelerra-5.1/plugins/1080to540/picon_original.png [moved from cinelerra-5.1/plugins/1080to540/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/1080to540/picon_smoother.png [moved from cinelerra-5.1/plugins/1080to540/picon.png with 100% similarity]
cinelerra-5.1/plugins/720to480/picon_smoother.png [moved from cinelerra-5.1/plugins/720to480/picon.png with 100% similarity]
cinelerra-5.1/plugins/C41/picon_original.png [moved from cinelerra-5.1/plugins/C41/picon.png with 100% similarity]
cinelerra-5.1/plugins/C41/picon_smoother.png [moved from cinelerra-5.1/plugins/C41/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/aging/picon_original.png [moved from cinelerra-5.1/plugins/aging/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/aging/picon_smoother.png [moved from cinelerra-5.1/plugins/aging/picon.png with 100% similarity]
cinelerra-5.1/plugins/audioscope/picon_smoother.png [moved from cinelerra-5.1/plugins/audioscope/picon.png with 100% similarity]
cinelerra-5.1/plugins/bandslide/picon_original.png [moved from cinelerra-5.1/plugins/bandslide/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/bandslide/picon_smoother.png [moved from cinelerra-5.1/plugins/bandslide/picon.png with 100% similarity]
cinelerra-5.1/plugins/bandwipe/picon_original.png [moved from cinelerra-5.1/plugins/bandwipe/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/bandwipe/picon_smoother.png [moved from cinelerra-5.1/plugins/bandwipe/picon.png with 100% similarity]
cinelerra-5.1/plugins/bluebanana/picon_original.png [moved from cinelerra-5.1/plugins/bluebanana/picon.png with 100% similarity]
cinelerra-5.1/plugins/bluebanana/picon_smoother.png [moved from cinelerra-5.1/plugins/bluebanana/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/blur/picon_original.png [moved from cinelerra-5.1/plugins/blur/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/blur/picon_smoother.png [moved from cinelerra-5.1/plugins/blur/picon.png with 100% similarity]
cinelerra-5.1/plugins/blurzoom/picon_original.png [moved from cinelerra-5.1/plugins/blurzoom/picon.png with 100% similarity]
cinelerra-5.1/plugins/blurzoom/picon_smoother.png [moved from cinelerra-5.1/plugins/blurzoom/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/brightness/picon_original.png [moved from cinelerra-5.1/plugins/brightness/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/brightness/picon_smoother.png [moved from cinelerra-5.1/plugins/brightness/picon.png with 100% similarity]
cinelerra-5.1/plugins/burn/picon_original.png [moved from cinelerra-5.1/plugins/burn/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/burn/picon_smoother.png [moved from cinelerra-5.1/plugins/burn/picon.png with 100% similarity]
cinelerra-5.1/plugins/cdripper/picon_smoother.png [moved from cinelerra-5.1/plugins/cdripper/picon.png with 100% similarity]
cinelerra-5.1/plugins/chromakey/picon_original.png [moved from cinelerra-5.1/plugins/chromakey/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/chromakey/picon_smoother.png [moved from cinelerra-5.1/plugins/chromakey/picon.png with 100% similarity]
cinelerra-5.1/plugins/chromakeyhsv/picon_original.png [moved from cinelerra-5.1/plugins/chromakeyhsv/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/chromakeyhsv/picon_smoother.png [moved from cinelerra-5.1/plugins/chromakeyhsv/picon.png with 100% similarity]
cinelerra-5.1/plugins/color3way/picon_smoother.png [moved from cinelerra-5.1/plugins/color3way/picon.png with 100% similarity]
cinelerra-5.1/plugins/colorbalance/picon_original.png [moved from cinelerra-5.1/plugins/colorbalance/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/colorbalance/picon_smoother.png [moved from cinelerra-5.1/plugins/colorbalance/picon.png with 100% similarity]
cinelerra-5.1/plugins/compressor/picon_original.png [moved from cinelerra-5.1/plugins/compressor/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/compressor/picon_smoother.png [moved from cinelerra-5.1/plugins/compressor/picon.png with 100% similarity]
cinelerra-5.1/plugins/crikey/picon_smoother.png [moved from cinelerra-5.1/plugins/crikey/picon.png with 100% similarity]
cinelerra-5.1/plugins/crossfade/picon_original.png [moved from cinelerra-5.1/plugins/crossfade/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/crossfade/picon_smoother.png [moved from cinelerra-5.1/plugins/crossfade/picon.png with 100% similarity]
cinelerra-5.1/plugins/dcoffset/picon_smoother.png [moved from cinelerra-5.1/plugins/dcoffset/picon.png with 100% similarity]
cinelerra-5.1/plugins/decimate/picon_original.png [moved from cinelerra-5.1/plugins/decimate/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/decimate/picon_smoother.png [moved from cinelerra-5.1/plugins/decimate/picon.png with 100% similarity]
cinelerra-5.1/plugins/deinterlace-cv/picon_smoother.png [moved from cinelerra-5.1/plugins/deinterlace-cv/picon.png with 100% similarity]
cinelerra-5.1/plugins/deinterlace/picon_original.png [moved from cinelerra-5.1/plugins/deinterlace/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/deinterlace/picon_smoother.png [moved from cinelerra-5.1/plugins/deinterlace/picon.png with 100% similarity]
cinelerra-5.1/plugins/delayaudio/picon_original.png [moved from cinelerra-5.1/plugins/delayaudio/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/delayaudio/picon_smoother.png [moved from cinelerra-5.1/plugins/delayaudio/picon.png with 100% similarity]
cinelerra-5.1/plugins/delayvideo/picon_original.png [moved from cinelerra-5.1/plugins/delayvideo/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/delayvideo/picon_smoother.png [moved from cinelerra-5.1/plugins/delayvideo/picon.png with 100% similarity]
cinelerra-5.1/plugins/denoise/picon_original.png [moved from cinelerra-5.1/plugins/denoise/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/denoise/picon_smoother.png [moved from cinelerra-5.1/plugins/denoise/picon.png with 100% similarity]
cinelerra-5.1/plugins/denoisefft/picon_original.png [moved from cinelerra-5.1/plugins/denoisefft/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/denoisefft/picon_smoother.png [moved from cinelerra-5.1/plugins/denoisefft/picon.png with 100% similarity]
cinelerra-5.1/plugins/denoisemjpeg/picon_original.png [moved from cinelerra-5.1/plugins/denoisemjpeg/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/denoisemjpeg/picon_smoother.png [moved from cinelerra-5.1/plugins/denoisemjpeg/picon.png with 100% similarity]
cinelerra-5.1/plugins/denoiseseltempavg/picon_original.png [moved from cinelerra-5.1/plugins/denoiseseltempavg/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/denoiseseltempavg/picon_smoother.png [moved from cinelerra-5.1/plugins/denoiseseltempavg/picon.png with 100% similarity]
cinelerra-5.1/plugins/denoisevideo/picon_original.png [moved from cinelerra-5.1/plugins/denoisevideo/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/denoisevideo/picon_smoother.png [moved from cinelerra-5.1/plugins/denoisevideo/picon.png with 100% similarity]
cinelerra-5.1/plugins/despike/picon_original.png [moved from cinelerra-5.1/plugins/despike/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/despike/picon_smoother.png [moved from cinelerra-5.1/plugins/despike/picon.png with 100% similarity]
cinelerra-5.1/plugins/diffkey/picon_original.png [moved from cinelerra-5.1/plugins/diffkey/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/diffkey/picon_smoother.png [moved from cinelerra-5.1/plugins/diffkey/picon.png with 100% similarity]
cinelerra-5.1/plugins/dissolve/picon_original.png [moved from cinelerra-5.1/plugins/dissolve/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/dissolve/picon_smoother.png [moved from cinelerra-5.1/plugins/dissolve/picon.png with 100% similarity]
cinelerra-5.1/plugins/dot/picon_original.png [moved from cinelerra-5.1/plugins/dot/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/dot/picon_smoother.png [moved from cinelerra-5.1/plugins/dot/picon.png with 100% similarity]
cinelerra-5.1/plugins/downsample/picon_original.png [moved from cinelerra-5.1/plugins/downsample/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/downsample/picon_smoother.png [moved from cinelerra-5.1/plugins/downsample/picon.png with 100% similarity]
cinelerra-5.1/plugins/echo/picon_smoother.png [moved from cinelerra-5.1/plugins/echo/picon.png with 100% similarity]
cinelerra-5.1/plugins/echocancel/picon_smoother.png [moved from cinelerra-5.1/plugins/echocancel/picon.png with 100% similarity]
cinelerra-5.1/plugins/edge/picon_smoother.png [moved from cinelerra-5.1/plugins/edge/picon.png with 100% similarity]
cinelerra-5.1/plugins/fieldframe/picon_original.png [moved from cinelerra-5.1/plugins/fieldframe/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/fieldframe/picon_smoother.png [moved from cinelerra-5.1/plugins/fieldframe/picon.png with 100% similarity]
cinelerra-5.1/plugins/findobject/picon_smoother.png [moved from cinelerra-5.1/plugins/findobject/picon.png with 100% similarity]
cinelerra-5.1/plugins/flash/picon_original.png [moved from cinelerra-5.1/plugins/flash/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/flash/picon_smoother.png [moved from cinelerra-5.1/plugins/flash/picon.png with 100% similarity]
cinelerra-5.1/plugins/flip/picon_original.png [moved from cinelerra-5.1/plugins/flip/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/flip/picon_smoother.png [moved from cinelerra-5.1/plugins/flip/picon.png with 100% similarity]
cinelerra-5.1/plugins/framefield/picon_original.png [moved from cinelerra-5.1/plugins/framefield/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/framefield/picon_smoother.png [moved from cinelerra-5.1/plugins/framefield/picon.png with 100% similarity]
cinelerra-5.1/plugins/freeverb/picon_original.png [moved from cinelerra-5.1/plugins/freeverb/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/freeverb/picon_smoother.png [moved from cinelerra-5.1/plugins/freeverb/picon.png with 100% similarity]
cinelerra-5.1/plugins/freezeframe/picon_original.png [moved from cinelerra-5.1/plugins/freezeframe/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/freezeframe/picon_smoother.png [moved from cinelerra-5.1/plugins/freezeframe/picon.png with 100% similarity]
cinelerra-5.1/plugins/gain/picon_original.png [moved from cinelerra-5.1/plugins/gain/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/gain/picon_smoother.png [moved from cinelerra-5.1/plugins/gain/picon.png with 100% similarity]
cinelerra-5.1/plugins/gamma/picon_original.png [moved from cinelerra-5.1/plugins/gamma/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/gamma/picon_smoother.png [moved from cinelerra-5.1/plugins/gamma/picon.png with 100% similarity]
cinelerra-5.1/plugins/gradient/picon_original.png [moved from cinelerra-5.1/plugins/gradient/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/gradient/picon_smoother.png [moved from cinelerra-5.1/plugins/gradient/picon.png with 100% similarity]
cinelerra-5.1/plugins/graphic/picon_original.png [moved from cinelerra-5.1/plugins/graphic/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/graphic/picon_smoother.png [moved from cinelerra-5.1/plugins/graphic/picon.png with 100% similarity]
cinelerra-5.1/plugins/greycstoration/picon_smoother.png [moved from cinelerra-5.1/plugins/greycstoration/picon.png with 100% similarity]
cinelerra-5.1/plugins/histogram/picon_original.png [moved from cinelerra-5.1/plugins/histogram/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/histogram/picon_smoother.png [moved from cinelerra-5.1/plugins/histogram/picon.png with 100% similarity]
cinelerra-5.1/plugins/histogram_bezier/picon_smoother.png [moved from cinelerra-5.1/plugins/histogram_bezier/picon.png with 100% similarity]
cinelerra-5.1/plugins/holo/picon_original.png [moved from cinelerra-5.1/plugins/holo/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/holo/picon_smoother.png [moved from cinelerra-5.1/plugins/holo/picon.png with 100% similarity]
cinelerra-5.1/plugins/huesaturation/picon_original.png [moved from cinelerra-5.1/plugins/huesaturation/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/huesaturation/picon_smoother.png [moved from cinelerra-5.1/plugins/huesaturation/picon.png with 100% similarity]
cinelerra-5.1/plugins/interpolate/picon_original.png [moved from cinelerra-5.1/plugins/interpolate/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/interpolate/picon_smoother.png [moved from cinelerra-5.1/plugins/interpolate/picon.png with 100% similarity]
cinelerra-5.1/plugins/interpolateall/picon_smoother.png [moved from cinelerra-5.1/plugins/interpolateall/picon.png with 100% similarity]
cinelerra-5.1/plugins/interpolateaudio/picon_original.png [moved from cinelerra-5.1/plugins/interpolateaudio/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/interpolateaudio/picon_smoother.png [moved from cinelerra-5.1/plugins/interpolateaudio/picon.png with 100% similarity]
cinelerra-5.1/plugins/interpolatevideo/picon_original.png [moved from cinelerra-5.1/plugins/interpolatevideo/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/interpolatevideo/picon_smoother.png [moved from cinelerra-5.1/plugins/interpolatevideo/picon.png with 100% similarity]
cinelerra-5.1/plugins/invertaudio/picon_original.png [moved from cinelerra-5.1/plugins/invertaudio/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/invertaudio/picon_smoother.png [moved from cinelerra-5.1/plugins/invertaudio/picon.png with 100% similarity]
cinelerra-5.1/plugins/invertvideo/picon_original.png [moved from cinelerra-5.1/plugins/invertvideo/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/invertvideo/picon_smoother.png [moved from cinelerra-5.1/plugins/invertvideo/picon.png with 100% similarity]
cinelerra-5.1/plugins/irissquare/picon_original.png [moved from cinelerra-5.1/plugins/irissquare/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/irissquare/picon_smoother.png [moved from cinelerra-5.1/plugins/irissquare/picon.png with 100% similarity]
cinelerra-5.1/plugins/ivtc/picon_original.png [moved from cinelerra-5.1/plugins/ivtc/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/ivtc/picon_smoother.png [moved from cinelerra-5.1/plugins/ivtc/picon.png with 100% similarity]
cinelerra-5.1/plugins/lens/picon_original.png [moved from cinelerra-5.1/plugins/lens/picon.png with 100% similarity]
cinelerra-5.1/plugins/lens/picon_smoother.png [moved from cinelerra-5.1/plugins/lens/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/level/picon_original.png [moved from cinelerra-5.1/plugins/level/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/level/picon_smoother.png [moved from cinelerra-5.1/plugins/level/picon.png with 100% similarity]
cinelerra-5.1/plugins/linearblur/picon_original.png [moved from cinelerra-5.1/plugins/linearblur/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/linearblur/picon_smoother.png [moved from cinelerra-5.1/plugins/linearblur/picon.png with 100% similarity]
cinelerra-5.1/plugins/liveaudio/picon_original.png [moved from cinelerra-5.1/plugins/liveaudio/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/liveaudio/picon_smoother.png [moved from cinelerra-5.1/plugins/liveaudio/picon.png with 100% similarity]
cinelerra-5.1/plugins/livevideo/picon_original.png [moved from cinelerra-5.1/plugins/livevideo/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/livevideo/picon_smoother.png [moved from cinelerra-5.1/plugins/livevideo/picon.png with 100% similarity]
cinelerra-5.1/plugins/loopaudio/picon_original.png [moved from cinelerra-5.1/plugins/loopaudio/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/loopaudio/picon_smoother.png [moved from cinelerra-5.1/plugins/loopaudio/picon.png with 100% similarity]
cinelerra-5.1/plugins/loopvideo/picon_original.png [moved from cinelerra-5.1/plugins/loopvideo/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/loopvideo/picon_smoother.png [moved from cinelerra-5.1/plugins/loopvideo/picon.png with 100% similarity]
cinelerra-5.1/plugins/motion-cv/picon_smoother.png [moved from cinelerra-5.1/plugins/motion-cv/picon.png with 100% similarity]
cinelerra-5.1/plugins/motion-hv/picon_original.png [moved from cinelerra-5.1/plugins/motion-hv/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/motion-hv/picon_smoother.png [moved from cinelerra-5.1/plugins/motion-hv/picon.png with 100% similarity]
cinelerra-5.1/plugins/motion/picon_original.png [moved from cinelerra-5.1/plugins/motion/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/motion/picon_smoother.png [moved from cinelerra-5.1/plugins/motion/picon.png with 100% similarity]
cinelerra-5.1/plugins/motion2point/picon_smoother.png [moved from cinelerra-5.1/plugins/motion2point/picon.png with 100% similarity]
cinelerra-5.1/plugins/motion51/picon_smoother.png [moved from cinelerra-5.1/plugins/motion51/picon.png with 100% similarity]
cinelerra-5.1/plugins/motionblur/picon_original.png [moved from cinelerra-5.1/plugins/motionblur/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/motionblur/picon_smoother.png [moved from cinelerra-5.1/plugins/motionblur/picon.png with 100% similarity]
cinelerra-5.1/plugins/normalize/picon_original.png [moved from cinelerra-5.1/plugins/normalize/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/normalize/picon_smoother.png [moved from cinelerra-5.1/plugins/normalize/picon.png with 100% similarity]
cinelerra-5.1/plugins/oilpainting/picon_original.png [moved from cinelerra-5.1/plugins/oilpainting/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/oilpainting/picon_smoother.png [moved from cinelerra-5.1/plugins/oilpainting/picon.png with 100% similarity]
cinelerra-5.1/plugins/overlay/picon_original.png [moved from cinelerra-5.1/plugins/overlay/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/overlay/picon_smoother.png [moved from cinelerra-5.1/plugins/overlay/picon.png with 100% similarity]
cinelerra-5.1/plugins/overlayaudio/picon_original.png [moved from cinelerra-5.1/plugins/overlayaudio/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/overlayaudio/picon_smoother.png [moved from cinelerra-5.1/plugins/overlayaudio/picon.png with 100% similarity]
cinelerra-5.1/plugins/parametric/picon_original.png [moved from cinelerra-5.1/plugins/parametric/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/parametric/picon_smoother.png [moved from cinelerra-5.1/plugins/parametric/picon.png with 100% similarity]
cinelerra-5.1/plugins/perspective/picon_original.png [moved from cinelerra-5.1/plugins/perspective/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/perspective/picon_smoother.png [moved from cinelerra-5.1/plugins/perspective/picon.png with 100% similarity]
cinelerra-5.1/plugins/photoscale/picon_smoother.png [moved from cinelerra-5.1/plugins/photoscale/picon.png with 100% similarity]
cinelerra-5.1/plugins/piano/picon_smoother.png [moved from cinelerra-5.1/plugins/piano/picon.png with 100% similarity]
cinelerra-5.1/plugins/pitch/picon_original.png [moved from cinelerra-5.1/plugins/pitch/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/pitch/picon_smoother.png [moved from cinelerra-5.1/plugins/pitch/picon.png with 100% similarity]
cinelerra-5.1/plugins/polar/picon_original.png [moved from cinelerra-5.1/plugins/polar/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/polar/picon_smoother.png [moved from cinelerra-5.1/plugins/polar/picon.png with 100% similarity]
cinelerra-5.1/plugins/radialblur/picon_original.png [moved from cinelerra-5.1/plugins/radialblur/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/radialblur/picon_smoother.png [moved from cinelerra-5.1/plugins/radialblur/picon.png with 100% similarity]
cinelerra-5.1/plugins/reframe/picon_original.png [moved from cinelerra-5.1/plugins/reframe/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/reframe/picon_smoother.png [moved from cinelerra-5.1/plugins/reframe/picon.png with 100% similarity]
cinelerra-5.1/plugins/reframert/picon_original.png [moved from cinelerra-5.1/plugins/reframert/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/reframert/picon_smoother.png [moved from cinelerra-5.1/plugins/reframert/picon.png with 100% similarity]
cinelerra-5.1/plugins/removegaps/picon_smoother.png [moved from cinelerra-5.1/plugins/removegaps/picon.png with 100% similarity]
cinelerra-5.1/plugins/reroute/picon_original.png [moved from cinelerra-5.1/plugins/reroute/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/reroute/picon_smoother.png [moved from cinelerra-5.1/plugins/reroute/picon.png with 100% similarity]
cinelerra-5.1/plugins/resample/picon_original.png [moved from cinelerra-5.1/plugins/resample/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/resample/picon_smoother.png [moved from cinelerra-5.1/plugins/resample/picon.png with 100% similarity]
cinelerra-5.1/plugins/resamplert/picon_smoother.png [moved from cinelerra-5.1/plugins/resamplert/picon.png with 100% similarity]
cinelerra-5.1/plugins/reverb/picon_original.png [moved from cinelerra-5.1/plugins/reverb/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/reverb/picon_smoother.png [moved from cinelerra-5.1/plugins/reverb/picon.png with 100% similarity]
cinelerra-5.1/plugins/reverseaudio/picon_original.png [moved from cinelerra-5.1/plugins/reverseaudio/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/reverseaudio/picon_smoother.png [moved from cinelerra-5.1/plugins/reverseaudio/picon.png with 100% similarity]
cinelerra-5.1/plugins/reversevideo/picon_original.png [moved from cinelerra-5.1/plugins/reversevideo/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/reversevideo/picon_smoother.png [moved from cinelerra-5.1/plugins/reversevideo/picon.png with 100% similarity]
cinelerra-5.1/plugins/rgb601/picon_original.png [moved from cinelerra-5.1/plugins/rgb601/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/rgb601/picon_smoother.png [moved from cinelerra-5.1/plugins/rgb601/picon.png with 100% similarity]
cinelerra-5.1/plugins/rgbshift/picon_smoother.png [moved from cinelerra-5.1/plugins/rgbshift/picon.png with 100% similarity]
cinelerra-5.1/plugins/rotate/picon_original.png [moved from cinelerra-5.1/plugins/rotate/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/rotate/picon_smoother.png [moved from cinelerra-5.1/plugins/rotate/picon.png with 100% similarity]
cinelerra-5.1/plugins/scale/picon_original.png [moved from cinelerra-5.1/plugins/scale/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/scale/picon_smoother.png [moved from cinelerra-5.1/plugins/scale/picon.png with 100% similarity]
cinelerra-5.1/plugins/scaleratio/picon_smoother.png [moved from cinelerra-5.1/plugins/scaleratio/picon.png with 100% similarity]
cinelerra-5.1/plugins/shapewipe/picon_original.png [moved from cinelerra-5.1/plugins/shapewipe/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/shapewipe/picon_smoother.png [moved from cinelerra-5.1/plugins/shapewipe/picon.png with 100% similarity]
cinelerra-5.1/plugins/sharpen/picon_original.png [moved from cinelerra-5.1/plugins/sharpen/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/sharpen/picon_smoother.png [moved from cinelerra-5.1/plugins/sharpen/picon.png with 100% similarity]
cinelerra-5.1/plugins/shiftinterlace/picon_original.png [moved from cinelerra-5.1/plugins/shiftinterlace/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/shiftinterlace/picon_smoother.png [moved from cinelerra-5.1/plugins/shiftinterlace/picon.png with 100% similarity]
cinelerra-5.1/plugins/slide/picon_original.png [moved from cinelerra-5.1/plugins/slide/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/slide/picon_smoother.png [moved from cinelerra-5.1/plugins/slide/picon.png with 100% similarity]
cinelerra-5.1/plugins/spectrogram/picon_original.png [moved from cinelerra-5.1/plugins/spectrogram/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/spectrogram/picon_smoother.png [moved from cinelerra-5.1/plugins/spectrogram/picon.png with 100% similarity]
cinelerra-5.1/plugins/svg/picon_original.png [moved from cinelerra-5.1/plugins/svg/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/svg/picon_smoother.png [moved from cinelerra-5.1/plugins/svg/picon.png with 100% similarity]
cinelerra-5.1/plugins/swapchannels/picon_original.png [moved from cinelerra-5.1/plugins/swapchannels/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/swapchannels/picon_smoother.png [moved from cinelerra-5.1/plugins/swapchannels/picon.png with 100% similarity]
cinelerra-5.1/plugins/swapframes/picon_smoother.png [moved from cinelerra-5.1/plugins/swapframes/picon.png with 100% similarity]
cinelerra-5.1/plugins/synthesizer/picon_original.png [moved from cinelerra-5.1/plugins/synthesizer/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/synthesizer/picon_smoother.png [moved from cinelerra-5.1/plugins/synthesizer/picon.png with 100% similarity]
cinelerra-5.1/plugins/threshold/picon_original.png [moved from cinelerra-5.1/plugins/threshold/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/threshold/picon_smoother.png [moved from cinelerra-5.1/plugins/threshold/picon.png with 100% similarity]
cinelerra-5.1/plugins/timeavg/picon_original.png [moved from cinelerra-5.1/plugins/timeavg/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/timeavg/picon_smoother.png [moved from cinelerra-5.1/plugins/timeavg/picon.png with 100% similarity]
cinelerra-5.1/plugins/timefront/picon_original.png [moved from cinelerra-5.1/plugins/timefront/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/timefront/picon_smoother.png [moved from cinelerra-5.1/plugins/timefront/picon.png with 100% similarity]
cinelerra-5.1/plugins/timestretch/picon_original.png [moved from cinelerra-5.1/plugins/timestretch/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/timestretch/picon_smoother.png [moved from cinelerra-5.1/plugins/timestretch/picon.png with 100% similarity]
cinelerra-5.1/plugins/timestretchrt/picon_smoother.png [moved from cinelerra-5.1/plugins/timestretchrt/picon.png with 100% similarity]
cinelerra-5.1/plugins/titler/picon_original.png [moved from cinelerra-5.1/plugins/titler/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/titler/picon_smoother.png [moved from cinelerra-5.1/plugins/titler/picon.png with 100% similarity]
cinelerra-5.1/plugins/translate/picon_original.png [moved from cinelerra-5.1/plugins/translate/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/translate/picon_smoother.png [moved from cinelerra-5.1/plugins/translate/picon.png with 100% similarity]
cinelerra-5.1/plugins/unsharp/picon_original.png [moved from cinelerra-5.1/plugins/unsharp/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/unsharp/picon_smoother.png [moved from cinelerra-5.1/plugins/unsharp/picon.png with 100% similarity]
cinelerra-5.1/plugins/videoscope/picon_original.png [moved from cinelerra-5.1/plugins/videoscope/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/videoscope/picon_smoother.png [moved from cinelerra-5.1/plugins/videoscope/picon.png with 100% similarity]
cinelerra-5.1/plugins/vocoder/picon_smoother.png [moved from cinelerra-5.1/plugins/vocoder/picon.png with 100% similarity]
cinelerra-5.1/plugins/wave/picon_original.png [moved from cinelerra-5.1/plugins/wave/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/wave/picon_smoother.png [moved from cinelerra-5.1/plugins/wave/picon.png with 100% similarity]
cinelerra-5.1/plugins/whirl/picon_original.png [moved from cinelerra-5.1/plugins/whirl/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/whirl/picon_smoother.png [moved from cinelerra-5.1/plugins/whirl/picon.png with 100% similarity]
cinelerra-5.1/plugins/wipe/picon_original.png [moved from cinelerra-5.1/plugins/wipe/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/wipe/picon_smoother.png [moved from cinelerra-5.1/plugins/wipe/picon.png with 100% similarity]
cinelerra-5.1/plugins/yuv/picon_original.png [moved from cinelerra-5.1/plugins/yuv/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/yuv/picon_smoother.png [moved from cinelerra-5.1/plugins/yuv/picon.png with 100% similarity]
cinelerra-5.1/plugins/yuv411/picon_smoother.png [moved from cinelerra-5.1/plugins/yuv411/picon.png with 100% similarity]
cinelerra-5.1/plugins/yuvshift/picon_smoother.png [moved from cinelerra-5.1/plugins/yuvshift/picon.png with 100% similarity]
cinelerra-5.1/plugins/zoom/picon_smoother.png [moved from cinelerra-5.1/plugins/zoom/picon.png with 100% similarity]
cinelerra-5.1/plugins/zoomblur/picon_original.png [moved from cinelerra-5.1/plugins/zoomblur/picon_suv.png with 100% similarity]
cinelerra-5.1/plugins/zoomblur/picon_smoother.png [moved from cinelerra-5.1/plugins/zoomblur/picon.png with 100% similarity]

index beb20ec0f23a0db52dbd3a7e367a21f5ee4d44e7..ae6c41e00dae84a97b83973c2244d3dc8ede12c5 100644 (file)
@@ -22,7 +22,8 @@ clean:
 
 install:
        for dir in $(SUBDIRS); do $(MAKE) -C $$dir install; done
-       cp -a COPYING README models ffmpeg msg.txt bin/.
+       cp -a COPYING README models ffmpeg msg info tips bin/.
+       for d in picon*; do cp -a $$d/. bin/plugins/$$d/.; done
 
 rebuild:
        $(MAKE) -C guicast clean
@@ -31,6 +32,7 @@ rebuild:
        +$(MAKEJ) -C guicast
        +$(MAKEJ) -C cinelerra
        +$(MAKEJ) -C plugins
+       $(MAKE) install
 
 rebuild_all:
        $(MAKE) -C libzmpeg3 clean
index d6ed0a74ee0e9ed409a377c5fa78702d8e45008b..240a8c7e2c96bbcc845aced0a7225c292a067b80 100644 (file)
@@ -15,6 +15,7 @@ OBJS = \
        $(OBJDIR)/apluginarray.o \
        $(OBJDIR)/aplugin.o \
        $(OBJDIR)/apluginset.o \
+       $(OBJDIR)/appearanceprefs.o \
        $(OBJDIR)/arender.o \
        $(OBJDIR)/assetedit.o \
        $(OBJDIR)/asset.o \
index f70e3fbd6d53c31fa6c0804328132a060d6146ee..8ad411ddee0357b89fd8c19f5583b45ea2d537ae 100644 (file)
@@ -96,7 +96,7 @@ void AboutPrefs::create_objects()
                        about.append(new BC_ListBoxItem(msg));
                }
                BC_ListBox *listbox;
-               add_subwindow(listbox = new BC_ListBox(x, y, 300, 280,
+               add_subwindow(listbox = new BC_ListBox(x, y, 450, 280,
                        LISTBOX_TEXT, &about, 0, 0, 1));
                y += listbox->get_h() + get_text_height(LARGEFONT) + 10;
        }
diff --git a/cinelerra-5.1/cinelerra/appearanceprefs.C b/cinelerra-5.1/cinelerra/appearanceprefs.C
new file mode 100644 (file)
index 0000000..125202d
--- /dev/null
@@ -0,0 +1,470 @@
+
+/*
+ * CINELERRA
+ * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#include "appearanceprefs.h"
+#include "deleteallindexes.h"
+#include "edl.h"
+#include "edlsession.h"
+#include "file.h"
+#include "filesystem.h"
+#include "language.h"
+#include "mwindow.h"
+#include "preferences.h"
+#include "preferencesthread.h"
+#include "shbtnprefs.h"
+#include "theme.h"
+
+
+#define MOVE_ALL_EDITS_TITLE N_("Drag all following edits")
+#define MOVE_ONE_EDIT_TITLE N_("Drag only one edit")
+#define MOVE_NO_EDITS_TITLE N_("Drag source only")
+#define MOVE_EDITS_DISABLED_TITLE N_("No effect")
+
+
+AppearancePrefs::AppearancePrefs(MWindow *mwindow, PreferencesWindow *pwindow)
+ : PreferencesDialog(mwindow, pwindow)
+{
+       hms = 0;
+       hmsf = 0;
+       samples = 0;
+       frames = 0;
+       hex = 0;
+       feet = 0;
+       thumbnails = 0;
+}
+
+AppearancePrefs::~AppearancePrefs()
+{
+       delete hms;
+       delete hmsf;
+       delete samples;
+       delete frames;
+       delete hex;
+       delete feet;
+       delete thumbnails;
+}
+
+
+void AppearancePrefs::create_objects()
+{
+       BC_Resources *resources = BC_WindowBase::get_resources();
+       int margin = mwindow->theme->widget_border;
+       char string[BCTEXTLEN];
+       int x0 = mwindow->theme->preferencesoptions_x;
+       int y0 = mwindow->theme->preferencesoptions_y;
+       int x = x0, y = y0, x1 = x + 100;
+
+       add_subwindow(new BC_Title(x, y, _("Layout:"), LARGEFONT,
+               resources->text_default));
+       y += 35;
+
+       ViewTheme *theme;
+       add_subwindow(new BC_Title(x, y, _("Theme:")));
+       add_subwindow(theme = new ViewTheme(x1, y, pwindow));
+       theme->create_objects();
+       y += theme->get_h() + 5;
+
+       x = x0;
+       ViewPluginIcons *plugin_icons;
+       add_subwindow(new BC_Title(x, y, _("Plugin Icons:")));
+       add_subwindow(plugin_icons = new ViewPluginIcons(x1, y, pwindow));
+       plugin_icons->create_objects();
+       y += plugin_icons->get_h() + 5;
+
+       y += 10;
+       add_subwindow(new BC_Bar(5, y,  get_w() - 10));
+       y += 15;
+
+       add_subwindow(new BC_Title(x, y, _("Time Format:"), LARGEFONT,
+               resources->text_default));
+
+       x1 = get_w()/2;
+       add_subwindow(new BC_Title(x1, y, _("Flags:"), LARGEFONT,
+               resources->text_default));
+
+       y += get_text_height(LARGEFONT) + 5;
+       y += 10;
+       int y1 = y;
+
+       add_subwindow(hms = new TimeFormatHMS(pwindow, this,
+               pwindow->thread->edl->session->time_format == TIME_HMS,
+               x, y));
+       y += 20;
+       add_subwindow(hmsf = new TimeFormatHMSF(pwindow, this,
+               pwindow->thread->edl->session->time_format == TIME_HMSF,
+               x, y));
+       y += 20;
+       add_subwindow(samples = new TimeFormatSamples(pwindow, this,
+               pwindow->thread->edl->session->time_format == TIME_SAMPLES,
+               x, y));
+       y += 20;
+       add_subwindow(hex = new TimeFormatHex(pwindow, this,
+               pwindow->thread->edl->session->time_format == TIME_SAMPLES_HEX,
+               x, y));
+       y += 20;
+       add_subwindow(frames = new TimeFormatFrames(pwindow, this,
+               pwindow->thread->edl->session->time_format == TIME_FRAMES,
+               x, y));
+       y += 20;
+       add_subwindow(feet = new TimeFormatFeet(pwindow, this,
+               pwindow->thread->edl->session->time_format == TIME_FEET_FRAMES,
+               x, y));
+       x += feet->get_w() + 15;
+       BC_Title *title;
+       add_subwindow(title = new BC_Title(x, y, _("Frames per foot:")));
+       x += title->get_w() + margin;
+       sprintf(string, "%0.2f", pwindow->thread->edl->session->frames_per_foot);
+       add_subwindow(new TimeFormatFeetSetting(pwindow,
+               x, y - 5,       string));
+       x = x0;
+       y += 20;
+       add_subwindow(seconds = new TimeFormatSeconds(pwindow, this,
+               pwindow->thread->edl->session->time_format == TIME_SECONDS,
+               x, y));
+       y += 35;
+
+       UseTipWindow *tip_win = new UseTipWindow(pwindow, x1, y1);
+       add_subwindow(tip_win);
+       y1 += tip_win->get_h() + 5;
+       UseWarnIndecies *idx_win = new UseWarnIndecies(pwindow, x1, y1);
+       add_subwindow(idx_win);
+       y1 += idx_win->get_h() + 5;
+       UseWarnVersion *ver_win = new UseWarnVersion(pwindow, x1, y1);
+       add_subwindow(ver_win);
+       y1 += ver_win->get_h() + 5;
+       BD_WarnRoot *bdwr_win = new BD_WarnRoot(pwindow, x1, y1);
+       add_subwindow(bdwr_win);
+       y1 += bdwr_win->get_h() + 5;
+       PopupMenuBtnup *pop_win = new PopupMenuBtnup(pwindow, x1, y1);
+       add_subwindow(pop_win);
+       y1 += pop_win->get_h() + 5;
+       ActivateFocusPolicy *focus_activate = new ActivateFocusPolicy(pwindow, x1, y1);
+       add_subwindow(focus_activate);
+       y1 += focus_activate->get_h() + 5;
+       DeactivateFocusPolicy *focus_deactivate = new DeactivateFocusPolicy(pwindow, x1, y1);
+       add_subwindow(focus_deactivate);
+       y1 += focus_deactivate->get_h() + 5;
+       add_subwindow(thumbnails = new ViewThumbnails(x1, y1, pwindow));
+       if( y < y1 ) y = y1;
+}
+
+int AppearancePrefs::update(int new_value)
+{
+       pwindow->thread->redraw_times = 1;
+       pwindow->thread->edl->session->time_format = new_value;
+       hms->update(new_value == TIME_HMS);
+       hmsf->update(new_value == TIME_HMSF);
+       samples->update(new_value == TIME_SAMPLES);
+       hex->update(new_value == TIME_SAMPLES_HEX);
+       frames->update(new_value == TIME_FRAMES);
+       feet->update(new_value == TIME_FEET_FRAMES);
+       seconds->update(new_value == TIME_SECONDS);
+       return 0;
+}
+
+
+TimeFormatHMS::TimeFormatHMS(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y)
+ : BC_Radial(x, y, value, TIME_HMS_TEXT)
+{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
+
+int TimeFormatHMS::handle_event()
+{
+       tfwindow->update(TIME_HMS);
+       return 1;
+}
+
+TimeFormatHMSF::TimeFormatHMSF(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y)
+ : BC_Radial(x, y, value, TIME_HMSF_TEXT)
+{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
+
+int TimeFormatHMSF::handle_event()
+{
+       tfwindow->update(TIME_HMSF);
+       return 1;
+}
+
+TimeFormatSamples::TimeFormatSamples(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y)
+ : BC_Radial(x, y, value, TIME_SAMPLES_TEXT)
+{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
+
+int TimeFormatSamples::handle_event()
+{
+       tfwindow->update(TIME_SAMPLES);
+       return 1;
+}
+
+TimeFormatFrames::TimeFormatFrames(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y)
+ : BC_Radial(x, y, value, TIME_FRAMES_TEXT)
+{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
+
+int TimeFormatFrames::handle_event()
+{
+       tfwindow->update(TIME_FRAMES);
+       return 1;
+}
+
+TimeFormatHex::TimeFormatHex(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y)
+ : BC_Radial(x, y, value, TIME_SAMPLES_HEX_TEXT)
+{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
+
+int TimeFormatHex::handle_event()
+{
+       tfwindow->update(TIME_SAMPLES_HEX);
+       return 1;
+}
+
+TimeFormatSeconds::TimeFormatSeconds(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y)
+ : BC_Radial(x, y, value, TIME_SECONDS_TEXT)
+{
+       this->pwindow = pwindow;
+       this->tfwindow = tfwindow;
+}
+
+int TimeFormatSeconds::handle_event()
+{
+       tfwindow->update(TIME_SECONDS);
+       return 1;
+}
+
+TimeFormatFeet::TimeFormatFeet(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y)
+ : BC_Radial(x, y, value, TIME_FEET_FRAMES_TEXT)
+{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
+
+int TimeFormatFeet::handle_event()
+{
+       tfwindow->update(TIME_FEET_FRAMES);
+       return 1;
+}
+
+TimeFormatFeetSetting::TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string)
+ : BC_TextBox(x, y, 90, 1, string)
+{ this->pwindow = pwindow; }
+
+int TimeFormatFeetSetting::handle_event()
+{
+       pwindow->thread->edl->session->frames_per_foot = atof(get_text());
+       if(pwindow->thread->edl->session->frames_per_foot < 1) pwindow->thread->edl->session->frames_per_foot = 1;
+       return 0;
+}
+
+
+ViewTheme::ViewTheme(int x, int y, PreferencesWindow *pwindow)
+ : BC_PopupMenu(x, y, 200, pwindow->thread->preferences->theme, 1)
+{
+       this->pwindow = pwindow;
+}
+ViewTheme::~ViewTheme()
+{
+}
+
+void ViewTheme::create_objects()
+{
+       ArrayList<PluginServer*> themes;
+       MWindow::search_plugindb(0, 0, 0, 0, 1, themes);
+
+       for(int i = 0; i < themes.total; i++) {
+               add_item(new ViewThemeItem(this, themes.values[i]->title));
+       }
+}
+
+int ViewTheme::handle_event()
+{
+       return 1;
+}
+
+ViewThemeItem::ViewThemeItem(ViewTheme *popup, const char *text)
+ : BC_MenuItem(text)
+{
+       this->popup = popup;
+}
+
+int ViewThemeItem::handle_event()
+{
+       popup->set_text(get_text());
+       strcpy(popup->pwindow->thread->preferences->theme, get_text());
+       popup->handle_event();
+       return 1;
+}
+
+
+ViewPluginIcons::ViewPluginIcons(int x, int y, PreferencesWindow *pwindow)
+ : BC_PopupMenu(x, y, 200, pwindow->thread->preferences->plugin_icons, 1)
+{
+       this->pwindow = pwindow;
+}
+ViewPluginIcons::~ViewPluginIcons()
+{
+}
+
+void ViewPluginIcons::create_objects()
+{
+       add_item(new ViewPluginIconItem(this, DEFAULT_PICON));
+       FileSystem fs;
+       const char *plugin_path = File::get_plugin_path();
+       if( fs.update(plugin_path) ) return;
+       for( int i=0; i<fs.dir_list.total; ++i ) {
+               char *fs_path = fs.dir_list[i]->path;
+               if( !fs.is_dir(fs_path) ) continue;
+               char *cp = strrchr(fs_path,'/');
+               cp = !cp ? fs_path : cp+1;
+               if( strncmp("picon_", cp, 6) ) continue;
+               if( !strcmp(cp += 6,DEFAULT_PICON) ) continue;
+               add_item(new ViewPluginIconItem(this, cp));
+       }
+}
+
+int ViewPluginIcons::handle_event()
+{
+       return 1;
+}
+
+ViewPluginIconItem::ViewPluginIconItem(ViewPluginIcons *popup, const char *text)
+ : BC_MenuItem(text)
+{
+       this->popup = popup;
+}
+
+int ViewPluginIconItem::handle_event()
+{
+       popup->set_text(get_text());
+       strcpy(popup->pwindow->thread->preferences->plugin_icons, get_text());
+       popup->handle_event();
+       return 1;
+}
+
+
+ViewThumbnails::ViewThumbnails(int x,
+       int y,
+       PreferencesWindow *pwindow)
+ : BC_CheckBox(x,
+       y,
+       pwindow->thread->preferences->use_thumbnails, _("Use thumbnails in resource window"))
+{
+       this->pwindow = pwindow;
+}
+
+int ViewThumbnails::handle_event()
+{
+       pwindow->thread->preferences->use_thumbnails = get_value();
+       return 1;
+}
+
+
+
+UseTipWindow::UseTipWindow(PreferencesWindow *pwindow, int x, int y)
+ : BC_CheckBox(x,
+       y,
+       pwindow->thread->preferences->use_tipwindow,
+       _("Show tip of the day"))
+{
+       this->pwindow = pwindow;
+}
+int UseTipWindow::handle_event()
+{
+       pwindow->thread->preferences->use_tipwindow = get_value();
+       return 1;
+}
+
+
+UseWarnIndecies::UseWarnIndecies(PreferencesWindow *pwindow, int x, int y)
+ : BC_CheckBox(x, y, pwindow->thread->preferences->warn_indexes,
+       _("ffmpeg probe warns rebuild indexes"))
+{
+       this->pwindow = pwindow;
+}
+
+int UseWarnIndecies::handle_event()
+{
+       pwindow->thread->preferences->warn_indexes = get_value();
+       return 1;
+}
+
+UseWarnVersion::UseWarnVersion(PreferencesWindow *pwindow, int x, int y)
+ : BC_CheckBox(x, y, pwindow->thread->preferences->warn_version,
+       _("EDL version warns if mismatched"))
+{
+       this->pwindow = pwindow;
+}
+
+int UseWarnVersion::handle_event()
+{
+       pwindow->thread->preferences->warn_version = get_value();
+       return 1;
+}
+
+BD_WarnRoot::BD_WarnRoot(PreferencesWindow *pwindow, int x, int y)
+ : BC_CheckBox(x, y, pwindow->thread->preferences->bd_warn_root,
+       _("Create Bluray warns if not root"))
+{
+       this->pwindow = pwindow;
+}
+
+int BD_WarnRoot::handle_event()
+{
+       pwindow->thread->preferences->bd_warn_root = get_value();
+       return 1;
+}
+
+PopupMenuBtnup::PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y)
+ : BC_CheckBox(x, y, pwindow->thread->preferences->popupmenu_btnup,
+       _("Popups activate on button up"))
+{
+       this->pwindow = pwindow;
+}
+
+int PopupMenuBtnup::handle_event()
+{
+       pwindow->thread->preferences->popupmenu_btnup = get_value();
+       return 1;
+}
+
+ActivateFocusPolicy::ActivateFocusPolicy(PreferencesWindow *pwindow, int x, int y)
+ : BC_CheckBox(x, y, (pwindow->thread->preferences->textbox_focus_policy & CLICK_ACTIVATE) != 0,
+       _("Click to activate text focus"))
+{
+       this->pwindow = pwindow;
+}
+
+int ActivateFocusPolicy::handle_event()
+{
+       if( get_value() )
+               pwindow->thread->preferences->textbox_focus_policy |= CLICK_ACTIVATE;
+       else
+               pwindow->thread->preferences->textbox_focus_policy &= ~CLICK_ACTIVATE;
+       return 1;
+}
+
+DeactivateFocusPolicy::DeactivateFocusPolicy(PreferencesWindow *pwindow, int x, int y)
+ : BC_CheckBox(x, y, (pwindow->thread->preferences->textbox_focus_policy & CLICK_DEACTIVATE) != 0,
+       _("Click to deactivate text focus"))
+{
+       this->pwindow = pwindow;
+}
+
+int DeactivateFocusPolicy::handle_event()
+{
+       if( get_value() )
+               pwindow->thread->preferences->textbox_focus_policy |= CLICK_DEACTIVATE;
+       else
+               pwindow->thread->preferences->textbox_focus_policy &= ~CLICK_DEACTIVATE;
+       return 1;
+}
+
diff --git a/cinelerra-5.1/cinelerra/appearanceprefs.h b/cinelerra-5.1/cinelerra/appearanceprefs.h
new file mode 100644 (file)
index 0000000..b5f1f6a
--- /dev/null
@@ -0,0 +1,231 @@
+
+/*
+ * CINELERRA
+ * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#ifndef APPEARANCEPREFS_H
+#define APPEARANCEPREFS_H
+
+#include "appearanceprefs.inc"
+#include "browsebutton.h"
+#include "deleteallindexes.inc"
+#include "mwindow.inc"
+#include "preferencesthread.h"
+#include "shbtnprefs.inc"
+
+
+class AppearancePrefs : public PreferencesDialog
+{
+public:
+       AppearancePrefs(MWindow *mwindow, PreferencesWindow *pwindow);
+       ~AppearancePrefs();
+
+       void create_objects();
+
+       int update(int new_value);
+       TimeFormatHMS *hms;
+       TimeFormatHMSF *hmsf;
+       TimeFormatSamples *samples;
+       TimeFormatHex *hex;
+       TimeFormatFrames *frames;
+       TimeFormatFeet *feet;
+       TimeFormatSeconds *seconds;
+       ViewThumbnails *thumbnails;
+};
+
+
+class TimeFormatHMS : public BC_Radial
+{
+public:
+       TimeFormatHMS(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+       AppearancePrefs *tfwindow;
+};
+
+class TimeFormatHMSF : public BC_Radial
+{
+public:
+       TimeFormatHMSF(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+       AppearancePrefs *tfwindow;
+};
+
+class TimeFormatSamples : public BC_Radial
+{
+public:
+       TimeFormatSamples(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+       AppearancePrefs *tfwindow;
+};
+
+class TimeFormatFrames : public BC_Radial
+{
+public:
+       TimeFormatFrames(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+       AppearancePrefs *tfwindow;
+};
+
+class TimeFormatHex : public BC_Radial
+{
+public:
+       TimeFormatHex(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+       AppearancePrefs *tfwindow;
+};
+
+class TimeFormatFeet : public BC_Radial
+{
+public:
+       TimeFormatFeet(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+       AppearancePrefs *tfwindow;
+};
+
+class TimeFormatSeconds : public BC_Radial
+{
+public:
+       TimeFormatSeconds(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+       AppearancePrefs *tfwindow;
+};
+
+class TimeFormatFeetSetting : public BC_TextBox
+{
+public:
+       TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
+       int handle_event();
+       PreferencesWindow *pwindow;
+};
+
+
+
+class ViewTheme : public BC_PopupMenu
+{
+public:
+       ViewTheme(int x, int y, PreferencesWindow *pwindow);
+       ~ViewTheme();
+
+       void create_objects();
+       int handle_event();
+
+       PreferencesWindow *pwindow;
+};
+
+class ViewThemeItem : public BC_MenuItem
+{
+public:
+       ViewThemeItem(ViewTheme *popup, const char *text);
+       int handle_event();
+       ViewTheme *popup;
+};
+
+class ViewPluginIcons : public BC_PopupMenu
+{
+public:
+       ViewPluginIcons(int x, int y, PreferencesWindow *pwindow);
+       ~ViewPluginIcons();
+
+       void create_objects();
+       int handle_event();
+
+       PreferencesWindow *pwindow;
+};
+
+class ViewPluginIconItem : public BC_MenuItem
+{
+public:
+       ViewPluginIconItem(ViewPluginIcons *popup, const char *text);
+       int handle_event();
+       ViewPluginIcons *popup;
+};
+
+class ViewThumbnails : public BC_CheckBox
+{
+public:
+       ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
+       int handle_event();
+       PreferencesWindow *pwindow;
+};
+
+class UseTipWindow : public BC_CheckBox
+{
+public:
+       UseTipWindow(PreferencesWindow *pwindow, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+};
+
+class UseWarnIndecies : public BC_CheckBox
+{
+public:
+       UseWarnIndecies(PreferencesWindow *pwindow, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+};
+
+class UseWarnVersion : public BC_CheckBox
+{
+public:
+       UseWarnVersion(PreferencesWindow *pwindow, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+};
+
+class BD_WarnRoot : public BC_CheckBox
+{
+public:
+       BD_WarnRoot(PreferencesWindow *pwindow, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+};
+
+class PopupMenuBtnup : public BC_CheckBox
+{
+public:
+       PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+};
+
+class ActivateFocusPolicy : public BC_CheckBox
+{
+public:
+       ActivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+};
+
+class DeactivateFocusPolicy : public BC_CheckBox
+{
+public:
+       DeactivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
+       int handle_event();
+       PreferencesWindow *pwindow;
+};
+
+
+#endif
diff --git a/cinelerra-5.1/cinelerra/appearanceprefs.inc b/cinelerra-5.1/cinelerra/appearanceprefs.inc
new file mode 100644 (file)
index 0000000..c96d4bc
--- /dev/null
@@ -0,0 +1,47 @@
+
+/*
+ * CINELERRA
+ * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#ifndef APPEARANCEPREFS_INC
+#define APPEARANCEPREFS_INC
+
+class AppearancePrefs;
+class TimeFormatHMS;
+class TimeFormatHMSF;
+class TimeFormatSamples;
+class TimeFormatFrames;
+class TimeFormatHex;
+class TimeFormatFeet;
+class TimeFormatSeconds;
+class TimeFormatFeetSetting;
+class ViewTheme;
+class ViewThemeItem;
+class ViewPluginIcons;
+class ViewPluginIconItem;
+class ViewThumbnails;
+class UseTipWindow;
+class UseWarnIndecies;
+class UseWarnVersion;
+class BD_WarnRoot;
+class PopupMenuBtnup;
+class ActivateFocusPolicy;
+class DeactivateFocusPolicy;
+
+#endif
index 13e7164d582562645952bb4321d50a232b77681d..90287ac94da0f6abfde7fa2f52a59f54962e60ed 100644 (file)
@@ -512,10 +512,8 @@ VFrame *AWindowGUI::get_picon(const char *name, const char *plugin_icons)
 {
        char png_path[BCTEXTLEN];
        char *pp = png_path, *ep = pp + sizeof(png_path)-1;
-       pp += snprintf(pp, ep-pp, "%s/picon", File::get_plugin_path());
-       if( strcmp(DEFAULT_PICON, plugin_icons) )
-               pp += snprintf(pp, ep-pp, "_%s", plugin_icons);
-       pp += snprintf(pp, ep-pp, "/%s.png", name);
+       snprintf(pp, ep-pp, "%s/picon_%s/%s.png",
+               File::get_plugin_path(), plugin_icons, name);
        return VFramePng::vframe_png(png_path,0,0);
 }
 
@@ -841,11 +839,18 @@ void AWindowRemovePlugin::handle_close_event(int result)
                snprintf(index_path, sizeof(index_path), "%s/%s",
                        mwindow->preferences->plugin_dir, PLUGIN_FILE);
                remove(index_path);
-               char png_path[BCTEXTLEN];
-               if( plugin->get_plugin_png_path(png_path, mwindow->preferences->plugin_icons) )
-                       remove(png_path);
-               if( plugin->get_plugin_png_path(png_path, DEFAULT_PICON) )
-                       remove(png_path);
+               FileSystem fs;
+               fs.update(File::get_plugin_path());
+               for( int i=0; i<fs.dir_list.total; ++i ) {
+                       char *fs_path = fs.dir_list[i]->path;
+                       if( !fs.is_dir(fs_path) ) continue;
+                       char *cp = strrchr(fs_path,'/');
+                       cp = !cp ? fs_path : cp+1;
+                       if( strncmp("picon_", cp, 6) ) continue;
+                       char png_path[BCTEXTLEN];
+                       if( !plugin->get_plugin_png_path(png_path, cp+6) )
+                               remove(png_path);
+               }
                delete plugin;  plugin = 0;
                awindow->gui->async_update_assets();
        }
index 2b8250135c42c3c0947c15055e1e2699ce76e821..d463fb24471ae67c8bd601275f5baf408d0a4b6d 100644 (file)
@@ -28,6 +28,7 @@
 #include "mwindow.h"
 #include "preferences.h"
 #include "preferencesthread.h"
+#include "probeprefs.h"
 #include "interfaceprefs.h"
 #include "shbtnprefs.h"
 #include "theme.h"
@@ -47,34 +48,18 @@ N_("No effect")
 InterfacePrefs::InterfacePrefs(MWindow *mwindow, PreferencesWindow *pwindow)
  : PreferencesDialog(mwindow, pwindow)
 {
-       hms = 0;
-       hmsf = 0;
-       samples = 0;
-       frames = 0;
-       hex = 0;
-       feet = 0;
        min_db = 0;
        max_db = 0;
-//     vu_db = 0;
-//     vu_int = 0;
-       thumbnails = 0;
        shbtn_dialog = 0;
+       file_probe_dialog = 0;
 }
 
 InterfacePrefs::~InterfacePrefs()
 {
-       delete hms;
-       delete hmsf;
-       delete samples;
-       delete frames;
-       delete hex;
-       delete feet;
        delete min_db;
        delete max_db;
-//     delete vu_db;
-//     delete vu_int;
-       delete thumbnails;
        delete shbtn_dialog;
+       delete file_probe_dialog;
 }
 
 
@@ -87,164 +72,25 @@ void InterfacePrefs::create_objects()
        int y0 = mwindow->theme->preferencesoptions_y;
        int x = x0, y = y0;
 
-       add_subwindow(new BC_Title(x, y, _("Time Format"), LARGEFONT,
+       add_subwindow(new BC_Title(x, y, _("Editing:"), LARGEFONT,
                resources->text_default));
-       int x1 = get_w()/2;
-       add_subwindow(new BC_Title(x1, y, _("Flags"), LARGEFONT,
-               resources->text_default));
-
-       y += get_text_height(LARGEFONT) + 5;
-       int y1 = y;
-
-       add_subwindow(hms = new TimeFormatHMS(pwindow, this,
-               pwindow->thread->edl->session->time_format == TIME_HMS,
-               x, y));
-       y += 20;
-       add_subwindow(hmsf = new TimeFormatHMSF(pwindow, this,
-               pwindow->thread->edl->session->time_format == TIME_HMSF,
-               x, y));
-       y += 20;
-       add_subwindow(samples = new TimeFormatSamples(pwindow, this,
-               pwindow->thread->edl->session->time_format == TIME_SAMPLES,
-               x, y));
-       y += 20;
-       add_subwindow(hex = new TimeFormatHex(pwindow, this,
-               pwindow->thread->edl->session->time_format == TIME_SAMPLES_HEX,
-               x, y));
-       y += 20;
-       add_subwindow(frames = new TimeFormatFrames(pwindow, this,
-               pwindow->thread->edl->session->time_format == TIME_FRAMES,
-               x, y));
-       y += 20;
-       add_subwindow(feet = new TimeFormatFeet(pwindow, this,
-               pwindow->thread->edl->session->time_format == TIME_FEET_FRAMES,
-               x, y));
-       x += feet->get_w() + 15;
-       BC_Title *title;
-       add_subwindow(title = new BC_Title(x, y, _("Frames per foot:")));
-       x += title->get_w() + margin;
-       sprintf(string, "%0.2f", pwindow->thread->edl->session->frames_per_foot);
-       add_subwindow(new TimeFormatFeetSetting(pwindow,
-               x, y - 5,       string));
-       x = x0;
-       y += 20;
-       add_subwindow(seconds = new TimeFormatSeconds(pwindow, this,
-               pwindow->thread->edl->session->time_format == TIME_SECONDS,
-               x, y));
        y += 35;
 
-       UseTipWindow *tip_win = new UseTipWindow(pwindow, x1, y1);
-       add_subwindow(tip_win);
-       y1 += tip_win->get_h() + 5;
-       UseWarnIndecies *idx_win = new UseWarnIndecies(pwindow, x1, y1);
-       add_subwindow(idx_win);
-       y1 += idx_win->get_h() + 5;
-       UseWarnVersion *ver_win = new UseWarnVersion(pwindow, x1, y1);
-       add_subwindow(ver_win);
-       y1 += ver_win->get_h() + 5;
-       BD_WarnRoot *bdwr_win = new BD_WarnRoot(pwindow, x1, y1);
-       add_subwindow(bdwr_win);
-       y1 += bdwr_win->get_h() + 5;
-       PopupMenuBtnup *pop_win = new PopupMenuBtnup(pwindow, x1, y1);
-       add_subwindow(pop_win);
-       y1 += pop_win->get_h() + 5;
-       ActivateFocusPolicy *focus_activate = new ActivateFocusPolicy(pwindow, x1, y1);
-       add_subwindow(focus_activate);
-       y1 += focus_activate->get_h() + 5;
-       DeactivateFocusPolicy *focus_deactivate = new DeactivateFocusPolicy(pwindow, x1, y1);
-       add_subwindow(focus_deactivate);
-       y1 += focus_deactivate->get_h() + 5;
-
-       if( y < y1 ) y = y1;
-       y += 10;
-
-       add_subwindow(new BC_Bar(5, y,  get_w() - 10));
-       y += 5;
-
-       add_subwindow(new BC_Title(x, y, _("Index files"), LARGEFONT, resources->text_default));
-       add_subwindow(ffmpeg_marker_files = new IndexFFMPEGMarkerFiles(this, x1, y));
-
-
-       y += 30;
-       add_subwindow(new BC_Title(x, y + 5,
-               _("Index files go here:"), MEDIUMFONT, resources->text_default));
-       add_subwindow(ipathtext = new IndexPathText(x + 230, y,
-               pwindow,
-               pwindow->thread->preferences->index_directory));
-       add_subwindow(ipath = new BrowseButton(mwindow->theme, this, ipathtext,
-               x1 = x + 230 + ipathtext->get_w(), y,
-               pwindow->thread->preferences->index_directory,
-               _("Index Path"),
-               _("Select the directory for index files"),
-               1));
-
-       y += 30;
-       add_subwindow(new BC_Title(x, y + 5,
-               _("Size of index file:"),
-               MEDIUMFONT,
-               resources->text_default));
-       sprintf(string, "%jd", pwindow->thread->preferences->index_size);
-       add_subwindow(isize = new IndexSize(x + 230, y, pwindow, string));
-       add_subwindow(new ScanCommercials(pwindow, 350,y));
-       y += 30;
-       add_subwindow(new BC_Title(x, y + 5, _("Number of index files to keep:"), MEDIUMFONT, resources->text_default));
-       sprintf(string, "%ld", (long)pwindow->thread->preferences->index_count);
-       add_subwindow(icount = new IndexCount(x + 230, y, pwindow, string));
-       add_subwindow(deleteall = new DeleteAllIndexes(mwindow, pwindow, 350, y));
-
-
-       y += 35;
-       add_subwindow(new BC_Bar(5, y,  get_w() - 10));
-       y += 5;
-
-       add_subwindow(new BC_Title(x, y, _("Editing"), LARGEFONT, resources->text_default));
-
-       y1 = y + 5;
-       y += 35;
+       int x2 = get_w()/2, y2 = y;
+       x = x2;
+       BC_Title *title;
        add_subwindow(title = new BC_Title(x, y, _("Keyframe reticle:")));
-       x1 = x + 140;
-       keyframe_reticle = new KeyframeReticle(x1, y, &pwindow->thread->preferences->keyframe_reticle);
+       y += 25;
+       keyframe_reticle = new KeyframeReticle(x, y, &pwindow->thread->preferences->keyframe_reticle);
        add_subwindow(keyframe_reticle);
        keyframe_reticle->create_objects();
 
-       int x2 = x + 400, y2 = y;
-       add_subwindow(thumbnails = new ViewThumbnails(x2, y1, pwindow));
-       AndroidRemote *android_remote = new AndroidRemote(pwindow, x2, y2);
-       add_subwindow(android_remote);
-       y2 += android_remote->get_h() + 10;
-       add_subwindow(title = new BC_Title(x2, y2, _("Port:")));
-       int x3 = x2 + title->get_w() + margin;
-       AndroidPort *android_port = new AndroidPort(pwindow, x3, y2);
-       add_subwindow(android_port);
-       y2 += title->get_h() + 10;
-       add_subwindow(title = new BC_Title(x2, y2, _("PIN:")));
-       AndroidPIN *android_pin = new AndroidPIN(pwindow, x3, y2);
-       add_subwindow(android_pin);
-
-       y2 += title->get_h() + 30;
-       ShBtnPrefs *shbtn_prefs = new ShBtnPrefs(pwindow, this, x2, y2);
-       add_subwindow(shbtn_prefs);
-
-       y2 += shbtn_prefs->get_h() + 30;
-       StillImageUseDuration *use_stduration = new StillImageUseDuration(pwindow,
-               pwindow->thread->edl->session->si_useduration, x2, y2);
-       add_subwindow(use_stduration);
-       int tw = 0, th = 0;
-       BC_CheckBox::calculate_extents(this, &tw, &th, 0, 0);
-       x2 += tw + 3;
-       y2 += use_stduration->get_h() + 3;
-       StillImageDuration *stduration = new StillImageDuration(pwindow, x2, y2);
-       add_subwindow(stduration);
-       x2 += stduration->get_w() + 10;
-       y2 += 3;
-       add_subwindow(new BC_Title(x2, y2, _("Seconds")));
-
-       y += 35;
+       x = x0;  y = y2;
        add_subwindow(new BC_Title(x, y, _("Clicking on edit boundaries does what:")));
        y += 25;
        add_subwindow(new BC_Title(x, y, _("Button 1:")));
 
-       x1 = x + 100;
+       int x1 = x + 100;
        ViewBehaviourText *text;
        add_subwindow(text = new ViewBehaviourText(x1, y - 5,
                behavior_to_text(pwindow->thread->edl->session->edit_handle_mode[0]),
@@ -261,39 +107,118 @@ void InterfacePrefs::create_objects()
        text->create_objects();
        y += 30;
        add_subwindow(new BC_Title(x, y, _("Button 3:")));
-       add_subwindow(text = new ViewBehaviourText(x1,
-               y - 5,
+       add_subwindow(text = new ViewBehaviourText(x1, y - 5,
                behavior_to_text(pwindow->thread->edl->session->edit_handle_mode[2]),
                        pwindow,
                        &(pwindow->thread->edl->session->edit_handle_mode[2])));
        text->create_objects();
+       y += text->get_h() + 30;
 
-       y += 40;
+       x = x0;
+       add_subwindow(new BC_Bar(5, y,  get_w() - 10));
+       y += 5;
+       add_subwindow(new BC_Title(x, y, _("Operation:"), LARGEFONT,
+               resources->text_default));
+       y += 35;
 
+       int y1 = y;
+       AndroidRemote *android_remote = new AndroidRemote(pwindow, x2, y);
+       add_subwindow(android_remote);
+       y += android_remote->get_h() + 10;
+       add_subwindow(title = new BC_Title(x2, y, _("Port:")));
+       int x3 = x2 + title->get_w() + margin;
+       AndroidPort *android_port = new AndroidPort(pwindow, x3, y);
+       add_subwindow(android_port);
+       y += title->get_h() + 10;
+       add_subwindow(title = new BC_Title(x2, y, _("PIN:")));
+       AndroidPIN *android_pin = new AndroidPIN(pwindow, x3, y);
+       add_subwindow(android_pin);
+       y += title->get_h() + 30;
+
+       ShBtnPrefs *shbtn_prefs = new ShBtnPrefs(pwindow, this, x2, y);
+       add_subwindow(shbtn_prefs);
+       y += shbtn_prefs->get_h() + 30;
+
+       y2 = y;
+       x = x0;  y = y1;
+       add_subwindow(file_probes = new PrefsFileProbes(pwindow, this, x, y));
+       y += 30;
+
+       PrefsTrapSigSEGV *trap_segv = new PrefsTrapSigSEGV(this, x, y);
+       add_subwindow(trap_segv);
+       x1 = x + trap_segv->get_w() + 10;
+       add_subwindow(new BC_Title(x1, y, _("(must be root)"), MEDIUMFONT, RED));
+       y += 30;
+
+       PrefsTrapSigINTR *trap_intr = new PrefsTrapSigINTR(this, x, y);
+       add_subwindow(trap_intr);
+       add_subwindow(new BC_Title(x1, y, _("(must be root)"), MEDIUMFONT, RED));
+       y += 30;
+
+       yuv420p_dvdlace = new PrefsYUV420P_DVDlace(pwindow, this, x, y);
+       add_subwindow(yuv420p_dvdlace);
+       y += 30;
+
+       if( y2 > y ) y = y2;
        add_subwindow(title = new BC_Title(x, y + 5, _("Min DB for meter:")));
        x += title->get_w() + 10;
        sprintf(string, "%d", pwindow->thread->edl->session->min_meter_db);
        add_subwindow(min_db = new MeterMinDB(pwindow, string, x, y));
-
        x += min_db->get_w() + 10;
        add_subwindow(title = new BC_Title(x, y + 5, _("Max DB:")));
        x += title->get_w() + 10;
        sprintf(string, "%d", pwindow->thread->edl->session->max_meter_db);
        add_subwindow(max_db = new MeterMaxDB(pwindow, string, x, y));
+       y += 30;
 
-       x = x0;
+       StillImageUseDuration *use_stduration = new StillImageUseDuration(pwindow,
+               pwindow->thread->edl->session->si_useduration, x2, y2);
+       add_subwindow(use_stduration);
+       int tw = 0, th = 0;
+       BC_CheckBox::calculate_extents(this, &tw, &th, 0, 0);
+       x2 += tw + 3;
+       y2 += use_stduration->get_h() + 3;
+       StillImageDuration *stduration = new StillImageDuration(pwindow, x2, y2);
+       add_subwindow(stduration);
+       x2 += stduration->get_w() + 10;
+       y2 += 3;
+       add_subwindow(new BC_Title(x2, y2, _("Seconds")));
+       y2 += 30;
+
+       x = x0;  y = y2;
+       add_subwindow(new BC_Bar(5, y,  get_w() - 10));
+       y += 5;
+
+
+       add_subwindow(new BC_Title(x, y, _("Index files:"), LARGEFONT, resources->text_default));
        y += 30;
-       ViewTheme *theme;
-       add_subwindow(new BC_Title(x, y, _("Theme:")));
-       add_subwindow(theme = new ViewTheme(x1, y, pwindow));
-       theme->create_objects();
 
-       x = x0;
-       y += theme->get_h() + 5;
-       ViewPluginIcons *plugin_icons;
-       add_subwindow(new BC_Title(x, y, _("Plugin Icons:")));
-       add_subwindow(plugin_icons = new ViewPluginIcons(x1, y, pwindow));
-       plugin_icons->create_objects();
+       add_subwindow(new BC_Title(x, y + 5,
+               _("Index files go here:"), MEDIUMFONT, resources->text_default));
+       x1 = x + 230;
+       add_subwindow(ipathtext = new IndexPathText(x1, y, pwindow,
+               pwindow->thread->preferences->index_directory));
+       x1 +=  ipathtext->get_w();
+       add_subwindow(ipath = new BrowseButton(mwindow->theme, this, ipathtext, x1, y,
+               pwindow->thread->preferences->index_directory,
+               _("Index Path"), _("Select the directory for index files"), 1));
+
+       y += 30;
+       add_subwindow(new BC_Title(x, y + 5, _("Size of index file:"),
+               MEDIUMFONT, resources->text_default));
+       sprintf(string, "%jd", pwindow->thread->preferences->index_size);
+       add_subwindow(isize = new IndexSize(x + 230, y, pwindow, string));
+       add_subwindow(new ScanCommercials(pwindow, 400,y));
+
+       y += 30;
+       add_subwindow(new BC_Title(x, y + 5, _("Number of index files to keep:"),
+               MEDIUMFONT, resources->text_default));
+       sprintf(string, "%ld", (long)pwindow->thread->preferences->index_count);
+       add_subwindow(icount = new IndexCount(x + 230, y, pwindow, string));
+       add_subwindow(deleteall = new DeleteAllIndexes(mwindow, pwindow, 400, y));
+       y += 30;
+       add_subwindow(ffmpeg_marker_files = new IndexFFMPEGMarkerFiles(this, x, y));
+       y += 35;
 }
 
 const char* InterfacePrefs::behavior_to_text(int mode)
@@ -307,27 +232,7 @@ const char* InterfacePrefs::behavior_to_text(int mode)
        }
 }
 
-int InterfacePrefs::update(int new_value)
-{
-       pwindow->thread->redraw_times = 1;
-       pwindow->thread->edl->session->time_format = new_value;
-       hms->update(new_value == TIME_HMS);
-       hmsf->update(new_value == TIME_HMSF);
-       samples->update(new_value == TIME_SAMPLES);
-       hex->update(new_value == TIME_SAMPLES_HEX);
-       frames->update(new_value == TIME_FRAMES);
-       feet->update(new_value == TIME_FEET_FRAMES);
-       seconds->update(new_value == TIME_SECONDS);
-       return 0;
-}
-
-
-
-
-IndexPathText::IndexPathText(int x,
-       int y,
-       PreferencesWindow *pwindow,
-       char *text)
+IndexPathText::IndexPathText(int x, int y, PreferencesWindow *pwindow, char *text)
  : BC_TextBox(x, y, 240, 1, text)
 {
        this->pwindow = pwindow;
@@ -344,10 +249,7 @@ int IndexPathText::handle_event()
 
 
 
-IndexSize::IndexSize(int x,
-       int y,
-       PreferencesWindow *pwindow,
-       char *text)
+IndexSize::IndexSize(int x, int y, PreferencesWindow *pwindow, char *text)
  : BC_TextBox(x, y, 100, 1, text)
 {
        this->pwindow = pwindow;
@@ -366,10 +268,7 @@ int IndexSize::handle_event()
 
 
 
-IndexCount::IndexCount(int x,
-       int y,
-       PreferencesWindow *pwindow,
-       char *text)
+IndexCount::IndexCount(int x, int y, PreferencesWindow *pwindow, char *text)
  : BC_TextBox(x, y, 100, 1, text)
 {
        this->pwindow = pwindow;
@@ -405,98 +304,7 @@ int IndexFFMPEGMarkerFiles::handle_event()
 }
 
 
-
-TimeFormatHMS::TimeFormatHMS(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y)
- : BC_Radial(x, y, value, TIME_HMS_TEXT)
-{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
-
-int TimeFormatHMS::handle_event()
-{
-       tfwindow->update(TIME_HMS);
-       return 1;
-}
-
-TimeFormatHMSF::TimeFormatHMSF(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y)
- : BC_Radial(x, y, value, TIME_HMSF_TEXT)
-{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
-
-int TimeFormatHMSF::handle_event()
-{
-       tfwindow->update(TIME_HMSF);
-       return 1;
-}
-
-TimeFormatSamples::TimeFormatSamples(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y)
- : BC_Radial(x, y, value, TIME_SAMPLES_TEXT)
-{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
-
-int TimeFormatSamples::handle_event()
-{
-       tfwindow->update(TIME_SAMPLES);
-       return 1;
-}
-
-TimeFormatFrames::TimeFormatFrames(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y)
- : BC_Radial(x, y, value, TIME_FRAMES_TEXT)
-{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
-
-int TimeFormatFrames::handle_event()
-{
-       tfwindow->update(TIME_FRAMES);
-       return 1;
-}
-
-TimeFormatHex::TimeFormatHex(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y)
- : BC_Radial(x, y, value, TIME_SAMPLES_HEX_TEXT)
-{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
-
-int TimeFormatHex::handle_event()
-{
-       tfwindow->update(TIME_SAMPLES_HEX);
-       return 1;
-}
-
-TimeFormatSeconds::TimeFormatSeconds(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y)
- : BC_Radial(x, y, value, TIME_SECONDS_TEXT)
-{
-       this->pwindow = pwindow;
-       this->tfwindow = tfwindow;
-}
-
-int TimeFormatSeconds::handle_event()
-{
-       tfwindow->update(TIME_SECONDS);
-       return 1;
-}
-
-TimeFormatFeet::TimeFormatFeet(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y)
- : BC_Radial(x, y, value, TIME_FEET_FRAMES_TEXT)
-{ this->pwindow = pwindow; this->tfwindow = tfwindow; }
-
-int TimeFormatFeet::handle_event()
-{
-       tfwindow->update(TIME_FEET_FRAMES);
-       return 1;
-}
-
-TimeFormatFeetSetting::TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string)
- : BC_TextBox(x, y, 90, 1, string)
-{ this->pwindow = pwindow; }
-
-int TimeFormatFeetSetting::handle_event()
-{
-       pwindow->thread->edl->session->frames_per_foot = atof(get_text());
-       if(pwindow->thread->edl->session->frames_per_foot < 1) pwindow->thread->edl->session->frames_per_foot = 1;
-       return 0;
-}
-
-
-
-
-ViewBehaviourText::ViewBehaviourText(int x,
-       int y,
-       const char *text,
-       PreferencesWindow *pwindow,
+ViewBehaviourText::ViewBehaviourText(int x, int y, const char *text, PreferencesWindow *pwindow,
        int *output)
  : BC_PopupMenu(x, y, 200, text)
 {
@@ -514,7 +322,6 @@ int ViewBehaviourText::handle_event()
 
 void ViewBehaviourText::create_objects()
 {
-// Video4linux versions are automatically detected
        add_item(new ViewBehaviourItem(this, _(MOVE_ALL_EDITS_TITLE), MOVE_ALL_EDITS));
        add_item(new ViewBehaviourItem(this, _(MOVE_ONE_EDIT_TITLE), MOVE_ONE_EDIT));
        add_item(new ViewBehaviourItem(this, _(MOVE_NO_EDITS_TITLE), MOVE_NO_EDITS));
@@ -541,8 +348,6 @@ int ViewBehaviourItem::handle_event()
 }
 
 
-
-
 MeterMinDB::MeterMinDB(PreferencesWindow *pwindow, char *text, int x, int y)
  : BC_TextBox(x, y, 50, 1, text)
 {
@@ -557,8 +362,6 @@ int MeterMinDB::handle_event()
 }
 
 
-
-
 MeterMaxDB::MeterMaxDB(PreferencesWindow *pwindow, char *text, int x, int y)
  : BC_TextBox(x, y, 50, 1, text)
 {
@@ -573,245 +376,6 @@ int MeterMaxDB::handle_event()
 }
 
 
-
-
-
-MeterVUDB::MeterVUDB(PreferencesWindow *pwindow, char *text, int y)
- : BC_Radial(145, y, pwindow->thread->edl->session->meter_format == METER_DB, text)
-{
-       this->pwindow = pwindow;
-}
-
-int MeterVUDB::handle_event()
-{
-       pwindow->thread->redraw_meters = 1;
-//     vu_int->update(0);
-       pwindow->thread->edl->session->meter_format = METER_DB;
-       return 1;
-}
-
-MeterVUInt::MeterVUInt(PreferencesWindow *pwindow, char *text, int y)
- : BC_Radial(205, y, pwindow->thread->edl->session->meter_format == METER_INT, text)
-{
-       this->pwindow = pwindow;
-}
-
-int MeterVUInt::handle_event()
-{
-       pwindow->thread->redraw_meters = 1;
-       vu_db->update(0);
-       pwindow->thread->edl->session->meter_format = METER_INT;
-       return 1;
-}
-
-
-
-
-ViewTheme::ViewTheme(int x, int y, PreferencesWindow *pwindow)
- : BC_PopupMenu(x, y, 200, pwindow->thread->preferences->theme, 1)
-{
-       this->pwindow = pwindow;
-}
-ViewTheme::~ViewTheme()
-{
-}
-
-void ViewTheme::create_objects()
-{
-       ArrayList<PluginServer*> themes;
-       MWindow::search_plugindb(0, 0, 0, 0, 1, themes);
-
-       for(int i = 0; i < themes.total; i++) {
-               add_item(new ViewThemeItem(this, themes.values[i]->title));
-       }
-}
-
-int ViewTheme::handle_event()
-{
-       return 1;
-}
-
-ViewThemeItem::ViewThemeItem(ViewTheme *popup, const char *text)
- : BC_MenuItem(text)
-{
-       this->popup = popup;
-}
-
-int ViewThemeItem::handle_event()
-{
-       popup->set_text(get_text());
-       strcpy(popup->pwindow->thread->preferences->theme, get_text());
-       popup->handle_event();
-       return 1;
-}
-
-
-ViewPluginIcons::ViewPluginIcons(int x, int y, PreferencesWindow *pwindow)
- : BC_PopupMenu(x, y, 200, pwindow->thread->preferences->plugin_icons, 1)
-{
-       this->pwindow = pwindow;
-}
-ViewPluginIcons::~ViewPluginIcons()
-{
-}
-
-void ViewPluginIcons::create_objects()
-{
-       add_item(new ViewPluginIconItem(this, DEFAULT_PICON));
-       FileSystem fs;
-       const char *plugin_path = File::get_plugin_path();
-       fs.update(plugin_path);
-       if( fs.update(plugin_path) ) return;
-       for( int i=0; i<fs.dir_list.total; ++i ) {
-               char *fs_path = fs.dir_list[i]->path;
-               if( !fs.is_dir(fs_path) ) continue;
-               char *cp = strrchr(fs_path,'/');
-               cp = !cp ? fs_path : cp+1;
-               if( strncmp("picon_", cp, 6) ) continue;
-               cp += 6;
-               add_item(new ViewPluginIconItem(this, cp));
-       }
-}
-
-int ViewPluginIcons::handle_event()
-{
-       return 1;
-}
-
-ViewPluginIconItem::ViewPluginIconItem(ViewPluginIcons *popup, const char *text)
- : BC_MenuItem(text)
-{
-       this->popup = popup;
-}
-
-int ViewPluginIconItem::handle_event()
-{
-       popup->set_text(get_text());
-       strcpy(popup->pwindow->thread->preferences->plugin_icons, get_text());
-       popup->handle_event();
-       return 1;
-}
-
-
-ViewThumbnails::ViewThumbnails(int x,
-       int y,
-       PreferencesWindow *pwindow)
- : BC_CheckBox(x,
-       y,
-       pwindow->thread->preferences->use_thumbnails, _("Use thumbnails in resource window"))
-{
-       this->pwindow = pwindow;
-}
-
-int ViewThumbnails::handle_event()
-{
-       pwindow->thread->preferences->use_thumbnails = get_value();
-       return 1;
-}
-
-
-
-UseTipWindow::UseTipWindow(PreferencesWindow *pwindow, int x, int y)
- : BC_CheckBox(x,
-       y,
-       pwindow->thread->preferences->use_tipwindow,
-       _("Show tip of the day"))
-{
-       this->pwindow = pwindow;
-}
-int UseTipWindow::handle_event()
-{
-       pwindow->thread->preferences->use_tipwindow = get_value();
-       return 1;
-}
-
-
-UseWarnIndecies::UseWarnIndecies(PreferencesWindow *pwindow, int x, int y)
- : BC_CheckBox(x, y, pwindow->thread->preferences->warn_indexes,
-       _("ffmpeg probe warns rebuild indexes"))
-{
-       this->pwindow = pwindow;
-}
-
-int UseWarnIndecies::handle_event()
-{
-       pwindow->thread->preferences->warn_indexes = get_value();
-       return 1;
-}
-
-UseWarnVersion::UseWarnVersion(PreferencesWindow *pwindow, int x, int y)
- : BC_CheckBox(x, y, pwindow->thread->preferences->warn_version,
-       _("EDL version warns if mismatched"))
-{
-       this->pwindow = pwindow;
-}
-
-int UseWarnVersion::handle_event()
-{
-       pwindow->thread->preferences->warn_version = get_value();
-       return 1;
-}
-
-BD_WarnRoot::BD_WarnRoot(PreferencesWindow *pwindow, int x, int y)
- : BC_CheckBox(x, y, pwindow->thread->preferences->bd_warn_root,
-       _("Create Bluray warns if not root"))
-{
-       this->pwindow = pwindow;
-}
-
-int BD_WarnRoot::handle_event()
-{
-       pwindow->thread->preferences->bd_warn_root = get_value();
-       return 1;
-}
-
-PopupMenuBtnup::PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y)
- : BC_CheckBox(x, y, pwindow->thread->preferences->popupmenu_btnup,
-       _("Popups activate on button up"))
-{
-       this->pwindow = pwindow;
-}
-
-int PopupMenuBtnup::handle_event()
-{
-       pwindow->thread->preferences->popupmenu_btnup = get_value();
-       return 1;
-}
-
-ActivateFocusPolicy::ActivateFocusPolicy(PreferencesWindow *pwindow, int x, int y)
- : BC_CheckBox(x, y, (pwindow->thread->preferences->textbox_focus_policy & CLICK_ACTIVATE) != 0,
-       _("Click to activate text focus"))
-{
-       this->pwindow = pwindow;
-}
-
-int ActivateFocusPolicy::handle_event()
-{
-       if( get_value() )
-               pwindow->thread->preferences->textbox_focus_policy |= CLICK_ACTIVATE;
-       else
-               pwindow->thread->preferences->textbox_focus_policy &= ~CLICK_ACTIVATE;
-       return 1;
-}
-
-DeactivateFocusPolicy::DeactivateFocusPolicy(PreferencesWindow *pwindow, int x, int y)
- : BC_CheckBox(x, y, (pwindow->thread->preferences->textbox_focus_policy & CLICK_DEACTIVATE) != 0,
-       _("Click to deactivate text focus"))
-{
-       this->pwindow = pwindow;
-}
-
-int DeactivateFocusPolicy::handle_event()
-{
-       if( get_value() )
-               pwindow->thread->preferences->textbox_focus_policy |= CLICK_DEACTIVATE;
-       else
-               pwindow->thread->preferences->textbox_focus_policy &= ~CLICK_DEACTIVATE;
-       return 1;
-}
-
-
-
 ScanCommercials::ScanCommercials(PreferencesWindow *pwindow, int x, int y)
  : BC_CheckBox(x,
        y,
@@ -964,3 +528,74 @@ void KeyframeReticle::create_objects()
        add_item(new HairlineItem(this, HAIRLINE_ALWAYS));
 }
 
+PrefsTrapSigSEGV::PrefsTrapSigSEGV(InterfacePrefs *subwindow, int x, int y)
+ : BC_CheckBox(x, y,
+       subwindow->pwindow->thread->preferences->trap_sigsegv,
+       _("trap sigSEGV"))
+{
+       this->subwindow = subwindow;
+}
+PrefsTrapSigSEGV::~PrefsTrapSigSEGV()
+{
+}
+int PrefsTrapSigSEGV::handle_event()
+{
+       subwindow->pwindow->thread->preferences->trap_sigsegv = get_value();
+       return 1;
+}
+
+PrefsTrapSigINTR::PrefsTrapSigINTR(InterfacePrefs *subwindow, int x, int y)
+ : BC_CheckBox(x, y,
+       subwindow->pwindow->thread->preferences->trap_sigintr,
+       _("trap sigINT"))
+{
+       this->subwindow = subwindow;
+}
+PrefsTrapSigINTR::~PrefsTrapSigINTR()
+{
+}
+int PrefsTrapSigINTR::handle_event()
+{
+       subwindow->pwindow->thread->preferences->trap_sigintr = get_value();
+       return 1;
+}
+
+
+void InterfacePrefs::start_probe_dialog()
+{
+       if( !file_probe_dialog )
+               file_probe_dialog = new FileProbeDialog(pwindow);
+       file_probe_dialog->start();
+}
+
+PrefsFileProbes::PrefsFileProbes(PreferencesWindow *pwindow,
+               InterfacePrefs *subwindow, int x, int y)
+ : BC_GenericButton(x, y, _("Probe Order"))
+{
+       this->pwindow = pwindow;
+       this->subwindow = subwindow;
+       set_tooltip(_("File Open Probe Ordering"));
+}
+
+int PrefsFileProbes::handle_event()
+{
+       subwindow->start_probe_dialog();
+       return 1;
+}
+
+
+PrefsYUV420P_DVDlace::PrefsYUV420P_DVDlace(PreferencesWindow *pwindow,
+       InterfacePrefs *subwindow, int x, int y)
+ : BC_CheckBox(x, y, pwindow->thread->preferences->dvd_yuv420p_interlace,
+       _("Use yuv420p dvd interlace format"))
+{
+       this->pwindow = pwindow;
+       this->subwindow = subwindow;
+}
+
+int PrefsYUV420P_DVDlace::handle_event()
+{
+       pwindow->thread->preferences->dvd_yuv420p_interlace = get_value();
+       return 1;
+}
+
index 674bdc0f93bddf5761a7efd05db879846152f2cb..12d43a312eec0ffac6fd4f22576d6274b7c3fc6b 100644 (file)
 #ifndef INTERFACEPREFS_H
 #define INTERFACEPREFS_H
 
-class InterfacePrefs;
-class IndexPathText;
-class IndexSize;
-class IndexCount;
-class TimeFormatHMS;
-class TimeFormatHMSF;
-class TimeFormatSamples;
-class TimeFormatFrames;
-class TimeFormatHex;
-class TimeFormatFeet;
-class TimeFormatSeconds;
-class TimeFormatFeetSetting;
-class MeterMinDB;
-class MeterMaxDB;
-class MeterVUDB;
-class MeterVUInt;
-class ViewBehaviourText;
-class ViewBehaviourItem;
-class ViewTheme;
-class ViewThemeItem;
-class ViewPluginIcons;
-class ViewPluginIconItem;
-class ViewThumbnails;
-class UseTipWindow;
-class UseWarnIndecies;
-class UseWarnVersion;
-class BD_WarnRoot;
-class ScanCommercials;
-class AndroidRemote;
-class PopupMenuBtnup;
-class ActivateFocusPolicy;
-class DeactivateFocusPolicy;
-class AndroidPIN;
-class AndroidPort;
-class ShBtnPrefs;
-class StillImageUseDuration;
-class StillImageDuration;
-class KeyframeReticle;
-class HairlineItem;
-class IndexFFMPEGMarkerFiles;
-
 #include "browsebutton.h"
 #include "deleteallindexes.inc"
+#include "interfaceprefs.inc"
 #include "mwindow.inc"
 #include "preferencesthread.h"
+#include "probeprefs.inc"
 #include "shbtnprefs.inc"
 
 
@@ -81,6 +42,7 @@ public:
        int update(int new_value);
        const char* behavior_to_text(int mode);
        int start_shbtn_dialog();
+       void start_probe_dialog();
 
        BrowseButton *ipath;
        IndexSize *isize;
@@ -89,22 +51,17 @@ public:
        DeleteAllIndexes *deleteall;
        IndexFFMPEGMarkerFiles *ffmpeg_marker_files;
 
-       TimeFormatHMS *hms;
-       TimeFormatHMSF *hmsf;
-       TimeFormatSamples *samples;
-       TimeFormatHex *hex;
-       TimeFormatFrames *frames;
-       TimeFormatFeet *feet;
-       TimeFormatSeconds *seconds;
-
+       ViewBehaviourText *button1, *button2, *button3;
        MeterMinDB *min_db;
        MeterMaxDB *max_db;
-       MeterVUDB *vu_db;
-//     MeterVUInt *vu_int;
-       ViewBehaviourText *button1, *button2, *button3;
-       ViewThumbnails *thumbnails;
+
        ShBtnEditDialog *shbtn_dialog;
        KeyframeReticle *keyframe_reticle;
+       PrefsYUV420P_DVDlace *yuv420p_dvdlace;
+       FileProbeDialog *file_probe_dialog;
+       PrefsFileProbes *file_probes;
+       PrefsTrapSigSEGV *trap_segv;
+       PrefsTrapSigINTR *trap_intr;
 };
 
 
@@ -134,122 +91,12 @@ public:
        PreferencesWindow *pwindow;
 };
 
-class TimeFormatHMS : public BC_Radial
-{
-public:
-       TimeFormatHMS(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-       InterfacePrefs *tfwindow;
-};
-
-class TimeFormatHMSF : public BC_Radial
-{
-public:
-       TimeFormatHMSF(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-       InterfacePrefs *tfwindow;
-};
-
-class TimeFormatSamples : public BC_Radial
-{
-public:
-       TimeFormatSamples(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-       InterfacePrefs *tfwindow;
-};
-
-class TimeFormatFrames : public BC_Radial
-{
-public:
-       TimeFormatFrames(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-       InterfacePrefs *tfwindow;
-};
-
-class TimeFormatHex : public BC_Radial
-{
-public:
-       TimeFormatHex(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-       InterfacePrefs *tfwindow;
-};
-
-class TimeFormatFeet : public BC_Radial
-{
-public:
-       TimeFormatFeet(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-       InterfacePrefs *tfwindow;
-};
-
-class TimeFormatSeconds : public BC_Radial
-{
-public:
-       TimeFormatSeconds(PreferencesWindow *pwindow, InterfacePrefs *tfwindow, int value, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-       InterfacePrefs *tfwindow;
-};
-
-class TimeFormatFeetSetting : public BC_TextBox
-{
-public:
-       TimeFormatFeetSetting(PreferencesWindow *pwindow, int x, int y, char *string);
-       int handle_event();
-       PreferencesWindow *pwindow;
-};
-
-
-
-class MeterMinDB : public BC_TextBox
-{
-public:
-       MeterMinDB(PreferencesWindow *pwindow, char *text, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-};
-
-
-class MeterMaxDB : public BC_TextBox
-{
-public:
-       MeterMaxDB(PreferencesWindow *pwindow, char *text, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-};
-
-class MeterVUDB : public BC_Radial
-{
-public:
-       MeterVUDB(PreferencesWindow *pwindow, char *text, int y);
-       int handle_event();
-//     MeterVUInt *vu_int;
-       PreferencesWindow *pwindow;
-};
-
-class MeterVUInt : public BC_Radial
-{
-public:
-       MeterVUInt(PreferencesWindow *pwindow, char *text, int y);
-       int handle_event();
-       MeterVUDB *vu_db;
-       PreferencesWindow *pwindow;
-};
 
 class ViewBehaviourText : public BC_PopupMenu
 {
 public:
-       ViewBehaviourText(int x,
-               int y,
-               const char *text,
-               PreferencesWindow *pwindow,
-               int *output);
+       ViewBehaviourText(int x, int y, const char *text,
+               PreferencesWindow *pwindow, int *output);
        ~ViewBehaviourText();
 
        int handle_event();  // user copies text to value here
@@ -269,82 +116,20 @@ public:
        int behaviour;
 };
 
-class ViewTheme : public BC_PopupMenu
-{
-public:
-       ViewTheme(int x, int y, PreferencesWindow *pwindow);
-       ~ViewTheme();
 
-       void create_objects();
-       int handle_event();
-
-       PreferencesWindow *pwindow;
-};
-
-class ViewThemeItem : public BC_MenuItem
-{
-public:
-       ViewThemeItem(ViewTheme *popup, const char *text);
-       int handle_event();
-       ViewTheme *popup;
-};
-
-class ViewPluginIcons : public BC_PopupMenu
-{
-public:
-       ViewPluginIcons(int x, int y, PreferencesWindow *pwindow);
-       ~ViewPluginIcons();
-
-       void create_objects();
-       int handle_event();
-
-       PreferencesWindow *pwindow;
-};
-
-class ViewPluginIconItem : public BC_MenuItem
-{
-public:
-       ViewPluginIconItem(ViewPluginIcons *popup, const char *text);
-       int handle_event();
-       ViewPluginIcons *popup;
-};
-
-class ViewThumbnails : public BC_CheckBox
-{
-public:
-       ViewThumbnails(int x, int y, PreferencesWindow *pwindow);
-       int handle_event();
-       PreferencesWindow *pwindow;
-};
-
-class UseTipWindow : public BC_CheckBox
-{
-public:
-       UseTipWindow(PreferencesWindow *pwindow, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-};
-
-class UseWarnIndecies : public BC_CheckBox
+class MeterMinDB : public BC_TextBox
 {
 public:
-       UseWarnIndecies(PreferencesWindow *pwindow, int x, int y);
+       MeterMinDB(PreferencesWindow *pwindow, char *text, int x, int y);
        int handle_event();
        PreferencesWindow *pwindow;
 };
 
-class UseWarnVersion : public BC_CheckBox
-{
-public:
-       UseWarnVersion(PreferencesWindow *pwindow, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-};
 
-class BD_WarnRoot : public BC_CheckBox
+class MeterMaxDB : public BC_TextBox
 {
 public:
-       BD_WarnRoot(PreferencesWindow *pwindow, int x, int y);
+       MeterMaxDB(PreferencesWindow *pwindow, char *text, int x, int y);
        int handle_event();
        PreferencesWindow *pwindow;
 };
@@ -365,30 +150,6 @@ public:
        PreferencesWindow *pwindow;
 };
 
-class PopupMenuBtnup : public BC_CheckBox
-{
-public:
-       PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-};
-
-class ActivateFocusPolicy : public BC_CheckBox
-{
-public:
-       ActivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-};
-
-class DeactivateFocusPolicy : public BC_CheckBox
-{
-public:
-       DeactivateFocusPolicy(PreferencesWindow *pwindow, int x, int y);
-       int handle_event();
-       PreferencesWindow *pwindow;
-};
-
 class AndroidPIN : public BC_TextBox
 {
 public:
@@ -464,4 +225,48 @@ public:
 };
 
 
+class PrefsTrapSigSEGV : public BC_CheckBox
+{
+public:
+       PrefsTrapSigSEGV(InterfacePrefs *subwindow, int x, int y);
+       ~PrefsTrapSigSEGV();
+       int handle_event();
+
+       InterfacePrefs *subwindow;
+};
+
+class PrefsTrapSigINTR : public BC_CheckBox
+{
+public:
+       PrefsTrapSigINTR(InterfacePrefs *subwindow, int x, int y);
+       ~PrefsTrapSigINTR();
+       int handle_event();
+
+       InterfacePrefs *subwindow;
+};
+
+
+class PrefsFileProbes : public BC_GenericButton
+{
+public:
+       PreferencesWindow *pwindow;
+       InterfacePrefs *subwindow;
+
+       int handle_event();
+       PrefsFileProbes(PreferencesWindow *pwindow, InterfacePrefs *subwindow, int x, int y);
+};
+
+
+class PrefsYUV420P_DVDlace : public BC_CheckBox
+{
+public:
+       PrefsYUV420P_DVDlace(PreferencesWindow *pwindow,
+               InterfacePrefs *subwindow, int x, int y);
+       int handle_event();
+
+       InterfacePrefs *subwindow;
+       PreferencesWindow *pwindow;
+};
+
+
 #endif
index 638f28bf09b4eb43a98f660644d52a70af219066..727b9601ebce2fb4d0b277e597481a9858907bac 100644 (file)
 #define INTERFACEPREFS_INC
 
 class InterfacePrefs;
+class IndexPathText;
+class IndexSize;
+class IndexCount;
+class ViewBehaviourText;
+class ViewBehaviourItem;
+class MeterMinDB;
+class MeterMaxDB;
+class ScanCommercials;
+class AndroidRemote;
+class AndroidPIN;
+class AndroidPort;
+class ShBtnPrefs;
+class StillImageUseDuration;
+class StillImageDuration;
+class KeyframeReticle;
+class HairlineItem;
+class IndexFFMPEGMarkerFiles;
+class PrefsTrapSigSEGV;
+class PrefsTrapSigINTR;
+class PrefsFileProbes;
+class PrefsYUV420P_DVDlace;
 
 #endif
index c6c0d58749794e80bcc83a4c2fc973b66cc836e5..f685d018c5f0c9a6fd5361cee54a51c12b0912f2 100644 (file)
@@ -23,8 +23,8 @@
 #define MWINDOW_INC
 
 #define PROGRAM_NAME "Cinelerra"
-#define DEFAULT_THEME "S.U.V."
-#define DEFAULT_PICON "picon"
+#define DEFAULT_THEME "UnFlat"
+#define DEFAULT_PICON "cinfinity"
 #define CONFIG_FILE "Cinelerra_rc"
 #define PRESETS_FILE "Cinelerra_presets"
 #define PICTURE_FILE "Cinelerra_picture"
index 8edc41d51bc264b1e31f2e23d6582cecef64511e..148670a07b33ef6292b1c16afa5577548f5f2f0b 100644 (file)
@@ -28,7 +28,6 @@
 #include "mwindow.h"
 #include "performanceprefs.h"
 #include "preferences.h"
-#include "probeprefs.h"
 #include <string.h>
 #include "theme.h"
 
@@ -41,13 +40,11 @@ PerformancePrefs::PerformancePrefs(MWindow *mwindow, PreferencesWindow *pwindow)
  : PreferencesDialog(mwindow, pwindow)
 {
        hot_node = -1;
-       file_probe_dialog = 0;
 }
 
 PerformancePrefs::~PerformancePrefs()
 {
        delete brender_tools;
-       delete file_probe_dialog;
        nodes[0].remove_all_objects();
        nodes[1].remove_all_objects();
        nodes[2].remove_all_objects();
@@ -58,9 +55,9 @@ void PerformancePrefs::create_objects()
 {
        int x, y;
        int xmargin1;
-       int xmargin2 = 170;
-       int xmargin3 = 250;
-       int xmargin4 = 380;
+       int xmargin2 = 180;
+       int xmargin3 = 260;
+       int xmargin4 = 420;
        char string[BCTEXTLEN];
        BC_Resources *resources = BC_WindowBase::get_resources();
        BC_WindowBase *win;
@@ -93,37 +90,21 @@ void PerformancePrefs::create_objects()
 
        cache_size = new CICacheSize(maxw, y0, pwindow, this);
        cache_size->create_objects();
-       int x1 = cache_size->get_x() + cache_size->get_w() + 30;
-       add_subwindow(file_probes = new PrefsFileProbes(pwindow, this, x1, y0));
 
        add_subwindow(new BC_Title(x, y + 5, _("Seconds to preroll renders:")));
        PrefsRenderPreroll *preroll = new PrefsRenderPreroll(pwindow, this, maxw, y1);
        preroll->create_objects();
+       y += 30;
+
+       int x1 = x + xmargin4;
        BC_Title *smp_title = new BC_Title(x1, y + 5, _("Project SMP cpus:"));
        add_subwindow(smp_title);
        int x2 = x1 + smp_title->get_w() + 5;
        PrefsProjectSMP *proj_smp = new PrefsProjectSMP(pwindow, this, x2, y);
        proj_smp->create_objects();
 
-       y += 30;
        PrefsForceUniprocessor *force_1cpu = new PrefsForceUniprocessor(pwindow, x, y);
        add_subwindow(force_1cpu);
-
-       x1 = force_1cpu->get_x() + force_1cpu->get_w() + 120;
-
-       PrefsTrapSigSEGV *trap_segv = new PrefsTrapSigSEGV(this, x1, y);
-       add_subwindow(trap_segv);
-       x2 = x1 + trap_segv->get_w() + 10;
-       add_subwindow(new BC_Title(x2, y, _("(must be root)"), MEDIUMFONT, RED));
-       y += 30;
-
-       PrefsTrapSigINTR *trap_intr = new PrefsTrapSigINTR(this, x1, y);
-       add_subwindow(trap_intr);
-       add_subwindow(new BC_Title(x2, y, _("(must be root)"), MEDIUMFONT, RED));
-       y += 30;
-
-       yuv420p_dvdlace = new PrefsYUV420P_DVDlace(pwindow, this, x1, y);
-       add_subwindow(yuv420p_dvdlace);
        y += 30;
 
 // Background rendering
@@ -134,9 +115,7 @@ void PerformancePrefs::create_objects()
        add_subwindow(new BC_Title(x, y, _("Background Rendering (Video only)"), LARGEFONT, resources->text_default));
        y1 = y += 30;
 
-       win = add_subwindow(new PrefsUseBRender(pwindow,
-               x,
-               y));
+       win = add_subwindow(new PrefsUseBRender(pwindow, x, y));
 
        y += win->get_h() + 10;
        win = add_subwindow(new BC_Title(x, y, _("Frames per background rendering job:")));
@@ -346,29 +325,6 @@ void PerformancePrefs::update_rates()
        update_node_list();
 }
 
-void PerformancePrefs::start_probe_dialog()
-{
-       if( !file_probe_dialog )
-               file_probe_dialog = new FileProbeDialog(pwindow);
-       file_probe_dialog->start();
-}
-
-PrefsFileProbes::PrefsFileProbes(PreferencesWindow *pwindow,
-               PerformancePrefs *perf_prefs, int x, int y)
- : BC_GenericButton(x, y, _("Probe Order"))
-{
-       this->pwindow = pwindow;
-       this->perf_prefs = perf_prefs;
-       set_tooltip(_("File Open Probe Ordering"));
-}
-
-int PrefsFileProbes::handle_event()
-{
-       perf_prefs->start_probe_dialog();
-       return 1;
-}
-
-
 
 PrefsUseBRender::PrefsUseBRender(PreferencesWindow *pwindow,
        int x,
@@ -542,39 +498,6 @@ int PrefsForceUniprocessor::handle_event()
        return 1;
 }
 
-PrefsTrapSigSEGV::PrefsTrapSigSEGV(PerformancePrefs *perf_prefs, int x, int y)
- : BC_CheckBox(x, y,
-       perf_prefs->pwindow->thread->preferences->trap_sigsegv,
-       _("trap sigSEGV"))
-{
-       this->perf_prefs = perf_prefs;
-}
-PrefsTrapSigSEGV::~PrefsTrapSigSEGV()
-{
-}
-int PrefsTrapSigSEGV::handle_event()
-{
-       perf_prefs->pwindow->thread->preferences->trap_sigsegv = get_value();
-       return 1;
-}
-
-PrefsTrapSigINTR::PrefsTrapSigINTR(PerformancePrefs *perf_prefs, int x, int y)
- : BC_CheckBox(x, y,
-       perf_prefs->pwindow->thread->preferences->trap_sigintr,
-       _("trap sigINT"))
-{
-       this->perf_prefs = perf_prefs;
-}
-PrefsTrapSigINTR::~PrefsTrapSigINTR()
-{
-}
-int PrefsTrapSigINTR::handle_event()
-{
-       perf_prefs->pwindow->thread->preferences->trap_sigintr = get_value();
-       return 1;
-}
-
-
 
 
 PrefsRenderFarmConsolidate::PrefsRenderFarmConsolidate(PreferencesWindow *pwindow, int x, int y)
@@ -929,19 +852,3 @@ int PrefsRenderFarmVFS::handle_event()
        return 1;
 }
 
-
-PrefsYUV420P_DVDlace::PrefsYUV420P_DVDlace(PreferencesWindow *pwindow,
-       PerformancePrefs *subwindow, int x, int y)
- : BC_CheckBox(x, y, pwindow->thread->preferences->dvd_yuv420p_interlace,
-       _("Use yuv420p dvd interlace format"))
-{
-       this->pwindow = pwindow;
-       this->subwindow = subwindow;
-}
-
-int PrefsYUV420P_DVDlace::handle_event()
-{
-       pwindow->thread->preferences->dvd_yuv420p_interlace = get_value();
-       return 1;
-}
-
index 22ba6c439a90c3a2ee79ab344181b8e454741a63..b0d7e65f4a8b529b3106560888f5faaf7a6e12bd 100644 (file)
@@ -46,7 +46,6 @@ public:
        int hot_node;
 
        CICacheSize *cache_size;
-       PrefsFileProbes *file_probes;
 
        enum
        {
@@ -63,8 +62,6 @@ public:
        PrefsRenderFarmNodes *node_list;
        FormatTools *brender_tools;
        BC_Title *master_rate;
-       PrefsYUV420P_DVDlace *yuv420p_dvdlace;
-       FileProbeDialog *file_probe_dialog;
 };
 
 
@@ -127,26 +124,6 @@ public:
        PreferencesWindow *pwindow;
 };
 
-class PrefsTrapSigSEGV : public BC_CheckBox
-{
-public:
-       PrefsTrapSigSEGV(PerformancePrefs *perf_prefs, int x, int y);
-       ~PrefsTrapSigSEGV();
-       int handle_event();
-
-       PerformancePrefs *perf_prefs;
-};
-
-class PrefsTrapSigINTR : public BC_CheckBox
-{
-public:
-       PrefsTrapSigINTR(PerformancePrefs *perf_prefs, int x, int y);
-       ~PrefsTrapSigINTR();
-       int handle_event();
-
-       PerformancePrefs *perf_prefs;
-};
-
 class PrefsFFMPEGMarkerIndecies : public BC_CheckBox
 {
 public:
@@ -347,21 +324,6 @@ public:
 };
 
 
-class PrefsYUV420P_DVDlace : public BC_CheckBox
-{
-public:
-       PrefsYUV420P_DVDlace(PreferencesWindow *pwindow,
-               PerformancePrefs *subwindow,
-               int x, int y);
-
-       int handle_event();
-
-       PerformancePrefs *subwindow;
-       PreferencesWindow *pwindow;
-};
-
-
-
 class CICacheSize : public BC_TumbleTextBox
 {
 public:
@@ -374,15 +336,4 @@ public:
 };
 
 
-class PrefsFileProbes : public BC_GenericButton
-{
-public:
-       PreferencesWindow *pwindow;
-       PerformancePrefs *perf_prefs;
-
-       int handle_event();
-       PrefsFileProbes(PreferencesWindow *pwindow, PerformancePrefs *perf_prefs, int x, int y);
-};
-
-
 #endif
index af2297162cfe23a869e80e84e1af6443d0aa9f9b..6e9a2a4ab16e9a34056ef6b89f16796f66d74918 100644 (file)
@@ -30,7 +30,6 @@ class PrefsBRenderPreroll;
 class PrefsForceUniprocessor;
 class PrefsTrapSigSEGV;
 class PrefsTrapSigINTR;
-class PrefsFFMPEGEarlyProbe;
 class PrefsFFMPEGMarkerIndecies;
 class PrefsRenderFarm;
 class PrefsRenderFarmConsolidate;
@@ -45,9 +44,6 @@ class PrefsRenderFarmReplaceNode;
 class PrefsRenderFarmDelNode;
 class PrefsRenderFarmSortNodes;
 class PrefsRenderFarmReset;
-class PrefsYUV420P_DVDlace;
 class CICacheSize;
-class PrefsFileProbes;
-
 
 #endif
index 94912ea51c6106752175216d39f808f8b99374fd..e7d121f6c5e3ed3112ddc3220e8d061f73ee264d 100644 (file)
@@ -1225,35 +1225,28 @@ Theme* PluginServer::get_theme()
 int PluginServer::get_plugin_png_path(char *png_path, const char *plugin_icons)
 {
        char *pp = png_path, *ep = pp + BCTEXTLEN-1;
-       pp += snprintf(pp, ep-pp, "%s/picon", File::get_plugin_path());
-       if( strcmp(DEFAULT_PICON, plugin_icons) )
-               pp += snprintf(pp, ep-pp, "_%s", plugin_icons);
-       if( pp < ep ) *pp++ = '/';
+       pp += snprintf(pp, ep-pp, "%s/picon_%s/",
+               File::get_plugin_path(), plugin_icons);
        char *cp = strrchr(path, '/');
        cp = !cp ? path : cp+1;
        char *sp = strrchr(cp, '.');
        if( !sp ) sp = cp+strlen(cp);
        while( pp < ep && cp < sp ) *pp++ = *cp++;
-       pp += snprintf(pp, ep-pp, ".png");
-       *pp = 0;
-       struct stat st;
-       if( stat(png_path, &st) ) return 0;
-       if( !S_ISREG(st.st_mode) ) return 0;
-       if( st.st_size == 0 ) return 0;
-       return st.st_size;
+       snprintf(pp, ep-pp, ".png");
+       return access(png_path,R_OK) ? 1 : 0;
 }
 
 int PluginServer::get_plugin_png_path(char *png_path)
 {
-       int len = get_plugin_png_path(png_path, mwindow->preferences->plugin_icons);
-       if( !len ) len = get_plugin_png_path(png_path, DEFAULT_PICON);
-       return len;
+       int ret = get_plugin_png_path(png_path, mwindow->preferences->plugin_icons);
+       if( ret ) ret = get_plugin_png_path(png_path, DEFAULT_PICON);
+       return ret;
 }
 
 VFrame *PluginServer::get_plugin_images()
 {
        char png_path[BCTEXTLEN];
-       if( !get_plugin_png_path(png_path) ) return 0;
+       if( get_plugin_png_path(png_path) ) return 0;
        return VFramePng::vframe_png(png_path,0,0);
 }
 
index 27269e231cfc43bb2c624c0e008a6ebbdf8fd5fa..c4252072995a531900fd9da4af24874eb30decfe 100644 (file)
@@ -315,8 +315,8 @@ int Preferences::load_defaults(BC_Hash *defaults)
        trap_sigintr = defaults->get("TRAP_SIGINTR", trap_sigintr);
 
        strcpy(theme, DEFAULT_THEME);
-       defaults->get("THEME", theme);
        strcpy(plugin_icons, DEFAULT_PICON);
+       defaults->get("THEME", theme);
        defaults->get("PLUGIN_ICONS", plugin_icons);
 
        for(int i = 0; i < MAXCHANNELS; i++)
index 8d4544f8d76b42014a8486b73bfaa820d315ac4c..b7c46fd5047e7e39c7096afa1726ac5e578295bb 100644 (file)
@@ -20,6 +20,7 @@
  */
 
 #include "aboutprefs.h"
+#include "appearanceprefs.h"
 #include "asset.h"
 #include "audiodevice.inc"
 #include "bcsignals.h"
@@ -62,8 +63,8 @@
 
 
 
-#define WIDTH 770
-#define HEIGHT 740
+#define WIDTH 800
+#define HEIGHT 700
 
 
 PreferencesMenuitem::PreferencesMenuitem(MWindow *mwindow)
@@ -341,6 +342,8 @@ const char* PreferencesThread::category_to_text(int category)
                        return _("Performance");
                case INTERFACE:
                        return _("Interface");
+               case APPEARANCE:
+                       return _("Appearance");
                case ABOUT:
                        return _("About");
        }
@@ -409,11 +412,7 @@ void PreferencesWindow::create_objects()
        for(int i = 0; i < CATEGORIES; i++)
        {
                add_subwindow(category_button[i] = new PreferencesButton(mwindow,
-                       thread,
-                       x,
-                       y,
-                       i,
-                       thread->category_to_text(i),
+                       thread, x, y, i, thread->category_to_text(i),
                        (i == thread->current_dialog) ?
                                mwindow->theme->get_image_set("category_button_checked") :
                                mwindow->theme->get_image_set("category_button")));
@@ -519,6 +518,10 @@ int PreferencesWindow::set_current_dialog(int number)
                        add_subwindow(dialog = new InterfacePrefs(mwindow, this));
                        break;
 
+               case PreferencesThread::APPEARANCE:
+                       add_subwindow(dialog = new AppearancePrefs(mwindow, this));
+                       break;
+
                case PreferencesThread::ABOUT:
                        add_subwindow(dialog = new AboutPrefs(mwindow, this));
                        break;
index a2437018dd2fc1e96ea464bfd56a2de9b8935b9b..4cec37ebca162321259848d73064ee3e009ec8a1 100644 (file)
@@ -75,7 +75,7 @@ public:
        EDL *edl;
 
 // Categories
-#define CATEGORIES 6
+#define CATEGORIES 7
        enum
        {
                PLAYBACK_A,
@@ -83,6 +83,7 @@ public:
                RECORD,
                PERFORMANCE,
                INTERFACE,
+               APPEARANCE,
                ABOUT
        };
 };
index a3efa4dc7229464eb039e0a820a46fd08adb0ae7..9beef424e09af374686870fbbe94c7d86aa99a54 100644 (file)
@@ -606,7 +606,7 @@ int FileSystem::parse_tildas(char *new_dir)
 int FileSystem::parse_directories(char *new_dir)
 {
 //printf("FileSystem::parse_directories 1 %s\n", new_dir);
-       if( *new_dir != '/' ) {  // expand to abs path
+       if( *new_dir != '/' && current_dir[0] ) {  // expand to abs path
                char string[BCTEXTLEN];
                strcpy(string, current_dir);
                add_end_slash(string);
index 4c54088f0b8b1dd42fb8672efc2ee1f366a0f7f0..e03d3c4d744bc007e64e6dfc1d98ee4e205122c1 100644 (file)
@@ -8,7 +8,7 @@ $(shell mkdir -p $(OBJDIR))
 
 PLUGIN_DIR := $(BINDIR)/plugins
 OUTPUT_DIR = $(PLUGIN_DIR)/$($(PLUGIN))
-PLUGIN_PNGS = $(wildcard picon*.png)
+PLUGIN_PNGS = $(wildcard picon_*.png)
 OUTPUT_PNGS = $(foreach png,$(PLUGIN_PNGS), $(PLUGIN_DIR)/$(basename $(png))/$(PLUGIN).png)
 OUTPUT = $(OUTPUT_DIR)/$(PLUGIN).plugin
 OUTPUT_G = $(OBJDIR)/$(PLUGIN).debuginfo