Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,30 @@
},
"terminal": "console",
"preLaunchTask": "build-sine-synth-standalone"
}
},
{
"name": "Debug analyzer-3d standalone",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/target/wrac-examples/analyzer-3d/wrac/standalone/debug/WRAC Analyzer 3D Standalone.app/Contents/MacOS/WRAC Analyzer 3D Standalone",
"osx": {
"request": "attach",
"program": "${workspaceFolder}/target/wrac-examples/analyzer-3d/wrac/standalone/debug/WRAC Analyzer 3D Standalone.app/Contents/MacOS/WRAC Analyzer 3D Standalone",
"preLaunchTask": "build-and-open-analyzer-3d-standalone"
},
"windows": {
"program": "${workspaceFolder}/target/wrac-examples/analyzer-3d/wrac/standalone/debug/WRAC Analyzer 3D Standalone.exe"
},
"linux": {
"program": "${workspaceFolder}/target/wrac-examples/analyzer-3d/wrac/standalone/debug/WRAC Analyzer 3D Standalone"
},
"args": [],
"cwd": "${workspaceFolder}",
"env": {
"RUST_BACKTRACE": "1"
},
"terminal": "console",
"preLaunchTask": "build-analyzer-3d-standalone"
},
]
}
49 changes: 49 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,55 @@
"panel": "new",
"close": true
}
},
{
"label": "build-analyzer-3d-standalone",
"type": "process",
"command": "cargo",
"args": [
"xtask",
"build",
"--plugin",
"analyzer-3d",
"--target",
"standalone"
],
"group": "build",
"presentation": {
"reveal": "always",
"panel": "new",
"close": true
},
"problemMatcher": "$rustc"
},
{
"label": "open-analyzer-3d-standalone",
"type": "process",
"command": "cargo",
"args": [
"xtask",
"launch",
"--plugin",
"analyzer-3d"
],
"presentation": {
"reveal": "always",
"panel": "new",
"close": true
}
},
{
"label": "build-and-open-analyzer-3d-standalone",
"dependsOrder": "sequence",
"dependsOn": [
"build-analyzer-3d-standalone",
"open-analyzer-3d-standalone"
],
"presentation": {
"reveal": "always",
"panel": "new",
"close": true
}
}
]
}
94 changes: 94 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ members = [
"xtask",
"examples/gain-basic/src-plugin",
"examples/sine-synth/src-plugin",
"examples/analyzer-3d/src-plugin",
"examples/echo-lama/src-plugin",
]
resolver = "2"
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Use this repository when you want to inspect additional example implementations.
examples/
gain-basic/ Basic audio-effect gain plugin.
sine-synth/ MIDI note input to sine-wave instrument output.
analyzer-3d/ 3D rich Analyzer example.
echo-lama/ Monophonic vowel-morphing synth with delay and a custom GUI.
```

Expand Down
1 change: 1 addition & 0 deletions README_JA.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ WRAC スタックによるオーディオプラグイン開発について知り
examples/
gain-basic/ 基本的な audio effect の gain plugin。
sine-synth/ MIDI note input でサイン波を出す instrument plugin。
analyzer-3d/ リッチな3D表現のアナライザー
echo-lama/ Delay 内蔵で vowel morphing する monophonic synth と専用 GUI。
```

Expand Down
10 changes: 10 additions & 0 deletions examples/analyzer-3d/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# WRAC Analyzer 3D

> 日本語版: [README_JA.md](README_JA.md)

Rich 3D analyzer example based on the WRAC plugin template.

```sh
cargo xtask build --plugin=analyzer-3d --target=clap
```

11 changes: 11 additions & 0 deletions examples/analyzer-3d/README_JA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# WRAC Analyzer 3D

> English version: [README.md](README.md)

WRAC plugin template を元にした、3Dリッチなアナライザーのデモ。

```sh
cargo xtask build --plugin=analyzer-3d --target=clap
```


24 changes: 24 additions & 0 deletions examples/analyzer-3d/src-gui/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
73 changes: 73 additions & 0 deletions examples/analyzer-3d/src-gui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs)
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/)

## React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

```js
export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...

// Remove tseslint.configs.recommended and replace with this
tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
tseslint.configs.stylisticTypeChecked,

// Other configs...
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
```

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:

```js
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
// Enable lint rules for React
reactX.configs['recommended-typescript'],
// Enable lint rules for React DOM
reactDom.configs.recommended,
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
```
Loading
Loading