[Audio] Web Audio API hates me.
This commit is contained in:
parent
f5e4bd253a
commit
70197fb0ce
9 changed files with 978 additions and 480 deletions
|
@ -72,6 +72,8 @@ export class Store {
|
||||||
"ciderPPE_value": "MAIKIWI",
|
"ciderPPE_value": "MAIKIWI",
|
||||||
"analogWarmth": false,
|
"analogWarmth": false,
|
||||||
"analogWarmth_value": "SMOOTH",
|
"analogWarmth_value": "SMOOTH",
|
||||||
|
"atmosphereRealizer": false,
|
||||||
|
"atmosphereRealizer_value": "NATURAL_STANDARD",
|
||||||
"spatial": false,
|
"spatial": false,
|
||||||
"spatialProfile": "71_420maikiwi",
|
"spatialProfile": "71_420maikiwi",
|
||||||
"vibrantBass": { // Hard coded into the app. Don't include any of this config into exporting presets in store.ts
|
"vibrantBass": { // Hard coded into the app. Don't include any of this config into exporting presets in store.ts
|
||||||
|
|
File diff suppressed because it is too large
Load diff
BIN
src/renderer/audio/impulses/AtmosphereRealizer_Natural+.wav
Normal file
BIN
src/renderer/audio/impulses/AtmosphereRealizer_Natural+.wav
Normal file
Binary file not shown.
BIN
src/renderer/audio/impulses/AtmosphereRealizer_NaturalHigh.wav
Normal file
BIN
src/renderer/audio/impulses/AtmosphereRealizer_NaturalHigh.wav
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
src/renderer/audio/impulses/CiderSpatial_v72.420_Maikiwi.wav
Normal file
BIN
src/renderer/audio/impulses/CiderSpatial_v72.420_Maikiwi.wav
Normal file
Binary file not shown.
|
@ -775,8 +775,8 @@ const app = new Vue({
|
||||||
}
|
}
|
||||||
numbers.shift()
|
numbers.shift()
|
||||||
let peak = Math.max(numbers[6], numbers[7]) / 32768.0
|
let peak = Math.max(numbers[6], numbers[7]) / 32768.0
|
||||||
let gain = Math.pow(10, ((-2.5 - (Math.log10(peak) * 20)) / 20))// EBU R 128 Compliant
|
let gain = Math.pow(10, ((0.95 - (Math.log10(peak) * 20)) / 20))// EBU R 128 Compliant
|
||||||
console.debug(`[Cider][MaikiwiSoundCheck] Peak Gain: '${(Math.log10(peak) * 20).toFixed(2)}' dB | Adjusting '${(Math.log10(gain) * 20).toFixed(2)}' dB`)
|
console.debug(`[Cider][MaikiwiSoundCheck] Peak Gain: '${(Math.log10(peak) * 20).toFixed(2)}' dB | Adjusting '${((Math.log10(gain) * 20) - 0.05).toFixed(2)}' dB`)
|
||||||
try {
|
try {
|
||||||
//CiderAudio.audioNodes.gainNode.gain.value = (Math.min(Math.pow(10, (replaygain.gain / 20)), (1 / replaygain.peak)))
|
//CiderAudio.audioNodes.gainNode.gain.value = (Math.min(Math.pow(10, (replaygain.gain / 20)), (1 / replaygain.peak)))
|
||||||
CiderAudio.audioNodes.gainNode.gain.value = gain
|
CiderAudio.audioNodes.gainNode.gain.value = gain
|
||||||
|
|
|
@ -1,271 +1,288 @@
|
||||||
<script type="text/x-template" id="audiolabs-page">
|
<script type="text/x-template" id="audiolabs-page">
|
||||||
<div class="content-inner audiolabs-page ">
|
<div class="content-inner audiolabs-page ">
|
||||||
<div class="md-option-container">
|
<div class="md-option-container">
|
||||||
|
|
||||||
<div class="settings-option-body">
|
<div class="settings-option-body">
|
||||||
<div class="md-option-line">
|
<div class="md-option-line">
|
||||||
<b-jumbotron :header="$root.getLz('settings.option.audio.audioLab')"
|
<b-jumbotron :header="$root.getLz('settings.option.audio.audioLab')"
|
||||||
lead="Designed by Cider Acoustic Technologies in California"></b-jumbotron>
|
lead="Designed by Cider Acoustic Technologies in California"></b-jumbotron>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === false">
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === false">
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment">
|
||||||
{{$root.getLz('settings.warn.audioLab.withoutAF')}}
|
{{$root.getLz('settings.warn.audioLab.withoutAF')}}
|
||||||
</div>
|
</div>
|
||||||
<button class="md-btn" style="margin-top: 5px;" onclick="app.appRoute('settings')">
|
<button class="md-btn" style="margin-top: 5px;" onclick="app.appRoute('settings')">
|
||||||
{{$root.getLz('term.settings')}}
|
{{$root.getLz('term.settings')}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE')}}
|
||||||
<br>
|
<br>
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE.description')}}</small>
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPE.description')}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.ciderPPE"
|
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.ciderPPE"
|
||||||
v-on:change="CiderAudio.hierarchical_loading();" switch/>
|
v-on:change="CiderAudio.hierarchical_loading();" switch/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-line" v-show="app.cfg.audio.maikiwiAudio.ciderPPE === true">
|
<div class="md-option-line" v-show="app.cfg.audio.maikiwiAudio.ciderPPE === true">
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength')}}
|
||||||
<br>
|
<br>
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description')}}</small>
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description')}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<select class="md-select" style="width:180px;"
|
<select class="md-select" style="width:180px;"
|
||||||
v-model="app.cfg.audio.maikiwiAudio.ciderPPE_value"
|
v-model="app.cfg.audio.maikiwiAudio.ciderPPE_value"
|
||||||
v-on:change="CiderAudio.hierarchical_loading()">
|
v-on:change="CiderAudio.hierarchical_loading()">
|
||||||
<option value="MAIKIWI">Maikiwi</option>
|
<option value="MAIKIWI">Maikiwi</option>
|
||||||
<option value="NATURAL">
|
<option value="NATURAL">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard')}}
|
||||||
</option>
|
</option>
|
||||||
<option value="AGGRESSIVE">
|
<option value="AGGRESSIVE">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive')}}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmth')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmth')}}
|
||||||
<br>
|
<br>
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmth.description')}}</small>
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmth.description')}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.analogWarmth"
|
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.analogWarmth"
|
||||||
v-on:change="CiderAudio.hierarchical_loading();" switch/>
|
v-on:change="CiderAudio.hierarchical_loading();" switch/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-line"
|
<div class="md-option-line"
|
||||||
v-show="app.cfg.advanced.AudioContext === true && app.cfg.audio.maikiwiAudio.analogWarmth === true">
|
v-show="app.cfg.advanced.AudioContext === true && app.cfg.audio.maikiwiAudio.analogWarmth === true">
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity')}}
|
||||||
<br>
|
<br>
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description')}}</small>
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description')}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<select class="md-select" style="width:180px;"
|
<select class="md-select" style="width:180px;"
|
||||||
v-model="app.cfg.audio.maikiwiAudio.analogWarmth_value"
|
v-model="app.cfg.audio.maikiwiAudio.analogWarmth_value"
|
||||||
v-on:change="ChangeanalogWarmth()">
|
v-on:change="ChangeanalogWarmth()">
|
||||||
<option value="SMOOTH">
|
<option value="SMOOTH">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth')}}
|
||||||
</option>
|
</option>
|
||||||
<option value="WARM">
|
<option value="WARM">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm')}}
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm')}}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment">
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioSpatialization')}}
|
Cider Atmosphere Realizer™️
|
||||||
<br>
|
<br>
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description')}}</small>
|
<small>Realizes a different musical atmosphere modelled after the state of the art audio setups.</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<input type="checkbox" v-model="app.cfg.audio.spatial"
|
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.atmosphereRealizer"
|
||||||
:disabled="app.cfg.audio.maikiwiAudio.spatial === true" v-on:change="toggleSpatial"
|
v-on:change="CiderAudio.hierarchical_loading();" switch/>
|
||||||
switch/>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="md-option-line" v-show="app.cfg.audio.maikiwiAudio.atmosphereRealizer === true">
|
||||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
<div class="md-option-segment">
|
||||||
<div class="md-option-segment">
|
Cider Atmosphere Realizer™️ Mode
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization')}}
|
<br>
|
||||||
<br>
|
<small>Changes the mode of operation of the Atmosphere Realizer module.</small>
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description')}}</small>
|
</div>
|
||||||
</div>
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<select class="md-select" style="width:180px;"
|
||||||
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.spatial"
|
v-model="app.cfg.audio.maikiwiAudio.atmosphereRealizer_value"
|
||||||
:disabled="app.cfg.audio.spatial === false" v-on:change="toggleMaikiwiSpatial" switch/>
|
v-on:change="CiderAudio.hierarchical_loading()">
|
||||||
</div>
|
<option value="NATURAL_STANDARD">Natural (Standard)</option>
|
||||||
</div>
|
<option value="NATURAL_HIGH">Natural (High)</option>
|
||||||
<div class="md-option-line"
|
<option value="NATURAL_PLUS">Natural (Plus)</option>
|
||||||
v-show="app.cfg.audio.maikiwiAudio.spatial === true && app.cfg.audio.spatial === true">
|
</select>
|
||||||
<div class="md-option-segment">
|
</div>
|
||||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile')}}
|
</div>
|
||||||
<br>
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
||||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description')}}</small>
|
<div class="md-option-segment">
|
||||||
</div>
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioSpatialization')}}
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<br>
|
||||||
<select class="md-select" style="width:180px;"
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description')}}</small>
|
||||||
v-model="$root.cfg.audio.maikiwiAudio.spatialProfile"
|
</div>
|
||||||
v-on:change="toggleMaikiwiSpatial">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<option v-for="profile in spprofiles" :value="profile.id">{{ profile.name }}</option>
|
<input type="checkbox" v-model="app.cfg.audio.spatial"
|
||||||
</select>
|
:disabled="app.cfg.audio.maikiwiAudio.spatial === true" v-on:change="toggleSpatial"
|
||||||
</div>
|
switch/>
|
||||||
</div>
|
</div>
|
||||||
<div class="spprofile-line" v-show="app.cfg.audio.maikiwiAudio.spatial === true && app.cfg.audio.spatial === true">
|
</div>
|
||||||
<div class="spprofile-viewport">
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
||||||
<button class="spprev" @click="profilePrev"></button>
|
<div class="md-option-segment">
|
||||||
<button class="nextprev" @click="profileNext"></button>
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization')}}
|
||||||
<template v-for="profile in spprofiles" v-if="$root.cfg.audio.maikiwiAudio.spatialProfile == profile.id">
|
<br>
|
||||||
<transition name="spfade">
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description')}}</small>
|
||||||
<div class="spslide" :key="profile.id">
|
</div>
|
||||||
<img v-if="profile.img" loading="eager" decoding="async" :src="profile.img" alt="">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
<h1 class="sptitle">{{ profile.name }}</h1>
|
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.spatial"
|
||||||
</div>
|
:disabled="app.cfg.audio.spatial === false" v-on:change="toggleMaikiwiSpatial" switch/>
|
||||||
</transition>
|
</div>
|
||||||
</template>
|
</div>
|
||||||
</div>
|
<div class="md-option-line"
|
||||||
</div>
|
v-show="app.cfg.audio.maikiwiAudio.spatial === true && app.cfg.audio.spatial === true">
|
||||||
<div style="opacity: 0.5; pointer-events: none">
|
<div class="md-option-segment">
|
||||||
<div class="md-option-header">
|
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile')}}
|
||||||
<span>{{$root.getLz('settings.header.unfinished')}}</span>
|
<br>
|
||||||
</div>
|
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description')}}</small>
|
||||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
</div>
|
||||||
<div class="md-option-segment">
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
Cider Atmosphere Realizer™️
|
<select class="md-select" style="width:180px;"
|
||||||
<br>
|
v-model="$root.cfg.audio.maikiwiAudio.spatialProfile"
|
||||||
<small>Realizes an entirely different musical atmosphere only to be found on state of the
|
v-on:change="toggleMaikiwiSpatial">
|
||||||
art audio setups.</small>
|
<option v-for="profile in spprofiles" :value="profile.id">{{ profile.name }}</option>
|
||||||
</div>
|
</select>
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
</div>
|
||||||
<button class="md-btn">
|
</div>
|
||||||
Signature
|
<div class="spprofile-line" v-show="app.cfg.audio.maikiwiAudio.spatial === true && app.cfg.audio.spatial === true">
|
||||||
</button>
|
<div class="spprofile-viewport">
|
||||||
<button class="md-btn">
|
<button class="spprev" @click="profilePrev"></button>
|
||||||
Signature+
|
<button class="nextprev" @click="profileNext"></button>
|
||||||
</button>
|
<template v-for="profile in spprofiles" v-if="$root.cfg.audio.maikiwiAudio.spatialProfile == profile.id">
|
||||||
</div>
|
<transition name="spfade">
|
||||||
</div>
|
<div class="spslide" :key="profile.id">
|
||||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
<img v-if="profile.img" loading="eager" decoding="async" :src="profile.img" alt="">
|
||||||
<div class="md-option-segment">
|
<h1 class="sptitle">{{ profile.name }}</h1>
|
||||||
Cider Origami™️ Vocal Enhancer/Remasterer
|
</div>
|
||||||
<br>
|
</transition>
|
||||||
<small>Re-textures the vocals by carving out the frequencies and adjusts them to the
|
</template>
|
||||||
selected profile.<br>
|
</div>
|
||||||
<b>Modern:</b>
|
</div>
|
||||||
Modernizes vocals that was recorded on old microphones while preserving the artist's individualistic style.<br>
|
<div style="opacity: 0.5; pointer-events: none">
|
||||||
<b>Articulate:</b>
|
<div class="md-option-header">
|
||||||
Wrapping every detail of the vocal to your ear, resulting in a more expressive voice.
|
<span>{{$root.getLz('settings.header.unfinished')}}</span>
|
||||||
</small>
|
</div>
|
||||||
</div>
|
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
|
||||||
<div class="md-option-segment md-option-segment_auto">
|
<div class="md-option-segment">
|
||||||
<select class="md-select">
|
Cider Origami™️ Vocal Enhancer/Remasterer
|
||||||
<option value="none">
|
<br>
|
||||||
{{$root.getLz('settings.header.visual.windowBackgroundStyle.none')}}
|
<small>Re-textures the vocals by carving out the frequencies and adjusts them to the
|
||||||
</option>
|
selected profile.<br>
|
||||||
<option value="modern">
|
<b>Modern:</b>
|
||||||
Modern
|
Modernizes vocals that was recorded on old microphones while preserving the artist's individualistic style.<br>
|
||||||
</option>
|
<b>Articulate:</b>
|
||||||
<option value="intimate">
|
Wrapping every detail of the vocal to your ear, resulting in a more expressive voice.
|
||||||
Intimate
|
</small>
|
||||||
</option>
|
</div>
|
||||||
</select>
|
<div class="md-option-segment md-option-segment_auto">
|
||||||
</div>
|
<select class="md-select">
|
||||||
</div>
|
<option value="none">
|
||||||
</div>
|
{{$root.getLz('settings.header.visual.windowBackgroundStyle.none')}}
|
||||||
</div>
|
</option>
|
||||||
</div>
|
<option value="modern">
|
||||||
</script>
|
Modern
|
||||||
|
</option>
|
||||||
<script>
|
<option value="intimate">
|
||||||
Vue.component('audiolabs-page', {
|
Intimate
|
||||||
template: "#audiolabs-page",
|
</option>
|
||||||
props: [],
|
</select>
|
||||||
data: function () {
|
</div>
|
||||||
return {
|
</div>
|
||||||
app: this.$root,
|
</div>
|
||||||
spprofiles: CiderAudio.spatialProfiles
|
</div>
|
||||||
}
|
</div>
|
||||||
},
|
</script>
|
||||||
mounted: function () {
|
|
||||||
|
<script>
|
||||||
},
|
Vue.component('audiolabs-page', {
|
||||||
methods: {
|
template: "#audiolabs-page",
|
||||||
profileNext() {
|
props: [],
|
||||||
var next = this.spprofiles.find(function (profile) {
|
data: function () {
|
||||||
return profile.id === this.$root.cfg.audio.maikiwiAudio.spatialProfile;
|
return {
|
||||||
}.bind(this));
|
app: this.$root,
|
||||||
if (next) {
|
spprofiles: CiderAudio.spatialProfiles
|
||||||
next = this.spprofiles[this.spprofiles.indexOf(next) + 1];
|
}
|
||||||
if (next) {
|
},
|
||||||
this.$root.cfg.audio.maikiwiAudio.spatialProfile = next.id;
|
mounted: function () {
|
||||||
} else {
|
|
||||||
this.$root.cfg.audio.maikiwiAudio.spatialProfile = this.spprofiles[0].id;
|
},
|
||||||
}
|
methods: {
|
||||||
} else {
|
profileNext() {
|
||||||
this.$root.cfg.audio.maikiwiAudio.spatialProfile = this.spprofiles[0].id;
|
var next = this.spprofiles.find(function (profile) {
|
||||||
}
|
return profile.id === this.$root.cfg.audio.maikiwiAudio.spatialProfile;
|
||||||
this.toggleMaikiwiSpatial()
|
}.bind(this));
|
||||||
},
|
if (next) {
|
||||||
profilePrev() {
|
next = this.spprofiles[this.spprofiles.indexOf(next) + 1];
|
||||||
// select the previous profile based on $root.cfg.audio.maikiwiAudio.spatialProfile
|
if (next) {
|
||||||
var prev = this.spprofiles.find(function (profile) {
|
this.$root.cfg.audio.maikiwiAudio.spatialProfile = next.id;
|
||||||
return profile.id === this.$root.cfg.audio.maikiwiAudio.spatialProfile;
|
} else {
|
||||||
}.bind(this));
|
this.$root.cfg.audio.maikiwiAudio.spatialProfile = this.spprofiles[0].id;
|
||||||
if (prev) {
|
}
|
||||||
prev = this.spprofiles[this.spprofiles.indexOf(prev) - 1];
|
} else {
|
||||||
if (prev) {
|
this.$root.cfg.audio.maikiwiAudio.spatialProfile = this.spprofiles[0].id;
|
||||||
this.$root.cfg.audio.maikiwiAudio.spatialProfile = prev.id;
|
}
|
||||||
} else {
|
this.toggleMaikiwiSpatial()
|
||||||
this.$root.cfg.audio.maikiwiAudio.spatialProfile = this.spprofiles[this.spprofiles.length - 1].id;
|
},
|
||||||
}
|
profilePrev() {
|
||||||
} else {
|
// select the previous profile based on $root.cfg.audio.maikiwiAudio.spatialProfile
|
||||||
this.$root.cfg.audio.maikiwiAudio.spatialProfile = this.spprofiles[this.spprofiles.length - 1].id;
|
var prev = this.spprofiles.find(function (profile) {
|
||||||
}
|
return profile.id === this.$root.cfg.audio.maikiwiAudio.spatialProfile;
|
||||||
this.toggleMaikiwiSpatial()
|
}.bind(this));
|
||||||
},
|
if (prev) {
|
||||||
toggleSpatial: function () {
|
prev = this.spprofiles[this.spprofiles.indexOf(prev) - 1];
|
||||||
if (app.cfg.audio.spatial) {
|
if (prev) {
|
||||||
CiderAudio.spatialOn()
|
this.$root.cfg.audio.maikiwiAudio.spatialProfile = prev.id;
|
||||||
CiderAudio.hierarchical_loading();
|
} else {
|
||||||
} else {
|
this.$root.cfg.audio.maikiwiAudio.spatialProfile = this.spprofiles[this.spprofiles.length - 1].id;
|
||||||
CiderAudio.spatialOff()
|
}
|
||||||
}
|
} else {
|
||||||
},
|
this.$root.cfg.audio.maikiwiAudio.spatialProfile = this.spprofiles[this.spprofiles.length - 1].id;
|
||||||
toggleMaikiwiSpatial: function () {
|
}
|
||||||
if (app.cfg.audio.maikiwiAudio.spatial === true) {
|
this.toggleMaikiwiSpatial()
|
||||||
CiderAudio.spatialOn()
|
},
|
||||||
CiderAudio.hierarchical_loading();
|
toggleSpatial: function () {
|
||||||
//let normalized = Math.pow(10, (((Math.log10(app.mk.volume) * 20) - 14) / 20));
|
if (app.cfg.audio.spatial) {
|
||||||
//app.mk.volume = normalized
|
CiderAudio.spatialOn()
|
||||||
// -13dBFS Target
|
CiderAudio.hierarchical_loading();
|
||||||
} else {
|
} else {
|
||||||
//let normalized = Math.pow(10, (((Math.log10(app.mk.volume) * 20) + 14) / 20));
|
CiderAudio.spatialOff()
|
||||||
//app.mk.volume = normalized
|
}
|
||||||
CiderAudio.spatialOn()
|
},
|
||||||
CiderAudio.hierarchical_loading();
|
toggleMaikiwiSpatial: function () {
|
||||||
}
|
if (app.cfg.audio.maikiwiAudio.spatial === true) {
|
||||||
},
|
CiderAudio.spatialOn()
|
||||||
ChangeanalogWarmth: function () {
|
CiderAudio.hierarchical_loading();
|
||||||
let WARMTH_GAIN = [-4.81, 0.74, 0.55, -0.84, -1.52, 0.84, 0.66, -0.29, 0.29, 0.94, 1.67, 1.62, -0.53, -0.81, -4.98, 1.43, 0.86, 1.13, -1.06, -0.95, -1.13, 1.78, -3.86];
|
//let normalized = Math.pow(10, (((Math.log10(app.mk.volume) * 20) - 14) / 20));
|
||||||
|
//app.mk.volume = normalized
|
||||||
switch (app.cfg.audio.maikiwiAudio.analogWarmth_value) {
|
// -13dBFS Target
|
||||||
case "SMOOTH":
|
} else {
|
||||||
for (let i = 0; i < 23; i++) {
|
//let normalized = Math.pow(10, (((Math.log10(app.mk.volume) * 20) + 14) / 20));
|
||||||
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25;
|
//app.mk.volume = normalized
|
||||||
}
|
CiderAudio.spatialOn()
|
||||||
break;
|
CiderAudio.hierarchical_loading();
|
||||||
case "WARM":
|
}
|
||||||
for (let i = 0; i < 23; i++) {
|
},
|
||||||
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.75;
|
ChangeanalogWarmth: function () {
|
||||||
}
|
let WARMTH_GAIN = [-4.81, 0.74, 0.55, -0.84, -1.52, 0.84, 0.66, -0.29, 0.29, 0.94, 1.67, 1.62, -0.53, -0.81, -4.98, 1.43, 0.86, 1.13, -1.06, -0.95, -1.13, 1.78, -3.86];
|
||||||
break;
|
|
||||||
}
|
switch (app.cfg.audio.maikiwiAudio.analogWarmth_value) {
|
||||||
|
case "SMOOTH":
|
||||||
},
|
for (let i = 0; i < 23; i++) {
|
||||||
}
|
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25;
|
||||||
})
|
}
|
||||||
|
break;
|
||||||
|
case "WARM":
|
||||||
|
for (let i = 0; i < 23; i++) {
|
||||||
|
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.75;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
app.cfg.audio.maikiwiAudio.analogWarmth_value = "SMOOTH";
|
||||||
|
for (let i = 0; i < 23; i++) {
|
||||||
|
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})
|
||||||
</script>
|
</script>
|
Loading…
Add table
Add a link
Reference in a new issue