Skip to content

Commit 6f93c8c

Browse files
author
dogatech
committed
add constant to volume adjustment
1 parent c454b2c commit 6f93c8c

4 files changed

Lines changed: 9 additions & 4 deletions

File tree

be/src/SoulSifterSettings.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ namespace soulsifter {
5959
//ptree.put("midi.pauseAudio", "");
6060
ptree.put("midi.volume.exponentialFactor", "0.25");
6161
ptree.put("midi.volume.linearFactor", "1.125");
62+
ptree.put("midi.volume.constantFactor", "0");
6263
//ptree.put("midi.volume.value", "");
6364
ptree.put("search.energyGap", 1);
6465
ptree.put("search.includeUnknownKeys", true);

fe/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "SoulSifter",
33
"version": "1.10.0",
44
"description": "DJ & music organization app.",
5-
"build": 4220,
5+
"build": 4221,
66
"main": "main.js",
77
"scripts": {
88
"fe:build": "vite build",

fe/src/search-toolbar.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -412,12 +412,13 @@ class SearchToolbar extends AlertsMixin(BpmMixin(QueryMixin(SearchMixin(SearchOp
412412
this.settings.getString('midi.volume.value'),
413413
e => {
414414
const value = e.rawValue >= 1 ? e.rawValue / 127 : e.rawValue;
415-
let exp = Number(this.settings.getString('midi.volume.exponentialFactor'));
416-
let linear = Number(this.settings.getString('midi.volume.linearFactor'));
415+
const exp = Number(this.settings.getString('midi.volume.exponentialFactor'));
416+
const linear = Number(this.settings.getString('midi.volume.linearFactor'));
417+
const b = Number(this.settings.getString('midi.volume.constantFactor'));
417418
// 0.93*x^1/2.5 looks to match the closest curve,
418419
// but osx prob has its own curve that we have to compensate for
419420
// https://www.desmos.com/calculator/pwfyfk6yb2
420-
let y = Math.pow(value, exp) * linear;
421+
let y = Math.pow(value, exp) * linear + b;
421422
console.log(`Setting volume to ${y} from value ${value}`);
422423
let vol = Math.max(Math.min(y, 1), 0);
423424
this.volume = vol * 100;

fe/src/settings-edit.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ class SettingsEdit extends SettingsMixin(LitElement) {
7575
<div class="fields">
7676
<md-filled-text-field label="Midi volume exp scale" .value=${this.midiVolumeExponentialFactor} id="midiVolumeExponentialFactor"></md-filled-text-field>
7777
<md-filled-text-field label="Midi volume linear scale" .value=${this.midiVolumeLinearFactor} id="midiVolumeLinearFactor"></md-filled-text-field>
78+
<md-filled-text-field label="Midi volume linear scale" .value=${this.midiVolumeConstantFactor} id="midiVolumeConstantFactor"></md-filled-text-field>
7879
<md-filled-text-field label="Volume" .value=${this.midiVolumeValue} id="midiVolumeValue" allowedPattern="${rawMidiPattern}"></md-filled-text-field>
7980
<br>
8081
<md-filled-text-field label="Preview Start Time (in %)" .value=${this.songListPreviewStartPercent} id="songListPreviewStartPercent"></md-filled-text-field>
@@ -187,6 +188,7 @@ class SettingsEdit extends SettingsMixin(LitElement) {
187188
this.midiLoadLeft = this.settings.getString('midi.loadLeft');
188189
this.midiLoadRight = this.settings.getString('midi.loadRight');
189190
this.midiPauseAudio = this.settings.getString('midi.pauseAudio');
191+
this.midiVolumeConstantFactor = this.settings.getString('midi.volume.constantFactor');
190192
this.midiVolumeExponentialFactor = this.settings.getString('midi.volume.exponentialFactor');
191193
this.midiVolumeLinearFactor = this.settings.getString('midi.volume.linearFactor');
192194
this.midiVolumeValue = this.settings.getString('midi.volume.value');
@@ -333,6 +335,7 @@ class SettingsEdit extends SettingsMixin(LitElement) {
333335
this.puts('midi.loadLeft', this.shadowRoot.getElementById('midiLoadLeft').value);
334336
this.puts('midi.loadRight', this.shadowRoot.getElementById('midiLoadRight').value);
335337
this.puts('midi.pauseAudio', this.shadowRoot.getElementById('midiPauseAudio').value);
338+
this.puts('midi.volume.constantFactor', this.shadowRoot.getElementById('midiVolumeConstantFactor').value);
336339
this.puts('midi.volume.exponentialFactor', this.shadowRoot.getElementById('midiVolumeExponentialFactor').value);
337340
this.puts('midi.volume.linearFactor', this.shadowRoot.getElementById('midiVolumeLinearFactor').value);
338341
this.puts('midi.volume.value', this.shadowRoot.getElementById('midiVolumeValue').value);

0 commit comments

Comments
 (0)