mirror of
https://github.com/kaythomas0/noisedash.git
synced 2025-11-14 20:27:59 +00:00
Clean up edit sample code
This commit is contained in:
@@ -351,9 +351,14 @@ router.get('/profiles/:profileId', (req, res) => {
|
|||||||
sampleQueryArgs.push(row.sample)
|
sampleQueryArgs.push(row.sample)
|
||||||
})
|
})
|
||||||
|
|
||||||
db.all(`SELECT samples.id, name, profiles_samples.volume,
|
db.all(`SELECT
|
||||||
fade_in as fadeIn, loop_points_enabled as loopPointsEnabled,
|
samples.id,
|
||||||
loop_start as loopStart, loop_end as loopEnd
|
name,
|
||||||
|
profiles_samples.volume,
|
||||||
|
fade_in as fadeIn,
|
||||||
|
loop_points_enabled as loopPointsEnabled,
|
||||||
|
loop_start as loopStart,
|
||||||
|
loop_end as loopEnd
|
||||||
FROM samples
|
FROM samples
|
||||||
INNER JOIN profiles_samples
|
INNER JOIN profiles_samples
|
||||||
ON profiles_samples.sample = samples.id
|
ON profiles_samples.sample = samples.id
|
||||||
|
|||||||
@@ -710,13 +710,13 @@
|
|||||||
<v-container>
|
<v-container>
|
||||||
<v-row justify="center">
|
<v-row justify="center">
|
||||||
<v-select
|
<v-select
|
||||||
v-model="selectedEditSample"
|
v-model="selectedPreviewSample"
|
||||||
:items="sampleItems"
|
:items="previewSampleItems"
|
||||||
item-text="name"
|
item-text="name"
|
||||||
return-object
|
return-object
|
||||||
label="Samples"
|
label="Samples"
|
||||||
class="mx-3"
|
class="mx-3"
|
||||||
@change="loadEditSample"
|
@change="loadPreviewSample"
|
||||||
/>
|
/>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
@@ -727,7 +727,7 @@
|
|||||||
<v-row>
|
<v-row>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="loopPointsEnabled"
|
v-model="loopPointsEnabled"
|
||||||
:disabled="samplePreviewPlaying"
|
:disabled="previewSamplePlaying"
|
||||||
label="Use Loop Points"
|
label="Use Loop Points"
|
||||||
class="mx-3"
|
class="mx-3"
|
||||||
/>
|
/>
|
||||||
@@ -735,21 +735,21 @@
|
|||||||
|
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
v-model="loopStart"
|
v-model="previewSampleLoopStart"
|
||||||
type="number"
|
type="number"
|
||||||
label="Loop Start Time"
|
label="Loop Start Time"
|
||||||
class="mx-3"
|
class="mx-3"
|
||||||
:disabled="!loopPointsEnabled || samplePreviewPlaying"
|
:disabled="!loopPointsEnabled || previewSamplePlaying"
|
||||||
:rules="[rules.gt(-1)]"
|
:rules="[rules.gt(-1)]"
|
||||||
@change="updatePreviewSamplePlayerLoopPoints"
|
@change="updatePreviewSamplePlayerLoopPoints"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<v-text-field
|
<v-text-field
|
||||||
v-model="loopEnd"
|
v-model="previewSampleLoopEnd"
|
||||||
type="number"
|
type="number"
|
||||||
label="Loop End Time"
|
label="Loop End Time"
|
||||||
class="mx-3"
|
class="mx-3"
|
||||||
:disabled="!loopPointsEnabled || samplePreviewPlaying"
|
:disabled="!loopPointsEnabled || previewSamplePlaying"
|
||||||
:rules="[rules.gt(-1), rules.lt(previewSampleLength)]"
|
:rules="[rules.gt(-1), rules.lt(previewSampleLength)]"
|
||||||
@change="updatePreviewSamplePlayerLoopPoints"
|
@change="updatePreviewSamplePlayerLoopPoints"
|
||||||
/>
|
/>
|
||||||
@@ -757,11 +757,11 @@
|
|||||||
|
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
v-model="fadeIn"
|
v-model="previewSampleFadeIn"
|
||||||
type="number"
|
type="number"
|
||||||
label="Fade In Time"
|
label="Fade In Time"
|
||||||
class="mx-3"
|
class="mx-3"
|
||||||
:disabled="samplePreviewPlaying"
|
:disabled="previewSamplePlaying"
|
||||||
:rules="[rules.gt(-1)]"
|
:rules="[rules.gt(-1)]"
|
||||||
@change="updatePreviewSamplePlayerFadeIn"
|
@change="updatePreviewSamplePlayerFadeIn"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -47,22 +47,22 @@ export default {
|
|||||||
selectedSample: null,
|
selectedSample: null,
|
||||||
uploadSampleDialog: false,
|
uploadSampleDialog: false,
|
||||||
addSampleDialog: false,
|
addSampleDialog: false,
|
||||||
editSampleDialog: false,
|
|
||||||
loopPointsEnabled: false,
|
|
||||||
loopStart: 0,
|
|
||||||
loopEnd: 0,
|
|
||||||
fadeIn: 0,
|
|
||||||
samplePreviewPlaying: false,
|
|
||||||
selectedEditSample: {},
|
|
||||||
sampleItems: [],
|
|
||||||
isEditSampleValid: false,
|
|
||||||
previewSampleButtonText: 'Preview Sample',
|
|
||||||
previewSampleLoading: true,
|
|
||||||
previewSampleLength: 0,
|
|
||||||
checkedSamples: [],
|
checkedSamples: [],
|
||||||
sampleName: '',
|
sampleName: '',
|
||||||
isSampleUploadValid: false,
|
isSampleUploadValid: false,
|
||||||
canUpload: false,
|
canUpload: false,
|
||||||
|
editSampleDialog: false,
|
||||||
|
loopPointsEnabled: false,
|
||||||
|
previewSampleLoopStart: 0,
|
||||||
|
previewSampleLoopEnd: 0,
|
||||||
|
previewSampleFadeIn: 0,
|
||||||
|
previewSamplePlaying: false,
|
||||||
|
selectedPreviewSample: {},
|
||||||
|
previewSampleItems: [],
|
||||||
|
isEditSampleValid: false,
|
||||||
|
previewSampleButtonText: 'Preview Sample',
|
||||||
|
previewSampleLoading: true,
|
||||||
|
previewSampleLength: 0,
|
||||||
errorSnackbar: false,
|
errorSnackbar: false,
|
||||||
errorSnackbarText: '',
|
errorSnackbarText: '',
|
||||||
rules: {
|
rules: {
|
||||||
@@ -94,11 +94,12 @@ export default {
|
|||||||
this.filter = new Filter()
|
this.filter = new Filter()
|
||||||
this.tremolo = new Tremolo()
|
this.tremolo = new Tremolo()
|
||||||
this.lfo = new LFO()
|
this.lfo = new LFO()
|
||||||
|
this.players = new Players()
|
||||||
this.samplePreviewPlayer = new Player().toDestination()
|
this.samplePreviewPlayer = new Player().toDestination()
|
||||||
this.samplePreviewPlayer.loop = true
|
this.samplePreviewPlayer.loop = true
|
||||||
this.players = new Players()
|
|
||||||
this.populateProfileItems(0)
|
this.populateProfileItems(0)
|
||||||
this.populateSampleItems()
|
this.populatePreviewSampleItems()
|
||||||
this.getSamples()
|
this.getSamples()
|
||||||
this.getCurrentUser()
|
this.getCurrentUser()
|
||||||
},
|
},
|
||||||
@@ -252,17 +253,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
populateSampleItems () {
|
|
||||||
this.$http.get('/samples')
|
|
||||||
.then(response => {
|
|
||||||
if (response.status === 200) {
|
|
||||||
this.sampleItems = response.data.samples
|
|
||||||
if (this.sampleItems.length > 0) {
|
|
||||||
this.selectedEditSample = this.sampleItems[0]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
addDefaultProfile () {
|
addDefaultProfile () {
|
||||||
this.$http.post('/profiles/default')
|
this.$http.post('/profiles/default')
|
||||||
.then(response => {
|
.then(response => {
|
||||||
@@ -403,7 +393,7 @@ export default {
|
|||||||
.then(response => {
|
.then(response => {
|
||||||
if (response.status === 200) {
|
if (response.status === 200) {
|
||||||
this.getSamples()
|
this.getSamples()
|
||||||
this.populateSampleItems()
|
this.populatePreviewSampleItems()
|
||||||
this.infoSnackbarText = 'Sample Uploaded'
|
this.infoSnackbarText = 'Sample Uploaded'
|
||||||
this.infoSnackbar = true
|
this.infoSnackbar = true
|
||||||
}
|
}
|
||||||
@@ -455,22 +445,6 @@ export default {
|
|||||||
this.$refs.uploadSampleForm.reset()
|
this.$refs.uploadSampleForm.reset()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
openEditSampleForm () {
|
|
||||||
if (this.sampleItems.length > 0) {
|
|
||||||
this.selectedEditSample = this.sampleItems[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
this.loadEditSample()
|
|
||||||
},
|
|
||||||
closeEditSampleForm () {
|
|
||||||
this.editSampleDialog = false
|
|
||||||
this.previewSampleLoading = true
|
|
||||||
if (this.samplePreviewPlaying) {
|
|
||||||
this.samplePreviewPlaying = false
|
|
||||||
this.previewSampleButtonText = 'Preview Sample'
|
|
||||||
this.samplePreviewPlayer.stop()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
openImportDialog () {
|
openImportDialog () {
|
||||||
this.profileMoreDialog = false
|
this.profileMoreDialog = false
|
||||||
this.importDialog = true
|
this.importDialog = true
|
||||||
@@ -567,74 +541,95 @@ export default {
|
|||||||
|
|
||||||
this.exportDialog = false
|
this.exportDialog = false
|
||||||
},
|
},
|
||||||
updatePreviewSamplePlayerFadeIn () {
|
populatePreviewSampleItems () {
|
||||||
this.samplePreviewPlayer.fadeIn = this.fadeIn
|
this.$http.get('/samples')
|
||||||
|
.then(response => {
|
||||||
|
if (response.status === 200) {
|
||||||
|
this.previewSampleItems = response.data.samples
|
||||||
|
if (this.previewSampleItems.length > 0) {
|
||||||
|
this.selectedPreviewSample = this.previewSampleItems[0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
updatePreviewSamplePlayerLoopPoints () {
|
openEditSampleForm () {
|
||||||
if (this.loopStart >= 0 && this.loopEnd <= this.previewSampleLength) {
|
if (this.previewSampleItems.length > 0) {
|
||||||
this.samplePreviewPlayer.setLoopPoints(this.loopStart, this.loopEnd)
|
this.selectedPreviewSample = this.previewSampleItems[0]
|
||||||
|
}
|
||||||
|
this.loadPreviewSample()
|
||||||
|
},
|
||||||
|
closeEditSampleForm () {
|
||||||
|
this.editSampleDialog = false
|
||||||
|
this.previewSampleLoading = true
|
||||||
|
if (this.previewSamplePlaying) {
|
||||||
|
this.previewSamplePlaying = false
|
||||||
|
this.previewSampleButtonText = 'Preview Sample'
|
||||||
|
this.samplePreviewPlayer.stop()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
loadEditSample () {
|
loadPreviewSample () {
|
||||||
this.previewSampleLoading = true
|
this.previewSampleLoading = true
|
||||||
this.$http.get('/samples/'.concat(this.selectedEditSample.id))
|
this.$http.get('/samples/'.concat(this.selectedPreviewSample.id))
|
||||||
.then(async response => {
|
.then(async response => {
|
||||||
if (response.status === 200) {
|
if (response.status === 200) {
|
||||||
const sample = response.data.sample
|
const sample = response.data.sample
|
||||||
|
|
||||||
await this.samplePreviewPlayer.load('/samples/' + sample.user + '_' + sample.name)
|
await this.samplePreviewPlayer.load('/samples/' + sample.user + '_' + sample.name)
|
||||||
|
|
||||||
this.fadeIn = sample.fadeIn
|
this.previewSampleFadeIn = sample.fadeIn
|
||||||
this.loopPointsEnabled = sample.loopPointsEnabled
|
this.loopPointsEnabled = sample.loopPointsEnabled
|
||||||
if (sample.loopPointsEnabled) {
|
if (sample.loopPointsEnabled) {
|
||||||
this.loopStart = sample.loopStart
|
this.previewSampleLoopStart = sample.loopStart
|
||||||
this.loopEnd = sample.loopEnd
|
this.previewSampleLoopEnd = sample.loopEnd
|
||||||
|
this.samplePreviewPlayer.setLoopPoints(this.previewSampleLoopStart, this.previewSampleLoopEnd)
|
||||||
this.samplePreviewPlayer.setLoopPoints(this.loopStart, this.loopEnd)
|
|
||||||
} else {
|
} else {
|
||||||
this.loopStart = 0
|
this.previewSampleLoopStart = 0
|
||||||
this.loopEnd = 0
|
this.previewSampleLoopEnd = 0
|
||||||
}
|
}
|
||||||
|
this.samplePreviewPlayer.fadeIn = this.previewSampleFadeIn
|
||||||
this.samplePreviewPlayer.fadeIn = this.fadeIn
|
|
||||||
|
|
||||||
this.previewSampleLength = this.samplePreviewPlayer.buffer.duration
|
this.previewSampleLength = this.samplePreviewPlayer.buffer.duration
|
||||||
|
|
||||||
this.previewSampleLoading = false
|
this.previewSampleLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
previewSample () {
|
previewSample () {
|
||||||
if (this.samplePreviewPlaying) {
|
if (this.previewSamplePlaying) {
|
||||||
this.samplePreviewPlaying = false
|
this.previewSamplePlaying = false
|
||||||
this.previewSampleButtonText = 'Preview Sample'
|
this.previewSampleButtonText = 'Preview Sample'
|
||||||
this.samplePreviewPlayer.stop()
|
this.samplePreviewPlayer.stop()
|
||||||
} else {
|
} else {
|
||||||
this.samplePreviewPlaying = true
|
this.previewSamplePlaying = true
|
||||||
this.previewSampleButtonText = 'Stop'
|
this.previewSampleButtonText = 'Stop'
|
||||||
this.samplePreviewPlayer.start()
|
this.samplePreviewPlayer.start()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
editSample () {
|
editSample () {
|
||||||
this.$http.put('/samples/'.concat(this.selectedEditSample.id), {
|
this.$http.put('/samples/'.concat(this.selectedPreviewSample.id), {
|
||||||
fadeIn: this.fadeIn,
|
fadeIn: this.previewSampleFadeIn,
|
||||||
loopPointsEnabled: this.loopPointsEnabled,
|
loopPointsEnabled: this.loopPointsEnabled,
|
||||||
loopStart: this.loopStart,
|
loopStart: this.previewSampleLoopStart,
|
||||||
loopEnd: this.loopEnd
|
loopEnd: this.previewSampleLoopEnd
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
if (response.status === 200) {
|
if (response.status === 200) {
|
||||||
this.infoSnackbarText = 'Sample Saved'
|
|
||||||
this.infoSnackbar = true
|
|
||||||
|
|
||||||
this.getSamples()
|
this.getSamples()
|
||||||
this.loadProfile()
|
this.loadProfile()
|
||||||
this.closeEditSampleForm()
|
this.closeEditSampleForm()
|
||||||
|
this.infoSnackbarText = 'Sample Saved'
|
||||||
|
this.infoSnackbar = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.errorSnackbarText = 'Error Saving Sample'
|
this.errorSnackbarText = 'Error Saving Sample'
|
||||||
this.errorSnackbar = true
|
this.errorSnackbar = true
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
updatePreviewSamplePlayerFadeIn () {
|
||||||
|
this.samplePreviewPlayer.fadeIn = this.previewSampleFadeIn
|
||||||
|
},
|
||||||
|
updatePreviewSamplePlayerLoopPoints () {
|
||||||
|
if (this.previewSampleLoopStart >= 0 && this.previewSampleLoopEnd <= this.previewSampleLength) {
|
||||||
|
this.samplePreviewPlayer.setLoopPoints(this.previewSampleLoopStart, this.previewSampleLoopEnd)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user