diff --git a/sources/lecture/lecture.c b/sources/lecture/lecture.c index 50ab4b7..e45da5d 100644 --- a/sources/lecture/lecture.c +++ b/sources/lecture/lecture.c @@ -112,7 +112,7 @@ void lecture (int nombreChaines, int nombreInst, int tempo, Instrument* inst[], //Lecture des motifs Motif* m; - + printf("\n"); for (int courant = 0; courant < taille; courant++) { for (int i = 0; i < melodie[courant] -> nbrTmp; i++) { diff --git a/sources/main.c b/sources/main.c index af5f4c9..8d0661d 100644 --- a/sources/main.c +++ b/sources/main.c @@ -21,6 +21,7 @@ #include #include #include +#include #include "motifs/motifs.h" #include "melodie/melodie.h" @@ -41,6 +42,27 @@ Motif* melodie[MAX_PATTERNS] = {NULL}; Motif* liste = NULL; Instrument* inst[NBR_INST] = {NULL}; Sample* smpl[NBR_SMPL] = {NULL}; +int nbrPortees = 1; +int taille; + +GtkBuilder *monBuilder; +char *Do="Do"; +char *DoD="Do#"; +char *Re="Re"; +char *ReD="Re#"; +char *Mi="Mi"; +char *Fa="Fa"; +char *FaD="Fa#"; +char *Sol="Sol"; +char *SolD="Sol#"; +char *La="La"; +char *LaD="La#"; +char *Si="Si"; +char *N1="1"; +char *N2="2"; +char *N3="3"; +char *N4="4"; +char *N5="5"; // Fonctions de débug @@ -171,21 +193,144 @@ void debut(Motif* melodie[], Instrument* inst[], Sample* smpl[], Motif* liste, i } int main( int argc, char *argv[] ){ + debut(melodie, inst, smpl, liste, nbrPortees); + Motif* m = melodie[0]; + GtkWidget *maFenetre; + char str[20]; + gtk_init( &argc, &argv ); + + monBuilder = gtk_builder_new(); + + gtk_builder_add_from_file( monBuilder, "GUI/ponytrackertest.glade", NULL); + gtk_builder_connect_signals( monBuilder, NULL); + + maFenetre = GTK_WIDGET( gtk_builder_get_object( monBuilder, "fenetreprincipale")); + + GtkButton *button = (GtkButton*) gtk_builder_get_object(monBuilder, "button16"); + switch (getNote(m,0,0)) { + case 0 : + strcpy(str,"Do "); + break; + case 1 : + strcpy(str,"Do# "); + break; + case 2 : + strcpy(str,"Re "); + break; + case 3 : + strcpy(str,"Re# "); + break; + case 4 : + strcpy(str,"Mi "); + break; + case 5 : + strcpy(str,"Fa "); + break; + case 6 : + strcpy(str,"Fa# "); + break; + case 7 : + strcpy(str,"Sol "); + break; + case 8 : + strcpy(str,"Sol# "); + break; + case 9 : + strcpy(str,"La "); + break; + case 10 : + strcpy(str,"La# "); + break; + case 11 : + strcpy(str,"Si "); + break; + default : + break; + } - //lecture(nbrPortee, melodie); + printf("%d\n",getOctave(m,0,0)); + + switch (getOctave(m,0,0)) { + case 0 : + strcat(str, "0 "); + break; + case 1 : + strcat(str, "1 "); + break; + case 2 : + strcat(str, "2 "); + break; + case 3 : + strcat(str, "3 "); + break; + case 4 : + strcat(str, "4 "); + break; + default : + break; + } - // insérer code GTK ici - GtkBuilder *monBuilder; - GtkWidget *maFenetre; + switch (getInstrument(m,0,0)) { + case 0 : + strcat(str, "0 "); + break; + case 1 : + strcat(str, "1 "); + break; + case 2 : + strcat(str, "2 "); + break; + case 3 : + strcat(str, "3 "); + break; + case 4 : + strcat(str, "4 "); + break; + default : + break; + } - gtk_init( &argc, &argv ); + switch (getVolume(m,0,0)) { + case 0 : + strcat(str, "0 "); + break; + case 1 : + strcat(str, "1 "); + break; + case 2 : + strcat(str, "2 "); + break; + case 3 : + strcat(str, "3 "); + break; + case 4 : + strcat(str, "4 "); + break; + default : + break; + } - monBuilder = gtk_builder_new(); + switch (getEffet(m,0,0)) { + case 0 : + strcat(str, "0 "); + break; + case 1 : + strcat(str, "1 "); + break; + case 2 : + strcat(str, "2 "); + break; + case 3 : + strcat(str, "3 "); + break; + case 4 : + strcat(str, "4 "); + break; + default : + break; + } - gtk_builder_add_from_file( monBuilder, "GUI/ponytracker.glade", NULL); - gtk_builder_connect_signals( monBuilder, NULL); - - maFenetre = GTK_WIDGET( gtk_builder_get_object( monBuilder, "fenetreprincipale")); + gtk_button_set_label(button, str); gtk_widget_show_all (maFenetre); gtk_main(); @@ -194,61 +339,121 @@ int main( int argc, char *argv[] ){ void fenetreSample ( int argc, char *argv[] ) { - GtkBuilder *monBuilderSample; - GtkWidget *maFenetreSample; - gtk_init( &argc, &argv ); - - monBuilderSample = gtk_builder_new(); - - gtk_builder_add_from_file( monBuilderSample, "GUI/ponytracker.glade", NULL); - gtk_builder_connect_signals( monBuilderSample, NULL); - - maFenetreSample = GTK_WIDGET( gtk_builder_get_object( monBuilderSample, "ajoutsample")); + GtkWidget *maFenetreSample = GTK_WIDGET( gtk_builder_get_object( monBuilder, "ajoutsample")); gtk_widget_show_all (maFenetreSample); } void fenetreInstrument ( int argc, char *argv[] ) { - GtkBuilder *monBuilderInstrument; - GtkWidget *maFenetreInstrument; - - gtk_init( &argc, &argv ); - - monBuilderInstrument = gtk_builder_new(); - - gtk_builder_add_from_file( monBuilderInstrument, "GUI/ponytracker.glade", NULL); - gtk_builder_connect_signals( monBuilderInstrument, NULL); - - maFenetreInstrument = GTK_WIDGET( gtk_builder_get_object( monBuilderInstrument, "ajoutinstrument")); + GtkWidget *maFenetreInstrument = GTK_WIDGET( gtk_builder_get_object( monBuilder, "ajoutinstrument")); gtk_widget_show_all (maFenetreInstrument); } void fenetreMotif ( int argc, char *argv[] ) { - GtkBuilder *monBuilderMotif; - GtkWidget *maFenetreMotif; - - gtk_init( &argc, &argv ); - - monBuilderMotif = gtk_builder_new(); - - gtk_builder_add_from_file( monBuilderMotif, "GUI/ponytracker.glade", NULL); - gtk_builder_connect_signals( monBuilderMotif, NULL); - - maFenetreMotif = GTK_WIDGET( gtk_builder_get_object( monBuilderMotif, "ajoutmotif")); + GtkWidget *maFenetreMotif = GTK_WIDGET( gtk_builder_get_object( monBuilder, "ajoutmotif")); gtk_widget_show_all (maFenetreMotif); } +void fenetreNote ( int argc, char *argv[] ) +{ + GtkWidget *maFenetreNote = GTK_WIDGET( gtk_builder_get_object( monBuilder, "ajoutnote")); + + gtk_widget_show_all (maFenetreNote); +} + +void remplissageNote (GtkWidget *widget, gpointer *data){ + + Motif* m = melodie[0]; + + GtkEntry *entryNote = (GtkEntry*) gtk_builder_get_object(monBuilder,"combonote"); + GtkEntry *entryOctave = (GtkEntry*) gtk_builder_get_object(monBuilder,"combooctave"); + GtkEntry *entryInstrument = (GtkEntry*) gtk_builder_get_object(monBuilder,"comboinstrument"); + GtkEntry *entryVolume = (GtkEntry*) gtk_builder_get_object(monBuilder,"combovolume"); + GtkEntry *entryEffet = (GtkEntry*) gtk_builder_get_object(monBuilder,"comboeffet"); + + const char *strnote = gtk_entry_get_text(GTK_ENTRY(entryNote)); + const char *stroctave = gtk_entry_get_text(GTK_ENTRY(entryOctave)); + const char *strinstrument = gtk_entry_get_text(GTK_ENTRY(entryInstrument)); + const char *strvolume = gtk_entry_get_text(GTK_ENTRY(entryVolume)); + const char *streffet = gtk_entry_get_text(GTK_ENTRY(entryEffet)); + + if (strcmp(Do,strnote)==0) definirNote(m,0,0,1); + else + if (strcmp(DoD,strnote)==0) definirNote(m,0,0,2); + else + if (strcmp(Re,strnote)==0) definirNote(m,0,0,3); + else + if (strcmp(ReD,strnote)==0) definirNote(m,0,0,4); + else + if (strcmp(Mi,strnote)==0) definirNote(m,0,0,5); + else + if (strcmp(Fa,strnote)==0) definirNote(m,0,0,6); + else + if (strcmp(FaD,strnote)==0) definirNote(m,0,0,7); + else + if (strcmp(Sol,strnote)==0) definirNote(m,0,0,8); + else + if (strcmp(SolD,strnote)==0) definirNote(m,0,0,9); + else + if (strcmp(La,strnote)==0) definirNote(m,0,0,10); + else + if (strcmp(LaD,strnote)==0) definirNote(m,0,0,11); + else + if (strcmp(Si,strnote)==0) definirNote(m,0,0,12); + + if (strcmp(N1,stroctave)==0) definirOctave(m,0,0,1); + else + if (strcmp(N2,stroctave)==0) definirOctave(m,0,0,2); + else + if (strcmp(N3,stroctave)==0) definirOctave(m,0,0,3); + else + if (strcmp(N4,stroctave)==0) definirOctave(m,0,0,4); + else + if (strcmp(N5,stroctave)==0) definirOctave(m,0,0,5); + + if (strcmp(N1,strinstrument)==0) definirInstrument(m,0,0,1); + else + if (strcmp(N2,strinstrument)==0) definirInstrument(m,0,0,2); + else + if (strcmp(N3,strinstrument)==0) definirInstrument(m,0,0,3); + else + if (strcmp(N4,strinstrument)==0) definirInstrument(m,0,0,4); + else + if (strcmp(N5,strinstrument)==0) definirInstrument(m,0,0,5); + + if (strcmp(N1,strvolume)==0) definirVolume(m,0,0,1); + else + if (strcmp(N2,strvolume)==0) definirVolume(m,0,0,2); + else + if (strcmp(N3,strvolume)==0) definirVolume(m,0,0,3); + else + if (strcmp(N4,strvolume)==0) definirVolume(m,0,0,4); + else + if (strcmp(N5,strvolume)==0) definirVolume(m,0,0,5); + + if (strcmp(N1,streffet)==0) definirEffet(m,0,0,1); + else + if (strcmp(N2,streffet)==0) definirEffet(m,0,0,2); + else + if (strcmp(N3,streffet)==0) definirEffet(m,0,0,3); + else + if (strcmp(N4,streffet)==0) definirEffet(m,0,0,4); + else + if (strcmp(N5,streffet)==0) definirEffet(m,0,0,5); +} + void lancerLecture () { - int nbrPortees = 1; + //courant = 0; - taille = 0; - debut(melodie, inst, smpl, liste, nbrPortees); + //taille = 0; + printf("%d\n",nbrPortees); + //debut(melodie, inst, smpl, liste, nbrPortees); lecture(nbrPortees,1,480,inst,melodie); } @@ -256,3 +461,5 @@ void quitter () { gtk_main_quit(); } + +void refresh(){}