diff --git a/src/App.vue b/src/App.vue index 7d9e52f..07ae188 100644 --- a/src/App.vue +++ b/src/App.vue @@ -372,6 +372,7 @@ onMounted(async () => { // Scale Workshop 1 compatibility try { const scaleWorkshopOneData = new ScaleWorkshopOneData() + audio.initialize() scale.name = scaleWorkshopOneData.name scale.userBaseFrequency = scaleWorkshopOneData.freq @@ -405,6 +406,7 @@ onMounted(async () => { // Scale Workshop 2 compatibility try { const decodedState = decodeQuery(query) + audio.initialize() let pianoMode: 'Asdf' | 'QweZxc' = 'Asdf' if (decodedState.pianoMode === 'QweZxc0' || decodedState.pianoMode === 'QweZxc1') { diff --git a/src/views/ScaleView.vue b/src/views/ScaleView.vue index ed7e070..5a4a6db 100644 --- a/src/views/ScaleView.vue +++ b/src/views/ScaleView.vue @@ -9,7 +9,7 @@ import { useScaleStore } from '@/stores/scale' import { useStateStore } from '@/stores/state' import { debounce } from '@/utils' import { getSourceVisitor, setNumberOfComponents } from 'sonic-weave' -import { onMounted, ref } from 'vue' +import { onMounted, onUnmounted, ref } from 'vue' const scale = useScaleStore() const state = useStateStore() @@ -26,6 +26,11 @@ onMounted(() => { setNumberOfComponents(DEFAULT_NUMBER_OF_COMPONENTS) setTimeout(() => getSourceVisitor(), 1) }) + +onUnmounted(() => { + // Prepare to include other state in the server payload + scale.rerollId() +})