IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Réaliser une boucle en midi


Sujet :

SDL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chomeur
    Inscrit en
    Février 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Février 2013
    Messages : 37
    Points : 32
    Points
    32
    Par défaut Réaliser une boucle en midi
    Bonjour

    Mon projet avance bien et je viens d'implémenter des musiques midi dans un tableau avec SDL_mixer. Cela marche bien mais j'ai besoin de faire des boucles spéciales : non pas simplement lancer la musique et la rejouer une fois que c'est fini mais lancer la musique et la rejouer à un moment précis de la musique (quelques secondes après le début de celle-ci). Je n'ai rien trouvé qui convient, avez-vous une solution à ce problème ?

  2. #2
    Membre habitué

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2008
    Messages : 110
    Points : 167
    Points
    167
    Par défaut
    La meilleur solution est d'utiliser SDL_Mixer. tu peux trouver la DLL et plus d'information pour lire en boucle ici
    http://www.libsdl.org/projects/SDL_mixer/

    tu trouveras aussi de l'information ici
    http://loka.developpez.com/tutoriel/sdl/sons/ sous la section VII-B. Premier programme avec SDL_mixer

    Bonne chance.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Chomeur
    Inscrit en
    Février 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Février 2013
    Messages : 37
    Points : 32
    Points
    32
    Par défaut
    Merci pour la réponse.

    Mais malheureusement, j'avais déjà regardé dans SDL2_mixer.h pour voir s'il n'y aurait pas une fonction qui convient. Il y a bien Mix_SetMusicPosition mais évidemment, ça ne marche pas avec les musiques midi.

  4. #4
    Membre habitué

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2008
    Messages : 110
    Points : 167
    Points
    167
    Par défaut
    est-ce que le fichier audio doit rouler en background? Si oui, tu peux te faire une bouche infinit avec une gestion de thread et tu termine la boucle lorsque nécessaire.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Chomeur
    Inscrit en
    Février 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Février 2013
    Messages : 37
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par geektoo Voir le message
    est-ce que le fichier audio doit rouler en background? Si oui, tu peux te faire une bouche infinit avec une gestion de thread et tu termine la boucle lorsque nécessaire.
    Hum, je n'ai pas vraiment compris ce qui est proposé permettra de lire une fois mon fichier midi et de reprendre la lecture un peu plus loin du début et de tourner en boucle.

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Pourquoi ne pas modifier le fichier midi ? C'est un format séquencé donc au final, il suffit d'ajouté le code MIDI de la boucle et cela ira ?
    Sinon, autre méthode que j'ai imaginé ce midi : couper en deux la musique. Première partie : la partie qui ne boucle jamais. La seconde partie, la partie qui doit bouclé. Ensuite, ce n'est qu'une question de code (lire la seconde partie lorsque la première est finie).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Chomeur
    Inscrit en
    Février 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Février 2013
    Messages : 37
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Bonjour,

    Pourquoi ne pas modifier le fichier midi ? C'est un format séquencé donc au final, il suffit d'ajouté le code MIDI de la boucle et cela ira ?
    Hum, est-ce que je pourrais avoir plus d'infos à ce sujet ?

    Citation Envoyé par LittleWhite Voir le message
    Sinon, autre méthode que j'ai imaginé ce midi : couper en deux la musique. Première partie : la partie qui ne boucle jamais. La seconde partie, la partie qui doit bouclé. Ensuite, ce n'est qu'une question de code (lire la seconde partie lorsque la première est finie).
    C'est justement pour éviter cette extrémité que j'ai posé cette question.

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Le fichier MIDI, c'est un format de fichier, qui contient des données genre :
    "Note-Gamme", "Volume", "Effet". (Voir, entre autre : https://fr.wikipedia.org/wiki/Tracker_%28musique%29 ).
    Du coup, c'est un fichier que vous pouvez facilement modifier pour rajouter, une boucle, je pense
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Chomeur
    Inscrit en
    Février 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Février 2013
    Messages : 37
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Le fichier MIDI, c'est un format de fichier, qui contient des données genre :
    "Note-Gamme", "Volume", "Effet". (Voir, entre autre : https://fr.wikipedia.org/wiki/Tracker_%28musique%29 ).
    Du coup, c'est un fichier que vous pouvez facilement modifier pour rajouter, une boucle, je pense
    Après quelques recherches, je pense avoir trouvé un truc : dans mon logiciel midi (Anvil Studio), il y a une option que l'on peut ajouter qui s'appelle "cue". Je me demande si on peut en faire quelque chose.

  10. #10
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Faudra nous tenir au courant alors
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  11. #11
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 978
    Points
    7 978
    Par défaut
    Une autre piste peut être (mais je ne sais pas si c'est techniquement possible) serait de transformer/rendre (avec la sdl?) ton midi en une piste sonore que tu pourrais facilement manipuler ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Chomeur
    Inscrit en
    Février 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Février 2013
    Messages : 37
    Points : 32
    Points
    32
    Par défaut
    Lassé de ne rien trouver, j'ai opté pour une autre solution un peu lache : convertir le tout en flac qui pourra utiliser "SetMusicPosition". C'est plus lourd mais plus facile et le son n'est pas impacté.

    Edit :
    Bah non, ça ne marche pas car flac n'est pas pris en compte par Load_music.

    Edit 2 :
    J'ai vu des professionnels du fichier midi et malheureusement, ce n'est pas possible de le faire directement sur le fichier midi. Il faut coder en dur mais comment ?

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Chomeur
    Inscrit en
    Février 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Février 2013
    Messages : 37
    Points : 32
    Points
    32
    Par défaut
    Désolé pour le double post.

    Il semblerait que je vais devoir coder à la main mon propre lecteur midi si je veux arriver à ce que je veux, à moins que j'arrive à savoir comment fonctionne SDL_mixer.

  14. #14
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Je doute que ce soit simple. La meilleure solution, c'est le coup du FLAC, dessus, ou encore mieux, ma solution de couper le fichier en deux
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. [XL-2007] Réaliser une boucle
    Par alexandrek dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 02/02/2011, 11h19
  2. Réaliser une boucle
    Par guigui69 dans le forum VBScript
    Réponses: 0
    Dernier message: 16/06/2010, 11h03
  3. Réponses: 2
    Dernier message: 12/04/2010, 17h14
  4. Comment réaliser une boucle pour remplir un tableau
    Par LVChatel dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 03/04/2009, 11h20
  5. réaliser une boucle pour afficher des sources
    Par cloridriks dans le forum Langage
    Réponses: 9
    Dernier message: 17/03/2008, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo