RetroArch
Classes | Macros | Functions | Variables
winmm_midi.c File Reference
#include <windows.h>
#include <libretro.h>
#include <lists/string_list.h>
#include <verbosity.h>
#include <string/stdstring.h>
#include "../midi_driver.h"
Include dependency graph for winmm_midi.c:

Classes

struct  winmm_midi_buffer_t
 
struct  winmm_midi_queue_t
 
struct  winmm_midi_t
 

Macros

#define WINMM_MIDI_BUF_CNT   3
 
#define WINMM_MIDI_BUF_LEN   1024
 

Functions

static void winmm_midi_free (void *p)
 
static bool winmm_midi_queue_read (winmm_midi_queue_t *q, midi_event_t *ev)
 
static bool winmm_midi_queue_write (winmm_midi_queue_t *q, const midi_event_t *ev)
 
static void winmm_midi_queue_init (winmm_midi_queue_t *q)
 
static void CALLBACK winmm_midi_input_callback (HMIDIIN dev, UINT msg, DWORD_PTR q, DWORD_PTR par1, DWORD_PTR par2)
 
static HMIDIIN winmm_midi_open_input_device (const char *dev_name, winmm_midi_queue_t *queue)
 
static HMIDISTRM winmm_midi_open_output_device (const char *dev_name)
 
static bool winmm_midi_init_clock (HMIDISTRM out_dev, double *tick_dur)
 
static bool winmm_midi_init_output_buffers (HMIDISTRM dev, winmm_midi_buffer_t *bufs)
 
static void winmm_midi_free_output_buffers (HMIDISTRM dev, winmm_midi_buffer_t *bufs)
 
static bool winmm_midi_write_short_event (winmm_midi_buffer_t *buf, const uint8_t *data, size_t data_size, DWORD delta_time)
 
static bool winmm_midi_write_long_event (winmm_midi_buffer_t *buf, const uint8_t *data, size_t data_size, DWORD delta_time)
 
static bool winmm_midi_get_avail_inputs (struct string_list *inputs)
 
static bool winmm_midi_get_avail_outputs (struct string_list *outputs)
 
static voidwinmm_midi_init (const char *input, const char *output)
 
static bool winmm_midi_set_input (void *p, const char *input)
 
static bool winmm_midi_set_output (void *p, const char *output)
 
static bool winmm_midi_read (void *p, midi_event_t *event)
 
static bool winmm_midi_write (void *p, const midi_event_t *event)
 
static bool winmm_midi_flush (void *p)
 

Variables

midi_driver_t midi_winmm
 

Macro Definition Documentation

◆ WINMM_MIDI_BUF_CNT

#define WINMM_MIDI_BUF_CNT   3

◆ WINMM_MIDI_BUF_LEN

#define WINMM_MIDI_BUF_LEN   1024

Function Documentation

◆ winmm_midi_flush()

static bool winmm_midi_flush ( void p)
static
Here is the call graph for this function:

◆ winmm_midi_free()

static void winmm_midi_free ( void p)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winmm_midi_free_output_buffers()

static void winmm_midi_free_output_buffers ( HMIDISTRM  dev,
winmm_midi_buffer_t bufs 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winmm_midi_get_avail_inputs()

static bool winmm_midi_get_avail_inputs ( struct string_list inputs)
static
Here is the call graph for this function:

◆ winmm_midi_get_avail_outputs()

static bool winmm_midi_get_avail_outputs ( struct string_list outputs)
static
Here is the call graph for this function:

◆ winmm_midi_init()

static void* winmm_midi_init ( const char *  input,
const char *  output 
)
static
Here is the call graph for this function:

◆ winmm_midi_init_clock()

static bool winmm_midi_init_clock ( HMIDISTRM  out_dev,
double *  tick_dur 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winmm_midi_init_output_buffers()

static bool winmm_midi_init_output_buffers ( HMIDISTRM  dev,
winmm_midi_buffer_t bufs 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winmm_midi_input_callback()

static void CALLBACK winmm_midi_input_callback ( HMIDIIN  dev,
UINT  msg,
DWORD_PTR  q,
DWORD_PTR  par1,
DWORD_PTR  par2 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winmm_midi_open_input_device()

static HMIDIIN winmm_midi_open_input_device ( const char *  dev_name,
winmm_midi_queue_t queue 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winmm_midi_open_output_device()

static HMIDISTRM winmm_midi_open_output_device ( const char *  dev_name)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winmm_midi_queue_init()

static void winmm_midi_queue_init ( winmm_midi_queue_t q)
static
Here is the caller graph for this function:

◆ winmm_midi_queue_read()

static bool winmm_midi_queue_read ( winmm_midi_queue_t q,
midi_event_t ev 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winmm_midi_queue_write()

static bool winmm_midi_queue_write ( winmm_midi_queue_t q,
const midi_event_t ev 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winmm_midi_read()

static bool winmm_midi_read ( void p,
midi_event_t event 
)
static
Here is the call graph for this function:

◆ winmm_midi_set_input()

static bool winmm_midi_set_input ( void p,
const char *  input 
)
static
Here is the call graph for this function:

◆ winmm_midi_set_output()

static bool winmm_midi_set_output ( void p,
const char *  output 
)
static
Here is the call graph for this function:

◆ winmm_midi_write()

static bool winmm_midi_write ( void p,
const midi_event_t event 
)
static
Here is the call graph for this function:

◆ winmm_midi_write_long_event()

static bool winmm_midi_write_long_event ( winmm_midi_buffer_t buf,
const uint8_t data,
size_t  data_size,
DWORD  delta_time 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ winmm_midi_write_short_event()

static bool winmm_midi_write_short_event ( winmm_midi_buffer_t buf,
const uint8_t data,
size_t  data_size,
DWORD  delta_time 
)
static
Here is the caller graph for this function:

Variable Documentation

◆ midi_winmm

midi_driver_t midi_winmm
Initial value:
= {
"winmm",
}
static bool winmm_midi_read(void *p, midi_event_t *event)
Definition: winmm_midi.c:563
static bool winmm_midi_get_avail_outputs(struct string_list *outputs)
Definition: winmm_midi.c:386
static bool winmm_midi_flush(void *p)
Definition: winmm_midi.c:594
static bool winmm_midi_set_output(void *p, const char *output)
Definition: winmm_midi.c:524
static void winmm_midi_free(void *p)
Definition: winmm_midi.c:469
static bool winmm_midi_get_avail_inputs(struct string_list *inputs)
Definition: winmm_midi.c:360
static bool winmm_midi_write(void *p, const midi_event_t *event)
Definition: winmm_midi.c:570
static void * winmm_midi_init(const char *input, const char *output)
Definition: winmm_midi.c:412
static bool winmm_midi_set_input(void *p, const char *input)
Definition: winmm_midi.c:492