import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import java.util.ArrayList;
import javafx.scene.layout.GridPane;
import javafx.scene.control.Button;
import javafx.geometry.Insets;
import javafx.scene.control.Label;
import javafx.scene.image.ImageView;
import javafx.scene.image.Image;
import javafx.scene.control.TextField;
import java.io.FileInputStream;
public class Organizador extends GridPane {
	int boton = 33;
	public Organizador(){
		//metodo constructor
		botonList = new ArrayList<BotonList>();
		setPadding(new Insets(10, 10, 10, 10));
		setVgap(10);
		setHgap(10);
		int i;
		
		int j=1;
		for(i=1;i<=32;i++){
			String str=Integer.toString(i); 
			if(i<=8){
				int x=i;
				String str2=Integer.toString(x);
				String str3=str2+".mp3";
				String str4=str2+".png";
				Boton boton;
				boton=new Boton(str,str3,str4);
				botonList.add(boton);
				BotonVol botonVol=new BotonVol(boton);
                add(botonVol,i+1,j,1,1);
				//boton.setOnAction(e->boton.play_pause());
            }
            if(i>8 && i<=16){
				int x=i-8;
				String str2=Integer.toString(x);
				String str5=Integer.toString(i);
				String str3=str5+".mp3";
				String str4=str2+".png";
				Boton boton;
                j=2;
                boton=new Boton(str,str3,str4);
				botonList.add(boton);
				BotonVol botonVol=new BotonVol(boton);
                add(botonVol,i-8+1,j,1,1);
				//boton.setOnAction(e->boton.play_pause());
            }
            if(i>16 && i<=24){
				int x=i-16;
				String str2=Integer.toString(x);
				String str5=Integer.toString(i);
				String str3=str5+".mp3";
				String str4=str2+".png";
				Boton boton;
                j=3;
                boton=new Boton(str,str3,str4);
				botonList.add(boton);
				BotonVol botonVol=new BotonVol(boton);
                add(botonVol,i-16+1,j,1,1);
				//boton.setOnAction(e->boton.play_pause());
            }
            if (i>24 && i<=32){
				int x=i-24;
				String str2=Integer.toString(x);
				String str5=Integer.toString(i);
				String str3=str5+".mp3";
				String str4="cat.png";
				Boton boton;
                j=4;
                boton=new Boton(str,str3,str4);
				botonList.add(boton);
				BotonVol botonVol=new BotonVol(boton);
                add(botonVol,i-24+1,j,1,1);
				//boton.setOnAction(e->boton.play_pause());
            }
			Button agregarBoton = new Button("Agregar boton");
			
			Button stop=new Button("Pausa a todo");
			stop.setOnAction(e->{
				for( BotonList device: botonList)
					device.pause();
			});
			
			add(agregarBoton,10,1,1,1);
			add(stop,10,3,1,1);
			
			Image image = new Image("bajo.png"); 
			Image image2 = new Image("piano.png"); 
			Image image3 = new Image("flauta.png"); 
			Image image4 = new Image("bateria.png"); 
			ImageView imageView = new ImageView(image);
			ImageView imageView2 = new ImageView(image2);
			ImageView imageView3 = new ImageView(image3);
			ImageView imageView4 = new ImageView(image4);
			add(imageView,1,1,1,1);
			add(imageView2,1,2,1,1);
			add(imageView3,1,3,1,1);
			add(imageView4,1,4,1,1);
			
			agregarBoton.setOnAction(e->{
				if(boton>30){
					this.getChildren().remove(agregarBoton);
				}
				crearBoton();
			});
		}
	}
	
	void crearBoton(){
		System.out.println(boton);
		if((int)boton<=40){
			Label label1 = new Label("Nombre de su archivo:");
			TextField textField = new TextField ();
			add(label1,10,2,1,1);
			add(textField,11,2,1,1);
			Button submit= new Button("Agregar");
			String str2;
			add(submit,12,2,1,1);
			submit.setOnAction(e->{
				
				String str=Integer.toString(boton);
				Boton sonido=new Boton(str,textField.getText(),"cat.png");
				botonList.add(sonido);
				BotonVol botonVol=new BotonVol(sonido);
				boton++;
				add(botonVol,boton-33+1,5,1,1);
				this.getChildren().remove(textField);
				this.getChildren().remove(submit);
				this.getChildren().remove(label1);
			});
			
			
		}
		else{
			Label label1 = new Label("Ya agrego todos los sonidos posibles");
			add(label1,11,2,1,1);
			
		}
	}
	
	
	ArrayList<BotonList> botonList;
}
