diff --git a/lajik/lajik.pde b/lajik/lajik.pde index abeb960..c12a3e3 100644 --- a/lajik/lajik.pde +++ b/lajik/lajik.pde @@ -35,6 +35,8 @@ Level myLevel; ParticleSystem ps; +AudioManager audioManager; + void setup() { size(1024, 768); smooth(); @@ -44,6 +46,10 @@ void setup() { Fisica.init(this); frameRate(realFrameRate); + + Minim minim = new Minim(this); + audioManager = new AudioManager(minim, "SerialK.wav"); + audioManager.loop("SerialK.wav"); } boolean keyLeft; @@ -393,3 +399,65 @@ void drawRectangle(VParticle p) { endShape(CLOSE); popMatrix(); } + +import ddf.minim.*; + +class AudioManager { + private Minim minim; + private ArrayList players; + + public AudioManager(String[] tracks) { + minim = new Minim(this); + players = new ArrayList(); + for(String name : tracks) { + players.add(minim.loadFile(name)); + } + } + + public AudioManager(Minim initialMinim, String track) { + minim = initialMinim; + players = new ArrayList(); + players.add(minim.loadFile(track)); + } + + public AudioManager() { + minim = new Minim(this); + players = new ArrayList(); + } + + public void addTrack(String name) { + players.add(minim.loadFile(name)); + } + + public void play(String name) { + for(AudioPlayer track : players) { + if(track.getMetaData().fileName() == name) { + track.play(); + } + } + } + + public void pause(String name) { + for(AudioPlayer track : players) { + if(track.getMetaData().fileName() == name) { + track.pause(); + } + } + } + + public void loop(String name) { + for(AudioPlayer track : players) { + if(track.getMetaData().fileName() == name) { + track.loop(); + } + } + } + + public void rewind(String name) { + for(AudioPlayer track : players) { + if(track.getMetaData().fileName() == name) { + track.rewind(); + } + } + } +}