@devaloop/devalang 0.0.1-alpha.10 โ 0.0.1-alpha.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.devalang +6 -1
- package/Cargo.toml +6 -2
- package/README.md +59 -142
- package/docs/CHANGELOG.md +60 -1
- package/docs/ROADMAP.md +1 -1
- package/docs/TODO.md +1 -1
- package/examples/bank.deva +9 -0
- package/examples/duration.deva +9 -0
- package/examples/index.deva +6 -6
- package/out-tsc/bin/devalang.exe +0 -0
- package/package.json +2 -1
- package/project-version.json +3 -3
- package/rust/cli/bank.rs +455 -0
- package/rust/cli/build.rs +1 -1
- package/rust/cli/check.rs +1 -1
- package/rust/cli/driver.rs +280 -0
- package/rust/cli/install.rs +17 -0
- package/rust/cli/mod.rs +5 -200
- package/rust/cli/play.rs +1 -1
- package/rust/cli/update.rs +4 -0
- package/rust/common/cdn.rs +11 -0
- package/rust/common/mod.rs +1 -0
- package/rust/config/driver.rs +76 -0
- package/rust/config/loader.rs +98 -1
- package/rust/config/mod.rs +1 -15
- package/rust/core/audio/engine.rs +151 -10
- package/rust/core/audio/interpreter/arrow_call.rs +17 -4
- package/rust/core/audio/interpreter/trigger.rs +56 -2
- package/rust/core/audio/loader/trigger.rs +12 -0
- package/rust/core/lexer/handler/driver.rs +12 -1
- package/rust/core/lexer/handler/mod.rs +1 -0
- package/rust/core/lexer/handler/slash.rs +21 -0
- package/rust/core/lexer/token.rs +1 -0
- package/rust/core/parser/driver.rs +36 -2
- package/rust/core/parser/handler/arrow_call.rs +29 -4
- package/rust/core/parser/handler/dot.rs +102 -37
- package/rust/core/preprocessor/loader.rs +93 -14
- package/rust/core/preprocessor/resolver/driver.rs +5 -0
- package/rust/core/shared/bank.rs +21 -0
- package/rust/core/shared/duration.rs +1 -0
- package/rust/core/shared/mod.rs +2 -1
- package/rust/core/shared/value.rs +1 -0
- package/rust/installer/bank.rs +55 -0
- package/rust/installer/mod.rs +2 -0
- package/rust/installer/utils.rs +56 -0
- package/rust/main.rs +62 -5
- package/docs/COMMANDS.md +0 -85
- package/docs/CONFIG.md +0 -30
- package/docs/SYNTAX.md +0 -230
package/.devalang
CHANGED
package/Cargo.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "devalang"
|
|
3
|
-
version = "0.0.1-alpha.
|
|
3
|
+
version = "0.0.1-alpha.12"
|
|
4
4
|
authors = ["Devaloop <contact@devaloop.com>"]
|
|
5
5
|
description = "Write music like code. Devalang is a domain-specific language (DSL) for sound designers and music hackers. Compose, automate, and control sound โ in plain text."
|
|
6
6
|
license = "MIT"
|
|
@@ -27,7 +27,7 @@ opt-level = "s"
|
|
|
27
27
|
|
|
28
28
|
[features]
|
|
29
29
|
default = ["cli"]
|
|
30
|
-
cli = ["crossterm", "indicatif", "inquire"]
|
|
30
|
+
cli = ["crossterm", "indicatif", "inquire", "zip", "reqwest", "flate2", "tokio"]
|
|
31
31
|
|
|
32
32
|
[dependencies]
|
|
33
33
|
clap = { version = "4.5", features = ["derive"] }
|
|
@@ -47,3 +47,7 @@ crossterm = { version = "0.27", optional = true }
|
|
|
47
47
|
indicatif = { version = "0.17", optional = true }
|
|
48
48
|
inquire = { version = "0.7.5", optional = true }
|
|
49
49
|
js-sys = "0.3"
|
|
50
|
+
reqwest = { version = "0.12.22", optional = true, features = ["json"] }
|
|
51
|
+
flate2 = { version = "1.0", optional = true }
|
|
52
|
+
tokio = { version = "1", features = ["full"], optional = true }
|
|
53
|
+
zip = { version = "4.3.0", optional = true }
|
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="https://
|
|
2
|
+
<img src="https://devalang.com/images/devalang-logo-cyan.svg" alt="Devalang Logo" width="300" />
|
|
3
3
|
</div>
|
|
4
4
|
|
|
5
5
|

|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
|
|
17
17
|
[](https://marketplace.visualstudio.com/items?itemName=devaloop.devalang-vscode)
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
# ๐ถ Devalang
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Compose music with code โ structured, expressive, and fast.
|
|
22
22
|
|
|
23
23
|
Devalang is a tiny domain-specific language (DSL) for music makers, sound designers, and audio hackers.
|
|
24
24
|
Compose loops, control samples, render and play audio โ all in clean, readable text.
|
|
@@ -27,192 +27,109 @@ Compose loops, control samples, render and play audio โ all in clean, readable
|
|
|
27
27
|
|
|
28
28
|
From studio sketches to live sets, Devalang gives you rhythmic control โ with the elegance of code.
|
|
29
29
|
|
|
30
|
-
> ๐ง **v0.0.1-alpha.
|
|
30
|
+
> ๐ง **v0.0.1-alpha.11 Notice** ๐ง
|
|
31
31
|
>
|
|
32
|
-
> NEW:
|
|
32
|
+
> NEW: Devalang is available in your browser at [playground.devalang.com](https://playground.devalang.com) !
|
|
33
33
|
>
|
|
34
|
-
> NEW:
|
|
35
|
-
> [Get it here](https://marketplace.visualstudio.com/items?itemName=devaloop.devalang-vscode).
|
|
34
|
+
> NEW: Online documentation is now available at [docs.devalang.com](https://docs.devalang.com)
|
|
36
35
|
>
|
|
37
36
|
> Includes synthesis, playback, and rendering features, but is still in early development.
|
|
38
37
|
>
|
|
39
38
|
> Currently, Devalang CLI is only available for **Windows**.
|
|
40
39
|
> Linux and macOS binaries will be added in future releases via cross-platform builds.
|
|
41
40
|
|
|
42
|
-
---
|
|
43
|
-
|
|
44
41
|
## ๐ Quick Access
|
|
45
42
|
|
|
43
|
+
- [โถ๏ธ Playground](https://playground.devalang.com)
|
|
46
44
|
- [๐ Documentation](https://docs.devalang.com)
|
|
47
|
-
- [๐ก Examples](./examples/)
|
|
48
45
|
- [๐งฉ VSCode Extension](https://marketplace.visualstudio.com/items?itemName=devaloop.devalang-vscode)
|
|
49
46
|
- [๐จ Prettier Plugin](https://www.npmjs.com/package/@devaloop/prettier-plugin-devalang)
|
|
47
|
+
- [๐ Changelog](./docs/CHANGELOG.md)
|
|
48
|
+
- [๐ก Examples](./examples/)
|
|
50
49
|
- [๐ Project Website](https://devalang.com)
|
|
50
|
+
- [๐ฆ Devalang CLI on npm](https://www.npmjs.com/package/@devaloop/devalang)
|
|
51
51
|
|
|
52
|
-
##
|
|
53
|
-
|
|
54
|
-
- ๐น Prototype audio ideas without opening a DAW
|
|
55
|
-
- ๐ป Integrate sound into code-based workflows
|
|
56
|
-
- ๐๏ธ Control audio parameters through readable syntax
|
|
57
|
-
- ๐งช Build musical logic with variables and conditions
|
|
58
|
-
|
|
59
|
-
> Producer, coder, or both โ Devalang gives you musical structure, instantly.
|
|
60
|
-
|
|
61
|
-
## ๐ Features
|
|
62
|
-
|
|
63
|
-
- ๐ต **Audio Engine**: Integrated audio playback and rendering
|
|
64
|
-
- ๐งฉ **Module system** for importing and exporting variables between files
|
|
65
|
-
- ๐ **Structured AST** generation for debugging and future compilation
|
|
66
|
-
- ๐ข **Basic data types**: strings, numbers, booleans, maps, arrays
|
|
67
|
-
- ๐๏ธ **Watch mode** for `build`, `check` and `play` commands
|
|
68
|
-
- ๐ **Project templates** for quick setup
|
|
69
|
-
- ๐๏ธ **Custom samples**: easily load and trigger your own audio files
|
|
70
|
-
- ๐ **Looping and grouping**: create complex patterns with ease
|
|
52
|
+
## โฑ๏ธ Try it now !
|
|
71
53
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
### For users
|
|
75
|
-
|
|
76
|
-
> โ ๏ธ Requires [Node.js 18+](https://nodejs.org/en/download)
|
|
77
|
-
|
|
78
|
-
For Node users (NPM)
|
|
54
|
+
### You can also have a look at the [Playground](https://playground.devalang.com) to try Devalang directly in your browser
|
|
79
55
|
|
|
80
56
|
```bash
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
> โ ๏ธ Requires [Rust 1.70+](https://www.rust-lang.org/learn/get-started#installing-rust)
|
|
85
|
-
|
|
86
|
-
For Rust users (Cargo)
|
|
57
|
+
# Install Devalang CLI globally
|
|
58
|
+
npm install -g @devaloop/devalang
|
|
87
59
|
|
|
88
|
-
|
|
89
|
-
|
|
60
|
+
# Create a new Devalang project
|
|
61
|
+
devalang init --name my-project --template minimal
|
|
62
|
+
cd my-project
|
|
90
63
|
```
|
|
91
64
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
> โ ๏ธ Requires [Node.js 18+](https://nodejs.org/en/download)
|
|
95
|
-
|
|
96
|
-
> โ ๏ธ Requires [Rust 1.70+](https://www.rust-lang.org/learn/get-started#installing-rust)
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
git clone https://github.com/devaloop-labs/devalang.git
|
|
100
|
-
|
|
101
|
-
cd devalang
|
|
102
|
-
|
|
103
|
-
npm install
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
Development usage (you can customize arguments in package.json)
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
# For syntax checking test
|
|
110
|
-
npm run rust:dev:check
|
|
111
|
-
|
|
112
|
-
# For building test
|
|
113
|
-
npm run rust:dev:build
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
## โ Usage
|
|
117
|
-
|
|
118
|
-
NOTE: Commands are available via `devalang` or `npx @devaloop/devalang`.
|
|
65
|
+
Create a new Devalang file `src/index.deva` in the project directory:
|
|
119
66
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
NOTE: Some commands require a mandatory `--entry` argument to specify the input folder, and a `--output` argument to specify the output folder. If not specified, they default to `./src` and `./output` respectively.
|
|
123
|
-
|
|
124
|
-
For more examples, see [docs/COMMANDS.md](./docs/COMMANDS.md)
|
|
125
|
-
|
|
126
|
-
### Initialize a new project
|
|
127
|
-
|
|
128
|
-
In the current directory
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
devalang init
|
|
132
|
-
```
|
|
67
|
+
```deva
|
|
68
|
+
# src/index.deva
|
|
133
69
|
|
|
134
|
-
|
|
70
|
+
group myLead:
|
|
71
|
+
let mySynth = synth sine
|
|
135
72
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
```
|
|
73
|
+
mySynth -> note(C4, { duration: 400 })
|
|
74
|
+
mySynth -> note(G4, { duration: 600 })
|
|
139
75
|
|
|
140
|
-
|
|
76
|
+
# Play the lead
|
|
141
77
|
|
|
142
|
-
|
|
143
|
-
devalang check --watch
|
|
78
|
+
call myLead
|
|
144
79
|
```
|
|
145
80
|
|
|
146
|
-
|
|
81
|
+
And the best part ? You can play it directly from the command line:
|
|
147
82
|
|
|
148
83
|
```bash
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
### Playing audio files (once by file change)
|
|
84
|
+
# Play the Devalang file
|
|
85
|
+
devalang play
|
|
153
86
|
|
|
154
|
-
|
|
87
|
+
# Play the Devalang file with watch mode
|
|
155
88
|
devalang play --watch
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Playing audio files (continuous playback, even without file changes)
|
|
159
89
|
|
|
160
|
-
|
|
90
|
+
# LIVE mode (repeat the playback + watch mode)
|
|
161
91
|
devalang play --repeat
|
|
162
92
|
```
|
|
163
93
|
|
|
164
|
-
|
|
94
|
+
### ๐ You can now hear your Devalang code in action!
|
|
165
95
|
|
|
166
|
-
|
|
96
|
+
> For more examples, check out the [examples directory](./examples/).
|
|
167
97
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
See [docs/CONFIG.md](./docs/CONFIG.md) for more information.
|
|
171
|
-
|
|
172
|
-
## ๐ Syntax example
|
|
173
|
-
|
|
174
|
-
For more examples, see [docs/SYNTAX.md](./docs/SYNTAX.md)
|
|
175
|
-
|
|
176
|
-
```deva
|
|
177
|
-
# index.deva
|
|
178
|
-
|
|
179
|
-
@import { globalBpm, globalBank, kickDuration } from "global.deva"
|
|
180
|
-
|
|
181
|
-
@load "./examples/samples/kick-808.wav" as customKick
|
|
182
|
-
|
|
183
|
-
bpm globalBpm
|
|
184
|
-
# Will declare the tempo at the globalBpm variable beats per minute
|
|
98
|
+
## โ Why Devalang?
|
|
185
99
|
|
|
186
|
-
|
|
187
|
-
|
|
100
|
+
- ๐น Prototype audio ideas without opening a DAW
|
|
101
|
+
- ๐ป Integrate sound into code-based workflows
|
|
102
|
+
- ๐๏ธ Control audio parameters through readable syntax
|
|
103
|
+
- ๐งช Build musical logic with variables and conditions
|
|
188
104
|
|
|
189
|
-
|
|
190
|
-
.customKick kickDuration {reverb=50, drive=25}
|
|
191
|
-
# Will play 5 times a custom sample for 500ms with reverb and overdrive effects
|
|
105
|
+
> Producer, coder, or both โ Devalang gives you musical structure, instantly.
|
|
192
106
|
|
|
193
|
-
|
|
194
|
-
.customKick kickDuration {reverb=50, drive=25}
|
|
195
|
-
# Will play the same sample in a group, allowing for more complex patterns
|
|
107
|
+
## ๐ Features
|
|
196
108
|
|
|
197
|
-
|
|
198
|
-
|
|
109
|
+
- ๐ต **Audio Engine**: Integrated audio playback and rendering
|
|
110
|
+
- ๐งฉ **Module system** for importing and exporting variables between files
|
|
111
|
+
- ๐ **Structured AST** generation for debugging and future compilation
|
|
112
|
+
- ๐ข **Basic data types**: strings, numbers, booleans, maps, arrays
|
|
113
|
+
- ๐๏ธ **Watch mode** for `build`, `check` and `play` commands
|
|
114
|
+
- ๐ **Project templates** for quick setup
|
|
115
|
+
- ๐๏ธ **Custom samples**: easily load and trigger your own audio files
|
|
116
|
+
- ๐ **Looping and grouping**: create complex patterns with ease
|
|
199
117
|
|
|
200
|
-
|
|
201
|
-
# Will be executed in parallel (concurrently)
|
|
202
|
-
# โ ๏ธ Note: `spawn` runs the entire group in parallel, but the groupโs internal logic remains sequential unless it uses `spawn` internally.
|
|
203
|
-
```
|
|
118
|
+
## ๐ Documentation
|
|
204
119
|
|
|
205
|
-
|
|
120
|
+
### Please refer to the [online documentation](https://docs.devalang.com) for detailed information on syntax, features, and usage examples.
|
|
206
121
|
|
|
207
|
-
|
|
208
|
-
# variables.deva
|
|
122
|
+
## ๐ Changelog Highlights
|
|
209
123
|
|
|
210
|
-
|
|
211
|
-
let globalBank = 808
|
|
212
|
-
let kickDuration = 500
|
|
124
|
+
For a complete list of changes, see [docs/CHANGELOG.md](./docs/CHANGELOG.md)
|
|
213
125
|
|
|
214
|
-
|
|
215
|
-
|
|
126
|
+
- Implemented beat durations in `triggers` and `arrow_calls` statements
|
|
127
|
+
- Implemented `bank` resolver to resolve banks of sounds in the code
|
|
128
|
+
- Support for namespaced banks of sounds (e.g. `.808.myTrigger`)
|
|
129
|
+
- Implemented multiple commands for `bank` management
|
|
130
|
+
- `bank list`, `bank available`, `bank info <bank_name>`, `bank remove <bank_name>`, `bank update`, `bank update <bank_name>`
|
|
131
|
+
- Implemented `install` command to install banks of sounds
|
|
132
|
+
- `install bank <bank_name>`
|
|
216
133
|
|
|
217
134
|
## ๐งฏ Known issues
|
|
218
135
|
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,68 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="https://
|
|
2
|
+
<img src="https://devalang.com/images/devalang-logo-cyan.svg" alt="Devalang Logo" width="300" />
|
|
3
3
|
</div>
|
|
4
4
|
|
|
5
5
|
# Changelog
|
|
6
6
|
|
|
7
|
+
## Version 0.0.1-alpha.12 (2025-07-21)
|
|
8
|
+
|
|
9
|
+
### ๐งฉ Language Features
|
|
10
|
+
|
|
11
|
+
- Implemented `trigger` effects to apply effects to triggers, allowing for more dynamic sound manipulation.
|
|
12
|
+
- Example: `.myTrigger auto { reverb: 1.0, pitch: 1.5, gain: 0.8 }`
|
|
13
|
+
|
|
14
|
+
### ๐ง Core Engine
|
|
15
|
+
|
|
16
|
+
- Moved `utils::installer` to `installer::utils` to better organize the project structure.
|
|
17
|
+
- Set CLI dependencies as optional in `Cargo.toml` to allow for a cleaner build without CLI features.
|
|
18
|
+
- Patched `@load` relative path resolution to ensure correct loading of external resources.
|
|
19
|
+
- Patched `trigger` statement that was not correctly parsed when using namespaced banks of sounds.
|
|
20
|
+
|
|
21
|
+
### ๐งฉ Web Assembly
|
|
22
|
+
|
|
23
|
+
- Patched `lib.rs` dependencies to ensure compatibility with the latest Rust and WASM standards.
|
|
24
|
+
|
|
25
|
+
## Version 0.0.1-alpha.11 (2025-07-20)
|
|
26
|
+
|
|
27
|
+
### ๐ Documentation
|
|
28
|
+
|
|
29
|
+
- Removed old documentation, please refer to the [new documentation website](https://docs.devalang.com) for the latest information.
|
|
30
|
+
|
|
31
|
+
### โจ Syntax
|
|
32
|
+
|
|
33
|
+
- Added namespaced banks of sounds, allowing for better organization and management of sound banks.
|
|
34
|
+
- Example: `.808.myTrigger` to access a specific trigger in the `808` bank.
|
|
35
|
+
- Added support for beat durations in `triggers` statements, allowing for more precise timing control.
|
|
36
|
+
- Example: `.myTrigger 1/4 { ... }` to trigger the sound every quarter beat.
|
|
37
|
+
- Added support for beat durations in `arrow_calls` statements, allowing for more precise timing control.
|
|
38
|
+
- Example: `mySynth -> note(C4, { duration: 1/8 })` to play a note for an eighth beat.
|
|
39
|
+
|
|
40
|
+
### ๐ง Core Engine
|
|
41
|
+
|
|
42
|
+
- Implemented `bank` resolver to resolve banks of sounds in the code.
|
|
43
|
+
- Example: `bank 808` will resolve to a bank of sounds named `808` if exists (check bank available command).
|
|
44
|
+
|
|
45
|
+
### ๐งฐ Commands
|
|
46
|
+
|
|
47
|
+
> Use the `bank 808` statement to access the default sounds and triggers !
|
|
48
|
+
> Then you can use `808.myTrigger` to access a specific trigger in the `808` bank.
|
|
49
|
+
|
|
50
|
+
- Added `bank` command to manage banks of sounds.
|
|
51
|
+
|
|
52
|
+
- `bank list` to list installed banks of sounds.
|
|
53
|
+
- `bank available` to list available banks of sounds for installation.
|
|
54
|
+
- `bank info <bank_name>` to show information about a specific bank.
|
|
55
|
+
- `bank remove <bank_name>` to remove a bank.
|
|
56
|
+
- `bank update` to update all banks of sounds.
|
|
57
|
+
- `bank update <bank_name>` to update a specific bank.
|
|
58
|
+
|
|
59
|
+
- Added `install` command to install banks of sounds.
|
|
60
|
+
- `install bank <bank_name>` to install a specific bank of sounds.
|
|
61
|
+
|
|
62
|
+
### ๐งช Experimental
|
|
63
|
+
|
|
64
|
+
- Introduced lazy loading and namespace-based resolution of installed sound banks.
|
|
65
|
+
|
|
7
66
|
## Version 0.0.1-alpha.10 (2025-07-19)
|
|
8
67
|
|
|
9
68
|
### ๐ Documentation
|
package/docs/ROADMAP.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
|
|
2
|
+
<img src="https://devalang.com/images/devalang-logo-cyan.svg" alt="Devalang Logo" width="300" />
|
|
3
3
|
</div>
|
|
4
4
|
|
|
5
5
|
# Roadmap
|
package/docs/TODO.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="https://
|
|
2
|
+
<img src="https://devalang.com/images/devalang-logo-cyan.svg" alt="Devalang Logo" width="300" />
|
|
3
3
|
</div>
|
|
4
4
|
|
|
5
5
|
# TODOs list
|
package/examples/index.deva
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
@load "./samples/kick-808.wav" as kickCustom
|
|
8
8
|
@load "./samples/hat-808.wav" as hatCustom
|
|
9
9
|
|
|
10
|
-
bpm tempo
|
|
10
|
+
# bpm tempo
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
# group myTrack:
|
|
13
|
+
# spawn myLoop
|
|
14
|
+
# spawn myLead
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
spawn myLoop
|
|
16
|
-
spawn myLead
|
|
16
|
+
# call myTrack
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
.kickCustom duration { gain: 1, pitch: 1.25 }
|
package/out-tsc/bin/devalang.exe
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devaloop/devalang",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.1-alpha.
|
|
4
|
+
"version": "0.0.1-alpha.12",
|
|
5
5
|
"description": "Write music like code. Devalang is a domain-specific language (DSL) for sound designers and music hackers. Compose, automate, and control sound โ in plain text.",
|
|
6
6
|
"main": "out-tsc/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"prepublish": "cargo build --release && npm run script:postbuild",
|
|
12
12
|
"rust:dev:build": "cargo run build --entry examples --output output",
|
|
13
13
|
"rust:dev:check": "cargo run check --entry examples --output output",
|
|
14
|
+
"rust:dev:play": "cargo run play --entry examples --output output --repeat",
|
|
14
15
|
"rust:wasm:web": "wasm-pack build --target=web --no-default-features",
|
|
15
16
|
"rust:wasm:node": "wasm-pack build --target=nodejs --no-default-features",
|
|
16
17
|
"script:postbuild": "tsc && node out-tsc/scripts/postbuild.js",
|
package/project-version.json
CHANGED