Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //MAIN CODE
- import processing.serial.*;
- import processing.sound.*;
- import ddf.minim.*;
- import controlP5.*;
- ControlP5 gui;
- Serial port;
- Minim minim;
- Button BPnext; //Button for Next File
- Button BPstop; // Stop Playing DONE
- Button BPcont; // Continue Playing DONE
- Button BMexit; // Exit DONE
- Button BAactive; // Is Serial port? WIP
- Button BFgetFolder; // Getting Dir to play WIP
- Button BVisu; //Toggle For Visualization DOING
- Slider Sleng; // WIP
- AudioPlayer player; // DONE
- File[] files; // WIP(Counting WIP, other DONE)
- File filetoplay; // DONE
- int i = 100, overButton, directory, x, y, activeTab = 1;
- int[] keysPressed;
- String dir;
- //String line = "C:\\Users\\Maccraft\\Desktop\\MUZYKABEZID3";
- String line = ""; //Insert here path to directory with music
- String nowPlay;
- PFont font;
- boolean isPi = false;
- boolean isSerial = false;
- boolean isPhone = false;
- PrintWriter output;
- BufferedReader reader;
- void setup()
- {
- background(0);
- size(500,200);
- font = createFont("arial", 10);
- files = listFiles(line);
- minim = new Minim(this);
- try
- {
- port = new Serial(this, Serial.list()[1], 9600);
- isSerial = true;
- }
- catch(Exception e)
- {
- isSerial = false;
- }
- gui = new ControlP5(this);
- reDraw();
- filetoplay = files[int(random(0, 51))]; //Replase 51 with .mp3 count
- println("PLAYING: ", filetoplay.getName());
- player = minim.loadFile(filetoplay.getAbsolutePath());
- player.play();
- textFont(font);
- }
- void draw()
- {
- background(0);
- stroke(255);
- if (activeTab == 1)
- {
- for(int i = 0; i < player.bufferSize() - 1; i++)
- {
- float x1 = map( i, 0, player.bufferSize(), 0, 500);
- float x2 = map( i+1, 0, player.bufferSize(), 0, 500);
- line( x1, 100 + player.left.get(i)*50, x2, 100 + player.left.get(i+1)*50 );
- }
- }
- if (player.position()+10 == player.length())
- Next();
- Sleng.setValue(map(player.position(), 0, player.length(), 1, 100));
- }
- //FUNCTIONS CODE:
- void Next()
- {
- filetoplay = files[int(random(0, 51))];
- if (isSerial) println("Now Playing: "+filetoplay.getName());
- println("Now Playing: ", filetoplay.getName());
- player.mute();
- player = minim.loadFile(filetoplay.getAbsolutePath());
- player.play();
- }
- void Play()
- {
- player.play();
- }
- void Stop()
- {
- player.pause();
- }
- void EXIT()
- {
- exit();
- }
- //GUI CODE:
- void reDraw()
- {
- background(0);
- gui.getTab("default")
- .activateEvent(true)
- .setLabel("Player")
- .setId(1);
- gui.getTab("Arduino")
- .activateEvent(true)
- .setId(2);
- gui.getTab("Files")
- .activateEvent(true)
- .setId(3);
- BPnext = new Button(gui, "Next")
- .setPosition(0, 16)
- .setHeight(24)
- .setWidth(50)
- .setFont(font);
- BPcont = new Button(gui, "Play")
- .setPosition (50,16)
- .setHeight(24)
- .setWidth(50)
- .setFont(font);
- BPstop = new Button(gui, "Stop")
- .setPosition(100, 16)
- .setHeight(24)
- .setWidth(47)
- .setFont(font);
- BMexit = new Button(gui, "EXIT")
- .setPosition(450, 0)
- .setHeight(24)
- .setWidth(50)
- .setFont(font);
- BAactive = new Button(gui, "IsSerial")
- .setPosition(150, 50)
- .setLabel("Serial Port Enabled?")
- .moveTo("Arduino")
- .setFont(font);
- BFgetFolder = new Button(gui, "Directory")
- .setPosition(150, 50)
- .moveTo("Files")
- .setFont(font);
- BVisu = new Button(gui, "GameMode")
- .setPosition(147, 16)
- .setHeight(24)
- .setWidth(100)
- .moveTo("default")
- .setLabelVisible(true)
- .setFont(font);
- Sleng = new Slider(gui, "Rewind")
- .setPosition(0, height-20)
- .setSize(width, 20)
- .setRange(1, 100);
- }
- //TABS CODE:
- void controlEvent(ControlEvent theControlEvent)
- {
- if (theControlEvent.isTab())
- activeTab = theControlEvent.getTab().getId();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement