1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 11:07:45 +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:
kleines Filmröllchen 2022-03-03 11:28:28 +01:00 committed by Andreas Kling
parent d2510d0caa
commit 1088c2c716
2 changed files with 4 additions and 4 deletions

View file

@ -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,

View file

@ -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;