@devaloop/devalang 0.1.1 → 0.1.3
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/README.md +22 -9
- package/out-tsc/scripts/version/bump.d.ts.map +1 -1
- package/out-tsc/scripts/version/bump.js +15 -7
- package/out-tsc/scripts/version/bump.js.map +1 -1
- package/out-tsc/scripts/version/sync.d.ts.map +1 -1
- package/out-tsc/scripts/version/sync.js +17 -0
- package/out-tsc/scripts/version/sync.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -93,18 +93,31 @@ Create a file `hello.deva`:
|
|
|
93
93
|
# Set the tempo
|
|
94
94
|
bpm 120
|
|
95
95
|
|
|
96
|
-
# Load a bank of sounds
|
|
96
|
+
# Load a bank of sounds (make sur you have the bank installed)
|
|
97
97
|
bank devaloop.808 as drums
|
|
98
98
|
|
|
99
|
-
# Create a simple
|
|
99
|
+
# Create a simple kick pattern
|
|
100
100
|
pattern kickPattern with drums.kick = "x--- x--- x--- x---"
|
|
101
|
-
pattern snarePattern with drums.snare = "---- x--- ---- x---"
|
|
102
|
-
pattern hihatPattern with drums.hihat = "x-x- x-x- x-x- x-x-"
|
|
103
101
|
|
|
104
|
-
#
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
102
|
+
# Define a synth and a melody
|
|
103
|
+
let mySynth = synth saw
|
|
104
|
+
|
|
105
|
+
# Define a melody using a group to organize notes
|
|
106
|
+
group myMelody:
|
|
107
|
+
mySynth -> note(C5)
|
|
108
|
+
-> duration(500)
|
|
109
|
+
|
|
110
|
+
mySynth -> note(E5)
|
|
111
|
+
-> duration(500)
|
|
112
|
+
|
|
113
|
+
mySynth -> note(G5)
|
|
114
|
+
-> duration(500)
|
|
115
|
+
|
|
116
|
+
# Play the melody
|
|
117
|
+
spawn myMelody
|
|
118
|
+
|
|
119
|
+
# Play the kick pattern
|
|
120
|
+
spawn kickPattern
|
|
108
121
|
```
|
|
109
122
|
|
|
110
123
|
### Build the audio
|
|
@@ -161,7 +174,7 @@ devalang play --live --input hello.deva
|
|
|
161
174
|
### 📦 **Output Formats**
|
|
162
175
|
- ✅ **WAV** — 16/24/32-bit audio export
|
|
163
176
|
- ✅ **MIDI** — Standard MIDI file export
|
|
164
|
-
-
|
|
177
|
+
- ✅ **MP3/FLAC** — Planned
|
|
165
178
|
|
|
166
179
|
### 🎯 **Performance**
|
|
167
180
|
- ⚡ **Fast builds** — 7-10ms for typical projects
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bump.d.ts","sourceRoot":"","sources":["../../../src/typescript/scripts/version/bump.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,EACzC,MAAM,GAAE,MAAe,GACtB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"bump.d.ts","sourceRoot":"","sources":["../../../src/typescript/scripts/version/bump.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,EACzC,MAAM,GAAE,MAAe,GACtB,OAAO,CAAC,MAAM,CAAC,CA0GjB"}
|
|
@@ -108,14 +108,22 @@ async function bumpVersion(type, preTag = 'beta') {
|
|
|
108
108
|
};
|
|
109
109
|
fs.writeFileSync(projectVersionPath, JSON.stringify(projectVersion, null, 2) + '\n');
|
|
110
110
|
console.log(`✅ Updated project-version.json to ${newVersion}`);
|
|
111
|
-
//
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
// Update installer/windows/devalang.wxs (WiX installer)
|
|
112
|
+
const wixFilePath = path.join(rootPath, 'installer', 'windows', 'devalang.wxs');
|
|
113
|
+
if (fs.existsSync(wixFilePath)) {
|
|
114
|
+
try {
|
|
115
|
+
let wixContent = fs.readFileSync(wixFilePath, 'utf-8');
|
|
116
|
+
// Update ProductVersion in the <?define ?> section
|
|
117
|
+
wixContent = wixContent.replace(/<\?define ProductVersion="[\d\.]+\-?[a-z\.]*\d*" \?>/, `<` + `?define ProductVersion="${newVersion}" ?` + `>`);
|
|
118
|
+
fs.writeFileSync(wixFilePath, wixContent);
|
|
119
|
+
console.log(`✅ Updated installer/windows/devalang.wxs to ${newVersion}`);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
console.warn('⚠️ Could not update installer/windows/devalang.wxs:', error);
|
|
123
|
+
}
|
|
116
124
|
}
|
|
117
|
-
|
|
118
|
-
console.warn('⚠️
|
|
125
|
+
else {
|
|
126
|
+
console.warn('⚠️ installer/windows/devalang.wxs not found, skipping');
|
|
119
127
|
}
|
|
120
128
|
return newVersion;
|
|
121
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bump.js","sourceRoot":"","sources":["../../../src/typescript/scripts/version/bump.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,
|
|
1
|
+
{"version":3,"file":"bump.js","sourceRoot":"","sources":["../../../src/typescript/scripts/version/bump.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/typescript/scripts/version/sync.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/typescript/scripts/version/sync.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAoEjD"}
|
|
@@ -77,5 +77,22 @@ async function syncVersion() {
|
|
|
77
77
|
projectVersion.channel = channel;
|
|
78
78
|
fs.writeFileSync(projectVersionPath, JSON.stringify(projectVersion, null, 2) + '\n');
|
|
79
79
|
console.log(`✅ Synchronized project-version.json to ${version}`);
|
|
80
|
+
// Update installer/windows/devalang.wxs (WiX installer)
|
|
81
|
+
const wixFilePath = path.join(rootPath, 'installer', 'windows', 'devalang.wxs');
|
|
82
|
+
if (fs.existsSync(wixFilePath)) {
|
|
83
|
+
try {
|
|
84
|
+
let wixContent = fs.readFileSync(wixFilePath, 'utf-8');
|
|
85
|
+
// Update ProductVersion in the <?define ?> section
|
|
86
|
+
wixContent = wixContent.replace(/<\?define ProductVersion="[\d\.]+\-?[a-z\.]*\d*" \?>/, `<` + `?define ProductVersion="${version}" ?` + `>`);
|
|
87
|
+
fs.writeFileSync(wixFilePath, wixContent);
|
|
88
|
+
console.log(`✅ Synchronized installer/windows/devalang.wxs to ${version}`);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
console.warn('⚠️ Could not update installer/windows/devalang.wxs:', error);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
console.warn('⚠️ installer/windows/devalang.wxs not found, skipping');
|
|
96
|
+
}
|
|
80
97
|
}
|
|
81
98
|
//# sourceMappingURL=sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/typescript/scripts/version/sync.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/typescript/scripts/version/sync.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devaloop/devalang",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.3",
|
|
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
|
"types": "./out-tsc/index.d.ts",
|