forked from goplus/builder
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update sounds edit and doc (goplus#84)
- Loading branch information
Showing
11 changed files
with
216 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Sounds Edit Module | ||
|
||
## Module Purpose | ||
|
||
The Sound Editing Module is designed to provide an interface through which users can edit sound files in their project. This includes operations such as play, pause, adjust playback speed, volume control, and audio region editing operations like cut, copy, paste, and delete. | ||
|
||
## Module Scope | ||
|
||
This module allows users to load an audio file and visually edit it on a waveform graph. Users can visually select audio regions on the waveform for different editing operations. Moreover, users can download or save the edited audio file. | ||
|
||
## Module Structure | ||
|
||
Components: | ||
|
||
- `SoundsHome.vue` - Main page for audio editing | ||
- `SoundsEdit.vue` - Main operational part of audio editing | ||
- `SoundsEditCard.vue` - Renders audio cards | ||
- `wavesurfer-edit.ts` - Waveform operations | ||
|
||
## Module Interface | ||
|
||
### Inputs | ||
|
||
| Parameter | Required | Type | Description | | ||
|-----------| -------- |---------|--------------------| | ||
| SoundList | Yes | Asset[] | Project Audio List | | ||
|
||
|
||
### Outputs | ||
|
||
## Example Usage | ||
|
||
``` | ||
<template> | ||
<n-layout has-sider style="height: calc(100vh - 60px - 54px - 12px)"> | ||
<n-layout-sider | ||
:native-scrollbar="false" | ||
content-style="paddingLeft: 130px;" | ||
style="width: 175px" | ||
> | ||
<SoundsEditCard | ||
v-for="asset in assets" | ||
:key="asset.id" | ||
:asset="asset" | ||
:style="{ 'margin-bottom': '26px' }" | ||
@click="handleSelect(asset)" | ||
/> | ||
</n-layout-sider> | ||
<n-layout-content> | ||
<SoundsEdit | ||
:key="componentKey" | ||
:asset="selectedAsset" | ||
style="margin-left: 10px" | ||
/> | ||
</n-layout-content> | ||
</n-layout> | ||
</template> | ||
``` | ||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ | |
* @LastEditors: xuning [email protected] | ||
* @LastEditTime: 2024-02-06 13:43:02 | ||
* @FilePath: /builder/spx-gui/src/api/asset.ts | ||
* @Description: | ||
* @Description: | ||
*/ | ||
import { service } from "@/axios"; | ||
import type { Asset, PageData } from "@/interface/library.ts"; // Adjust the import paths as needed | ||
|
@@ -44,3 +44,35 @@ export function getAsset(id: number, assetType: number): Promise<Asset> { | |
}); | ||
} | ||
|
||
|
||
/** | ||
* Save asset | ||
* | ||
* @param id | ||
* @param name | ||
* @param uid | ||
* @param category | ||
* @param isPublic | ||
* @param assetType The type of the asset. See src/constant/constant.ts for details. | ||
* @param file | ||
*/ | ||
export async function saveAsset(id: number, name: string, uid: number, category: string, isPublic: number, assetType: number, file: File): Promise<Asset> { | ||
const url = '/asset/save'; | ||
const formData = new FormData(); | ||
formData.append('id', id.toString()); | ||
formData.append('name', name); | ||
formData.append('uid', uid.toString()); | ||
formData.append('category', category); | ||
formData.append('isPublic', isPublic ? '1' : '0'); | ||
formData.append('assetType', assetType.toString()); | ||
formData.append('file', file); | ||
|
||
return service({ | ||
url: url, | ||
method: 'post', | ||
data: formData, | ||
headers: { | ||
'Content-Type': 'multipart/form-data' | ||
}, | ||
}); | ||
} |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.