-
Notifications
You must be signed in to change notification settings - Fork 0
Home
#Welcome to the seekbar-with-gimmicks
##Introduction
If you use the wave seekbar component for Foobar2000 then you are probably aware that it has the option to use custom effect files which alter the way the waveform is drawn by the component. Over time you may have collected several of these files while reading the Foobar2000 forum.
A disadvantage of this is that if you want to change the appearance, you need to copy/paste another effect file in the component's Frontend settings... editor. Another disadvantage is that if you have two different effect files each with their own specific appearances which you like to use together, then you will need to edit both files to extract the code relating to these specific appearances and somehow combine them into a new effect file. For some people this is a walk in the park, for others it may be like stepping into a pool of quicksand
The seekbar-with-gimmicks effect file attempts to offer a variety of appearances for the waveform in a single file. It does this through the use of what is known amongst programmers as conditional compiler directives. Each of the various aspects which can alter the appearance is controlled by such a directive.
When you press Apply in the component's Frontend settings... dialog, you are in fact compiling the effect file so that it can be executed by the component. When an effect file is compiled, these directives inform the compiler what to do with certain parts of the effect code. Because of this it is possible to change the appearance of the waveform substantially just by enabling or disabling one or more of these directives.
The directives used can roughly be divided into several groups. This is purely a rough separation as some feature specific directives can have such an impact that they completely alter the appearance at the same time.
- appearance
- color
- highlights
- position bars
- feature specific
- modifiers
Currently the seekbar-with-gimmicks has the following features:
- presets to quickly switch between different appearances
- scaling the waveform within the viewport using either replay gain data or magnitude data
- indicating possible clipping. (This is purely as indication and not exact)
- gradient options (asymetric and symetric)
- enhancing or hiding the line dividing upper and lower half of a waveform
- adding a border around the highlighted area or around the full viewport.
- overlaying a grid with configurable gridsize, weight and color intensity.
- overlaying a time scale along the upper/lower border or at the zero line
- predefined color selections allowing for quick changing of color settings
- altering the detail level of the edge of the waveform
- altering the fuzzyness of the waveform's edge
- drawing the waveform as an outline
- highlighting the played or to-be-played part of a waveform in various ways.
- 'zooming in' on the waveform and scrolling the display while the track plays
- displaying a 'zoom' highlight indicating the part that would be visible in scrolling mode
- 'noise' to add static or animated patterns to background or waveform
- various different ways to display the position bar.
- peak meter displays showing peak values or peak differences using spectrum colors
- waveform using the same methods as the peak meter to color the waveform
- probably some I've not yet realized I forgot to mention
Besides the directives there are also some settings you can change to tune the behavior of some of these directives.
Use the sidebar to see descriptions and screenshots of how settings and directives alter the appearance of the waveform. Please note that most screenshots will be using different shades of gray. This indicates that colors can be freely selected and applied. Consequently you will also see screenshots in color where the color is either controled by presets or procedurally (unless otherwise indicated).