globals.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { makeState } from '/utilities.js';
  2. import { makeSynthSource,
  3. audioContext } from '/audio/audio.js';
  4. import { jc } from '/configuration.js';
  5. import { assets } from '/assets.js';
  6. import { denizen } from '/denizen.js';
  7. import { makePlaybackQueue } from '/musicPlayback.js';
  8. let miscGlobals = {connections: makeState([]),
  9. masterGain: audioContext.createGain(),
  10. synthSource: makeSynthSource()};
  11. function setGlobals() {
  12. miscGlobals.playbackQueue = makePlaybackQueue(miscGlobals.synthSource,
  13. assets.assets.compiledSynths);
  14. miscGlobals.masterGain.gain.value = 0.08;
  15. miscGlobals.masterGain.connect(audioContext.destination);
  16. miscGlobals.synthSource.output.connect(miscGlobals.masterGain);
  17. }
  18. function resetSynthSource() {
  19. miscGlobals.synthSource.output.disconnect();
  20. miscGlobals.synthSource = makeSynthSource();
  21. miscGlobals.synthSource.output.connect(miscGlobals.masterGain);
  22. }
  23. function getGlobals() {
  24. return {jc: jc.jc,
  25. assets: assets.assets,
  26. denizen: denizen.denizen,
  27. ...miscGlobals};
  28. }
  29. export { getGlobals, setGlobals, resetSynthSource }