RINGBUFFER: Fixed default value

A default-constructed ringbuffer should not assert at instantiation,
otherwise there is no need for a default constructor.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
SYNTHESIZER: Better (templatized) floor-and-convert utility function

Instead of writing one function for each input and output type
combination, this one is now templatized. It proved to be a more
elegant solution.
Also all places were this function were relying on were updated.
Eventually a ceil-and-convert function of the same kind was added.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERPOLATOR: Better default value for interpolation ratio

A zero value was meaningless here and made the default-constructed object
unusable.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
MISC: Various minor style fixes

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTEPROLATOR: Added a ratio getter

This will prove useful since the ratio will not have to be stored elsewhere
when the interpolator is aggregated to another object.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
MISC: Various style fixes

- Better constness
- Using newly created templatized functions for ceil-and-convert
- Some typos
- TODO fixes

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
INTERPOLATOR: Can no longer be derived from

This is probably better to aggregate it - no further object in the
synthesizer should be "an interpolator".
If need be, this can be changed anyway.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
RINGBUFFER: First attempt at creating a "inheritable from" ringbuffer

The future Adapter object is supposed to be "a ringbuffer", e.g. inherits
from it. To do this the RingBuffer class needs:
- A few methods to be virtuals, especially its destructor.
- A few methods more in order to make the interface not virtual (but
internal private call virtuals)
- A few more generic methods, such as a ResizeIfNeedBe() instead of
a manual check on its internal size done by an external user.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>
SYNTHESIZER: Created an Adapter class

This object will perform sampling frequencies and block size matching.

Its associated test file (and one first test) was also created.

Note that this is still in progress.

Signed-off-by: Gama <misept.dieseneuf@gmail.com>