Update raudio_standalone.c

This commit is contained in:
raysan5 2020-07-31 12:31:40 +02:00
parent 7eb6cb470b
commit 168948d91d

View file

@ -49,49 +49,27 @@
#if defined(_WIN32) #if defined(_WIN32)
#include <conio.h> // Windows only, no stardard library #include <conio.h> // Windows only, no stardard library
#else #else
// Required for kbhit() function in non-Windows platforms
// Provide kbhit() function in non-Windows platforms #include <stdio.h>
#include <stdio.h> #include <termios.h>
#include <termios.h> #include <unistd.h>
#include <unistd.h> #include <fcntl.h>
#include <fcntl.h>
// Check if a key has been pressed
static int kbhit(void)
{
struct termios oldt, newt;
int ch;
int oldf;
tcgetattr(STDIN_FILENO, &oldt);
newt = oldt;
newt.c_lflag &= ~(ICANON | ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
oldf = fcntl(STDIN_FILENO, F_GETFL, 0);
fcntl(STDIN_FILENO, F_SETFL, oldf | O_NONBLOCK);
ch = getchar();
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
fcntl(STDIN_FILENO, F_SETFL, oldf);
if (ch != EOF)
{
ungetc(ch, stdin);
return 1;
}
return 0;
}
// Get pressed character
static char getch() { return getchar(); }
#endif #endif
#define KEY_ESCAPE 27 #define KEY_ESCAPE 27
int main() //----------------------------------------------------------------------------------
// Module Functions Declaration
//----------------------------------------------------------------------------------
#if !defined(_WIN32)
static int kbhit(void); // Check if a key has been pressed
static char getch(); // Get pressed character
#endif
//------------------------------------------------------------------------------------
// Program main entry point
//------------------------------------------------------------------------------------
int main(int argc, char *argv[])
{ {
// Initialization // Initialization
//-------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------
@ -113,17 +91,10 @@ int main()
{ {
if (kbhit()) key = getch(); if (kbhit()) key = getch();
if (key == 's') if ((key == 's') || (key == 'S')) PlaySound(fxWav);
{ if ((key == 'd') || (key == 'D')) PlaySound(fxOgg);
PlaySound(fxWav);
key = 0; key = 0;
}
if (key == 'd')
{
PlaySound(fxOgg);
key = 0;
}
UpdateMusicStream(music); UpdateMusicStream(music);
} }
@ -140,3 +111,39 @@ int main()
return 0; return 0;
} }
//----------------------------------------------------------------------------------
// Module Functions Definition
//----------------------------------------------------------------------------------
#if !defined(_WIN32)
// Check if a key has been pressed
static int kbhit(void)
{
struct termios oldt, newt;
int ch;
int oldf;
tcgetattr(STDIN_FILENO, &oldt);
newt = oldt;
newt.c_lflag &= ~(ICANON | ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
oldf = fcntl(STDIN_FILENO, F_GETFL, 0);
fcntl(STDIN_FILENO, F_SETFL, oldf | O_NONBLOCK);
ch = getchar();
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
fcntl(STDIN_FILENO, F_SETFL, oldf);
if (ch != EOF)
{
ungetc(ch, stdin);
return 1;
}
return 0;
}
// Get pressed character
static char getch() { return getchar(); }
#endif