Skip to content

introduction

just-Addict edited this page Jun 24, 2016 · 1 revision

#seekbar-with-gimmicks

##Introduction

Since you are reading this you probably already have collected several of effect 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 and you would like to use together in a single effect, 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, symetric, flipped and flattened)
  • 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 auto scrolling the display while the track plays
  • displaying a 'zoom' highlight indicating the part that would be visible in scrolling mode
  • 'noise' to add a static or animated pattern to background or waveform
  • various different ways to display the position bar.
  • peak meter displays showing peak values or peak differences using spectrum color scale
  • 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).

Clone this wiki locally