Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

42
LINES

< > BotCompany Repo | #1020126 // Play Audio Loop Synced To Another Module [dev.]

JavaX source code (Dynamic Module) - run with: Stefan's OS

!7

import static x30_pkg.x30_util.VF1;

sclass PlaySyncedAudioLoop > DynModule {
  bool enabled = true;
  float gain = 0.5f;
  File file;
  S masterModule;
  double speed = 1;
  
  transient short[] loop;
  transient SyncedStereoSamplesIterator source;
  transient GainSoundSource gainSource;
  
  start {
    dm_addSoundSource(gainSource = GainSoundSource(0));
    onChangeAndNow(r {
      set(gainSource, gain := enabled ? (double) gain : 0.0);
    });
    loadFile(file);
  }

  visualize {
    ret jHandleFileDrop(voidfunc(final File f) enter { thread { loadFile(f); } },
      centerAndSouth(
        vstackWithSpacing(
          withLabel("Master:", dm_moduleSelectorComboBox(dm_fieldLiveValue('masterModule))),
          withLabel("File:", dm_fieldLabel('file))),
        centerAndEast(
          withLabel("Volume (0-200%):", liveSliderZeroToOne(gain/2, voidfunc(float f) { setField(gain := f*2) })),
          dm_fieldCheckBox('enabled))));
  }

  void loadFile(File f) {
    loop = null;
    setField(file := f);
    print("Loading audio file: " + f);
    pcall { loop = decodeAudioFileToStereoSamples(f); }
    gainSource.replaceSource(source = SyncedStereoSamplesIterator(masterModule, loop));
  }
}

Author comment

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: 239 / 265
Referenced in: [show references]