1 | !7 |
2 | |
3 | import static x30_pkg.x30_util.VF1; |
4 | |
5 | sclass PlaySyncedAudioLoop > DynModule {
|
6 | bool enabled = true; |
7 | float gain = 0.5f; |
8 | File file; |
9 | S masterModule; |
10 | double speed = 1; |
11 | |
12 | transient short[] loop; |
13 | transient SyncedStereoSamplesIterator source; |
14 | transient GainSoundSource gainSource; |
15 | |
16 | start {
|
17 | dm_addSoundSource(gainSource = GainSoundSource(0)); |
18 | onChangeAndNow(r {
|
19 | set(gainSource, gain := enabled ? (double) gain : 0.0); |
20 | }); |
21 | loadFile(file); |
22 | } |
23 | |
24 | visualize {
|
25 | ret jHandleFileDrop(voidfunc(final File f) enter { thread { loadFile(f); } },
|
26 | centerAndSouth( |
27 | vstackWithSpacing( |
28 | withLabel("Master:", dm_moduleSelectorComboBox(dm_fieldLiveValue('masterModule))),
|
29 | withLabel("File:", dm_fieldLabel('file))),
|
30 | centerAndEast( |
31 | withLabel("Volume (0-200%):", liveSliderZeroToOne(gain/2, voidfunc(float f) { setField(gain := f*2) })),
|
32 | dm_fieldCheckBox('enabled))));
|
33 | } |
34 | |
35 | void loadFile(File f) {
|
36 | loop = null; |
37 | setField(file := f); |
38 | print("Loading audio file: " + f);
|
39 | pcall { loop = decodeAudioFileToStereoSamples(f); }
|
40 | gainSource.replaceSource(source = SyncedStereoSamplesIterator(masterModule, loop)); |
41 | } |
42 | } |
Began life as a copy of #1020114
download show line numbers debug dex old transpilations
Travelled to 8 computer(s): bhatertpkbcr, cfunsshuasjs, gwrvuhgaqvyk, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1020126 |
| Snippet name: | Play Audio Loop Synced To Another Module [dev.] |
| Eternal ID of this version: | #1020126/1 |
| Text MD5: | 880087c815c3a0f812a4f1da13a7e979 |
| Author: | stefan |
| Category: | javax / sound |
| Type: | JavaX source code (Dynamic Module) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2018-12-08 21:55:02 |
| Source code size: | 1253 bytes / 42 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 533 / 572 |
| Referenced in: | [show references] |