Créer bibliothèque de musique en C

Résolu/Fermé
matthoffman Messages postés 405 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 22 janvier 2013 - 29 déc. 2009 à 16:42
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 7 janv. 2010 à 12:56
Bonjour,
Je développe actuellement un logiciel de mix (Tracktor like) et je suis confronté à un problème, je ne trouve aucun tuto pour créer une liste de musique (ou on pourrait charger la musique sélectionnée) à la manière de iTunes.
(Je développe ce logiciel en C avec SDL.)

Merci de votre aide.
A voir également:

11 réponses

matthoffman Messages postés 405 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 22 janvier 2013 47
29 déc. 2009 à 20:42
Aucune idée ?
0
matthoffman Messages postés 405 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 22 janvier 2013 47
30 déc. 2009 à 11:40
Est ce que quelqu'un sait si au moins c'est réalisable ? ^^
0
Bonjour,
Cela m'interesserais aussi de savoir si cela est faisable.
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
4 janv. 2010 à 14:19
Il faut bien se dire qu'en C tout est faisable. Après, c'est plus ou moins difficile.
Une liste de lecture, c'est juste une file (FIFO ou FILO) avec des chemins de fichier. Il suffit juste de gérer cette file.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
matthoffman Messages postés 405 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 22 janvier 2013 47
5 janv. 2010 à 01:27
Merci de ta réponse Char Snipeur, mais je ne parlais pas de l'implémentation d'un playlist à lecture automatique, mais de l'affichage d'une liste (au sein de mon programme) de musiques situées dans certain dossier (e.g itunes).

Désolé, je me suis mal exprimé. :s
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
5 janv. 2010 à 08:21
ba c'est pareil. Je ne voi pas ce qui te bloque. Une liste c'est une liste. Je me suis peut être un peu tromper en parlant de file, mais une liste c'est ce qu'il te faut, il y a un ordre mais tu n'est pas obligé de le respecté. Je ne comprends pas trop ce que tu cherches à faire ? Le problème c'est de générer cette liste ?
0
matthoffman Messages postés 405 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 22 janvier 2013 47
5 janv. 2010 à 16:31
En fait le problème, c'est que j'ai une interface qui pour le moment est vide, je voudrais afficher à l'écran le nom de tous les fichiers .mp3 contenus dans un certain dossier.

En fait quand je parle de liste, c'est une vulgarisation : les noms des fichiers doivent être affichés les uns en dessous des autres dans ma fenetre.

Mon problème est en fait plus: "comment afficher tous les fichiers d'un répertoire dans ma fenetre SDL" qu'autre chose.
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
6 janv. 2010 à 08:13
ba voilà, là c'est clair ! Et ben, je sais pas... je ne connais pas SDL.
Je ne suis pas sur que SDL soit la bibliothèque la mieux adapter à ce que tu veux faire, Qt ou GTK me semblent plus ad hoc.
Je pense qu'il faut que tu lise la documentation de SDL pour trouver une fonction qui permet de lire le contenu d'un répertoire.
Ensuite, il faut que tu trouve un objet ou une fonction pour afficher la liste. Désolé de ne pas pouvoir plus t'aider...
0
matthoffman Messages postés 405 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 22 janvier 2013 47
6 janv. 2010 à 14:49
Bon, en effet GTK est dix fois plus adapté pour faire ceci.
Le problème est qu'il est trop tard pour prendre connaissance de la librairie GTK entièrement et de traduire tout mon programme de SDL -> GTK.
Donc si quelqu'un a déjà essayé d'intégrer une surface GTK dans une fenêtre SDL (si cela est possible), son aide serait plus que la bienvenue.

Sinon ... ba je sais pas quoi faire :'(
0
matthoffman Messages postés 405 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 22 janvier 2013 47
7 janv. 2010 à 12:32
Bon et bien c'est parfait j'ai trouvé une solution un peu folle mais ca fonctionne a merveille :D !!
Il y a dans GTK une fonctione permettant d'ouvrir un repertoire et de lister le nom de chaque fichier s'y trouvant.
Chaque nom de fichier est enregistré dans une chaine de caractère.
Il ne me reste plus alors qu'a afficher cette chaine de caractère grace aux fonctions de SDL :) !!!
En gros, j'utilise GTK et SDL mais GTK ne me sers que pour cette fonction donc aucun soucis !!!
(seul inconveniant inclure les 2 packages lors de la compilation ;)).

Voici mon fichier :

#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <stdio.h>
#include "struct.h"

void Load_Directory(TTF_Font *font, SDL_Surface *Screen, tab_file *tab_fn)
{
  GDir *dir = g_dir_open ("Data/Music", 0, NULL);
  SDL_Color color = {0, 255, 0};
  int i;

  if (dir)
    {
      const gchar *filename = NULL;
      i = 0;
      while (filename = g_dir_read_name (dir))
        {
          tab_fn->tab[i].rect.x = 220;
          tab_fn->tab[i].rect.y = 502 + (21 * i);
          tab_fn->tab[i].str = filename;
          tab_fn->tab[i].sur = TTF_RenderText_Solid(font, filename, color);
          i = i + 1;
          tab_fn->nb = i;
        }
      g_dir_close (dir), dir = NULL;
   }
}


C'est magique. Et merci pour ton aide Char Snipeur
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
7 janv. 2010 à 12:56
De rien, j'ai pas fait grand chose.
J'aurai pu te proposer cette solution, mais je n'était pas sur qu'elle fonctionne. En tout cas, je retiens ta solution, ça pourra toujours resservir.
0