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

C Discussion :

message midi et console lumiere


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 27
    Par défaut message midi et console lumiere
    bonjour tout le monde,

    voila j'ai fais un jeu en C avec la librairie SDL. Dedans j'y joue des mp3 en fonction de l'avancement du jeu.

    Mon problème est que en plus des mp3, je voudrai faire des effets de lumières. Pour cela je voudrai envoyer des messages midi à une console lumière. ET j'y connais rien en message midi
    J'ai beau chercher sur google je ne trouve rien de tres satisfaisant

    Alors si quelqu'un connait un tuto ou saurai m'expliquer ça serait sympa

    apparemment on peut gérer des messages midi avec FMOD ou l'apiwin32, mais rien de sûr. Je ne sais pas trop vers quelle solution m'orienter me please

    merci d'avance pour vos propositions


    PS:je ne sais pas si je suis dans le bon forums(vu que je développe en C), sinon redirigez le sujet

  2. #2
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    En principe, une console lumière ne se pilote pas en midi mais en DMX.

    A+

    Pfeuh

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 27
    Par défaut
    ba faut croire que si mon patron y arrive. il branche un clavier MIDI yamaha au PC via une interface midi usb (en midi out), et la console lumière a l'interface midi usb en midi in. mais il passe par un logiciel, il voudrai que j'envoie ce message midi " B10000C002 "

  4. #4
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Ok,

    C'est vrai que depuis quelques années on peut piloter à peu près n'importe quoi en midi. Alors "B1xx...xx", c'est un program change sur le canal midi 2. Sous windows, c'est relativement facile d'envoyer des codes midi, mais on ne peut pas envoyer octet par octet, il y a une fonction genre sendMessage() avec en paramètre les datas qui vont bien, channel, valeur, etc... Il faut inclure au projet la ddl "winmm.dll" de mémoire, il faudra que tu fasses quelques recherches, c'est juste l'idée. Bonne chance.

    A+

    Pfeuh

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 27
    Par défaut
    en fait je fais déjà 2 includes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <windows.h>
    #include <MMSYSTEM.H>
    qui sont dans winmm.dll.
    J'ai vu la doc sur msdn http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx

    j'arrive à envoyer du son mais pas un program change :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    HMIDIOUT    handle;
     
    /* Open default MIDI Out device */
    if (!midiOutOpen(&handle, 1, 0, 0, CALLBACK_NULL) )
    {
        fprintf(stderr,"OUVERT");
        MMRESULT resultat;
        /* Output the C note (ie, sound the note) */
        resultat = midiOutShortMsg(handle, 0x00403C90);
     
        switch(resultat)
        {
            case MMSYSERR_NOERROR:
                    fprintf(stderr,"ENVOYERRRRRRRRRRR");
            break;
     
            case MIDIERR_BADOPENMODE:
                fprintf(stderr,"PAAAAAAASSS ENVOYER, BADOPENMODE");
            break;
     
            case MIDIERR_NOTREADY:
                fprintf(stderr,"PAAAAAAASSS ENVOYER, NOTREADY");
            break;
     
            case MMSYSERR_INVALHANDLE:
                fprintf(stderr,"PAAAAAAASSS ENVOYER, INVALHANDLE");
            break;
     
            default:
                fprintf(stderr,"PAAAAAAASSS ENVOYER, REPONSE PAR DEFAUT");
            break;
        }
     
     
     
         /* Close the MIDI device */
         midiOutClose(handle);
    }else
    {
        fprintf(stderr,"PAS OUVERT");
    }
    dans la fonction midiOutShortMsg(), le 2e paramètre attend une variable de type DWORD. mais quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    midiOutShortMsg(handle, (DWORD)"C0 02");
    il me dit que j'ai réussit à envoyer le message mais la console lumière ne repond pas ?

  6. #6
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    midiOutShortMsg(handle, (DWORD)"C0 02");
    C'est censé marcher, un cast d'une chaine en DWORD???

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récuperer les messages d'erreurs console
    Par A.SISSA dans le forum Delphi
    Réponses: 9
    Dernier message: 15/06/2007, 11h09
  2. message d'erreur console javascript: cur_combobox has no proprieties
    Par eclipse012 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/01/2007, 14h59
  3. Réponses: 5
    Dernier message: 07/06/2006, 12h11
  4. [VS 2003]récupérer des messages midi
    Par NiamorH dans le forum Visual Studio
    Réponses: 2
    Dernier message: 05/05/2006, 11h49
  5. messages dans la console au cours de l'execution
    Par meli0207 dans le forum MFC
    Réponses: 10
    Dernier message: 13/06/2005, 14h15

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