bonjour,
Alors voila je m explique , je fait un logiciel de mix audio tyoe mixman studion pour ceux qui connaissent ... le principe de ce soft est d attribue un sample audio a une touche de clavier pour jouer ensemble tout un tas de sample et faire des bo mix ;) .
Faisant du dx depuis 2 ans, je m etais dit qu il y avait suremment moyen de faire du win32 sans passer par direct input ( que je trouve relou ) et de n utiliser que directx pour l audio. donc je commence a faire ma boucle de msg windows etc, et pis bah la gros probleme :
ma reception des msg WM_KEYDOWN ET WM_KEYUP ne marche pas : je fais des case 'E' (par ex) et rien ne se passe je suis super decu ... voici donc ma boucle des msg :
LRESULT CALLBACK MainProc(HWND Dlg, UINT message, WPARAM wParam, LPARAM lParam)
{
int select;
// int clavier;
// char buff[500];
HWND liste = NULL;
switch ( message )
{
case WM_COMMAND:
select = LOWORD(wParam);
switch (select)
{
case IDEXIT:
file->final_close();
EndDialog(Dlg, 0);
return TRUE;
case PLAYQ:
if ( (file->Loading_File()) == 0 )
{
file->Playing_File();
SetDlgItemText( Dlg, TITLEQ, (LPCSTR)file->samplelist );
SetDlgItemText( Dlg, PLAYQ, (LPCSTR)"Running");
HWND liste = GetDlgItem( Dlg, LISTE);
SendMessage( liste, LB_ADDSTRING, 0, (LPARAM)file->samplelist);
}
return TRUE;
}
case WM_KEYDOWN:
switch ( wParam )
{
case 'E':
SendMessage( liste, LB_ADDSTRING, 0, (LPARAM)file->samplelist);
return TRUE;
}
case WM_KEYUP:
switch (wParam )
{
case 'E':
file->final_close();
EndDialog(Dlg, 0);
return TRUE;
}
default:
return FALSE;
}
}