Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Dériation interruption µP [ Multimédia / Audio ] (juju59)

samedi 17 mai 2008 à 08:22:19 | Dériation interruption µP

juju59

Salut à tous,

J'ai déjà posé la question, mais je n'ai pas eu de réponse ...

Je suis musicien de longue date, et de ce fait, j'écris beaucoup de dources qui tournent autour de ce sujet.
J'ai réussi, non sans mal, à déchiffrer les fichier mid's. Mais pour l'exécution, j'ai le timer rapide qui ne suit pas trop, surtout si plusieurs applications tournent. Voici une section du timer que j'utilise dans un UserControl :
'=======================================================================================
' Mise en service du timer
'---------------------------------------------------------------------------------------
Public Function Start_Timer() As Boolean
'---------------------------------------------------------------------------------------
Dim Resultat As Long
'---------------------------------------------------------------------------------------
   Actif = True: Start_Timer = True: Evenement = True
   Do
      If Evenement Then Evenement = False: RaiseEvent Timer
      FT.Long_High = -1: FT.Long_Low = -1
      Resultat = API_KL_Set_Waitable_Timer(Timer_Handle, FT, 0, 0, 0, False)
      Do
         If API_US_Msg_Wait_For_Multiple_Objects(1, Timer_Handle, False _
         , INFINITE, QS_ALLINPUT) = WAIT_OBJECT_0 Then Exit Do
         DoEvents
      Loop
      If m_Valeur > 0 Then
         m_Valeur = m_Valeur - 1
         If m_Valeur <= 0 Then Evenement = True
      End If
   Loop While Actif = True
End Function

Cela fonctionne, mais la priorité ce ce timer n'est pas très élevé, malgré son attribution 
'=======================================================================================
' Initialisation personnelle contrôle
'---------------------------------------------------------------------------------------
Private Sub UserControl_Initialize()
'---------------------------------------------------------------------------------------
'   API_KL_Set_Priority_Class API_KL_Get_Current_Process, HIGH_PRIORITY_CLASS
'   API_KL_Set_Thread_Priority API_KL_Get_Current_Thread, THREAD_BASE_PRIORITY_MAX
   Timer_Handle = API_KL_Create_Waitable_Timer(0, True, "UC_Timer_MIDI")
   Timer_Thread = API_KL_Get_Current_Thread
   API_KL_Set_Priority_Class Timer_Handle, HIGH_PRIORITY_CLASS
   API_KL_Set_Thread_Priority Timer_Thread, THREAD_BASE_PRIORITY_IDLE
End Sub

Ma question est simple : Existe-t-il un timer plus fiable que celui-ci.

Merci

juju59

samedi 17 mai 2008 à 08:27:58 | Re : Dériation interruption µP

juju59

Complément d'information :

Avec le Pascal, on pouvait dévié une interruption, et y attribué sa propre routine de traitement de cette dernière. Peut-on faire la même chose sous VB, ou avec un module écrit en assembleur ?

Merci

samedi 17 mai 2008 à 13:34:05 | Re : Dériation interruption µP

Afyn

Réponse acceptée !
Sous VB6 car on accède a un thread de la même instance. (ou alors voir RSTimer via DLL/OCX qui est un MMTimer)
Sinon un MMTimer sous VB.NET va bien je peux te poster un exemple si tu veux ?
Afyn

samedi 17 mai 2008 à 14:50:42 | Re : Dériation interruption µP

juju59

Je ne travaille pas en VB.net ... je n'ai pas encore installé le pack 2, et je ne crois pas l'installer avant longtemps.
Si ton exemple est accessible en API, c'est OK§

Merci

samedi 17 mai 2008 à 14:57:23 | Re : Dériation interruption µP

Afyn

Réponse acceptée !
Non ça fonctionne pas sous VB6.

Pour VB6 essaye le RSTimer

http://www.programmersheaven.com/download/17755/download.aspx

Resolution max 1 milliseconde

Afyn - Navedac

lundi 19 mai 2008 à 10:20:32 | Re : Dériation interruption µP

NHenry

Membre Club
Réponse acceptée !
Bonjour

Sinon pourquoi ne pas utiliser MMControl ou DirectMusic pour lire le Midi ?

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site

lundi 19 mai 2008 à 10:38:43 | Re : Déviation interruption µP

juju59

Salut,

Oui, ce serait plus simple, mais je travaille au niveau des évènements midi proprement dit, c'est à dire que le midi est en pièces détachées, sous forme de partition.
Chaque note est déclenchée par appel d'une API, ainsi que son arrêt et son volume.

Merci de ton intérêt apporté

juju59



Cette discussion est classé dans : timer, api, thread, priority, kl


Répondre à ce message

Sujets en rapport avec ce message

Timer API vs Objet Timer [ par Stru ] Salut,Quelqu'un saurait-il me dire ce qui est le mieux entre un Timer par les fonctions API de Windows et l'objet Timer de VB ?C'est pour la dectectio pbm avec API Create thread (NT) [ par venomp ] Bonjour à tous..J'ai récupere le source N°5856 de sephiro. Ca fonctionne très bien, même sur NT. Par contre, je n'arrive pas à l'adapter pour un des m définition d'1 thread et rapport avec Timer [ par yan35 ] Bonjour,Je ne suis pas sur d'avoir bien compris la définition d'1 thread ! Quelqu'1 peut-il m'expliquer simplement.Il me semble qu'il s'agit d'1 séque Thread et timer conjugués dans des MDIChild [ par xpmich ] Bonjour,J'utilise une application avec des MDI. Une de mes MDI active un Thread qui se vide à la fin de son éxécution (son éxécution à une durée indét Thread timer vb.net [ par elofab ] Bonjour à tous, je dois créer une application console qui tournera en boucle.J'utilise vb.netJ'ai donc créé dans mon application une classe Minuteur d cherche quelque chose qui peut remplacer api 'sleep' [ par bikette005 ] Bonjour a tousmon probleme est simple mais compliqué à expliquer:je fais un prg vb6 qui simule les frappes d'un utilisateur quelconque sur une applica Problème avec l'API : WaitForSingleObject [ par SBIM_Raphael ] Ola The Crew,Bonjour à tous, je me présente Raphaël. Travaillant à la SBIM en Belgique, je voudrais pouvoir apporter à mon application un petit plus.E api et sidebar [ par misterglacon ] Bonjour, j'ai récemment fait une sidebar en vb.net dans le genre de http://www.desktopsidebar.com/Quand je lance ma sidebar l'espace du bureau diminue ListBox : rechercher un mot par API [ par salazar ] J'ai une ListBox qui contient des titres de films à chaque item. Je souhaite fait une recherche par mot clé et afficher les résultats dans une autre L Adodc1.Refresh [ par DZDZ ] Salut à TousJ'aurai besoin de votre aide:J'utilise une ADODC une DATABASE un COMBOBOX et un TIMER.je souhaite creer une recherche de Nom dans ma datab


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.