mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 12:37:44 +00:00
Piano: Decrease sample headroom
Multiplying all samples by 0.1 was kind of silly. This also requires adjusting the wave visualizer so that the waves still fit.
This commit is contained in:
parent
d2510d0caa
commit
1088c2c716
2 changed files with 4 additions and 4 deletions
|
@ -31,7 +31,7 @@ constexpr int buffer_size = sample_count * sizeof(Sample);
|
||||||
constexpr double sample_rate = 44100;
|
constexpr double sample_rate = 44100;
|
||||||
|
|
||||||
// Headroom for the synth
|
// Headroom for the synth
|
||||||
constexpr double volume_factor = 0.1;
|
constexpr double volume_factor = 0.8;
|
||||||
|
|
||||||
enum Switch {
|
enum Switch {
|
||||||
Off,
|
Off,
|
||||||
|
|
|
@ -18,10 +18,10 @@ WaveWidget::WaveWidget(TrackManager& track_manager)
|
||||||
|
|
||||||
int WaveWidget::sample_to_y(int sample) const
|
int WaveWidget::sample_to_y(int sample) const
|
||||||
{
|
{
|
||||||
constexpr int nice_scale_factor = 4;
|
// Sample scaling that looks good, experimentally determined.
|
||||||
sample *= nice_scale_factor;
|
constexpr double nice_scale_factor = 1.0;
|
||||||
constexpr double sample_max = NumericLimits<i16>::max();
|
constexpr double sample_max = NumericLimits<i16>::max();
|
||||||
double percentage = sample / sample_max;
|
double percentage = sample / sample_max * nice_scale_factor;
|
||||||
double portion_of_half_height = percentage * ((frame_inner_rect().height() - 1) / 2.0);
|
double portion_of_half_height = percentage * ((frame_inner_rect().height() - 1) / 2.0);
|
||||||
double y = (frame_inner_rect().height() / 2.0) + portion_of_half_height;
|
double y = (frame_inner_rect().height() / 2.0) + portion_of_half_height;
|
||||||
return y;
|
return y;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue