qt: Add support for Haiku
* OpenAL backend is enabled by default on Haiku * bswap include now makes use of builtins if they exist * Use a local fgetws method for Haiku to avoid crashes * OpenGL renderers are completely disabled on Haiku (they do not work) * Software renderer is a widget, not a window on Haiku (fixes blank screen) * Add option to disable System MIDI at compile time
This commit is contained in:
@@ -13,12 +13,15 @@
|
||||
* Copyright 2021 Cacodemon345.
|
||||
* Copyright 2021 Miran Grca.
|
||||
*/
|
||||
#if defined __has_include
|
||||
# if __has_include (<RtMidi.h>)
|
||||
# include <RtMidi.h>
|
||||
# endif
|
||||
# if __has_include (<rtmidi/RtMidi.h>)
|
||||
# include <rtmidi/RtMidi.h>
|
||||
|
||||
#ifdef SYSTEM_MIDI
|
||||
# if defined __has_include
|
||||
# if __has_include (<RtMidi.h>)
|
||||
# include <RtMidi.h>
|
||||
# endif
|
||||
# if __has_include (<rtmidi/RtMidi.h>)
|
||||
# include <rtmidi/RtMidi.h>
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -35,9 +38,10 @@ extern "C"
|
||||
#include <86box/midi_rtmidi.h>
|
||||
#include <86box/config.h>
|
||||
|
||||
|
||||
#ifdef SYSTEM_MIDI
|
||||
static RtMidiOut * midiout = nullptr;
|
||||
static RtMidiIn * midiin = nullptr;
|
||||
#endif
|
||||
static int midi_out_id = 0, midi_in_id = 0;
|
||||
static const int midi_lengths[8] = {3, 3, 3, 3, 2, 2, 3, 1};
|
||||
|
||||
@@ -49,6 +53,7 @@ rtmidi_write(uint8_t val)
|
||||
}
|
||||
|
||||
|
||||
#ifdef SYSTEM_MIDI
|
||||
void
|
||||
rtmidi_play_msg(uint8_t *msg)
|
||||
{
|
||||
@@ -231,6 +236,76 @@ rtmidi_in_get_dev_name(int num, char *s)
|
||||
{
|
||||
strcpy(s, midiin->getPortName(num).c_str());
|
||||
}
|
||||
#else /* !SYSTEM_MIDI */
|
||||
void
|
||||
rtmidi_play_msg(uint8_t *msg)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
rtmidi_play_sysex(uint8_t *sysex, unsigned int len)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void*
|
||||
rtmidi_init(const device_t *info)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
rtmidi_close(void *p)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
rtmidi_get_num_devs(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
rtmidi_get_dev_name(int num, char *s)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void*
|
||||
rtmidi_input_init(const device_t *info)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
rtmidi_input_close(void* p)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
rtmidi_in_get_num_devs(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
rtmidi_in_get_dev_name(int num, char *s)
|
||||
{
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
static const device_config_t system_midi_config[] =
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user