ardour
|
#include <assert.h>
#include <string.h>
#include <stdint.h>
#include <cairo/cairo.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include "gtk_pianokeyboard.h"
Go to the source code of this file.
Macros | |
#define | PIANO_KEYBOARD_DEFAULT_WIDTH 730 |
#define | PIANO_KEYBOARD_DEFAULT_HEIGHT 70 |
Enumerations | |
enum | { NOTE_ON_SIGNAL, NOTE_OFF_SIGNAL, REST_SIGNAL, LAST_SIGNAL } |
Functions | |
static void | draw_keyboard_cue (PianoKeyboard *pk, cairo_t *cr) |
static void | queue_note_draw (PianoKeyboard *pk, int note) |
static void | draw_note (PianoKeyboard *pk, cairo_t *cr, int note) |
static int | press_key (PianoKeyboard *pk, int key) |
static int | release_key (PianoKeyboard *pk, int key) |
static void | rest (PianoKeyboard *pk) |
static void | stop_unsustained_notes (PianoKeyboard *pk) |
static void | stop_sustained_notes (PianoKeyboard *pk) |
static int | key_binding (PianoKeyboard *pk, const char *key) |
static void | bind_key (PianoKeyboard *pk, const char *key, int note) |
static void | clear_notes (PianoKeyboard *pk) |
static void | bind_keys_qwerty (PianoKeyboard *pk) |
static void | bind_keys_qwertz (PianoKeyboard *pk) |
static void | bind_keys_azerty (PianoKeyboard *pk) |
static gint | keyboard_event_handler (GtkWidget *mk, GdkEventKey *event, gpointer ignored) |
static int | get_note_for_xy (PianoKeyboard *pk, int x, int y) |
static gboolean | mouse_button_event_handler (PianoKeyboard *pk, GdkEventButton *event, gpointer ignored) |
static gboolean | mouse_motion_event_handler (PianoKeyboard *pk, GdkEventMotion *event, gpointer ignored) |
static gboolean | piano_keyboard_expose (GtkWidget *widget, GdkEventExpose *event) |
static void | piano_keyboard_size_request (GtkWidget *w, GtkRequisition *requisition) |
static void | recompute_dimensions (PianoKeyboard *pk) |
static void | piano_keyboard_size_allocate (GtkWidget *widget, GtkAllocation *allocation) |
static void | piano_keyboard_class_init (PianoKeyboardClass *klass) |
static void | piano_keyboard_init (GtkWidget *mk) |
GType | piano_keyboard_get_type (void) |
GtkWidget * | piano_keyboard_new (void) |
void | piano_keyboard_set_keyboard_cue (PianoKeyboard *pk, int enabled) |
void | piano_keyboard_set_monophonic (PianoKeyboard *pk, gboolean monophonic) |
void | piano_keyboard_sustain_press (PianoKeyboard *pk) |
void | piano_keyboard_sustain_release (PianoKeyboard *pk) |
void | piano_keyboard_set_note_on (PianoKeyboard *pk, int note) |
void | piano_keyboard_set_note_off (PianoKeyboard *pk, int note) |
void | piano_keyboard_set_octave (PianoKeyboard *pk, int octave) |
gboolean | piano_keyboard_set_keyboard_layout (PianoKeyboard *pk, const char *layout) |
Variables | |
static guint | piano_keyboard_signals [LAST_SIGNAL] = { 0 } |
#define PIANO_KEYBOARD_DEFAULT_HEIGHT 70 |
Definition at line 45 of file gtk_pianokeyboard.c.
#define PIANO_KEYBOARD_DEFAULT_WIDTH 730 |
Definition at line 44 of file gtk_pianokeyboard.c.
anonymous enum |
Enumerator | |
---|---|
NOTE_ON_SIGNAL | |
NOTE_OFF_SIGNAL | |
REST_SIGNAL | |
LAST_SIGNAL |
Definition at line 47 of file gtk_pianokeyboard.c.
|
static |
Definition at line 250 of file gtk_pianokeyboard.c.
|
static |
Definition at line 319 of file gtk_pianokeyboard.c.
|
static |
Definition at line 266 of file gtk_pianokeyboard.c.
|
static |
Definition at line 309 of file gtk_pianokeyboard.c.
|
static |
Definition at line 258 of file gtk_pianokeyboard.c.
|
static |
Definition at line 57 of file gtk_pianokeyboard.c.
|
static |
Definition at line 96 of file gtk_pianokeyboard.c.
|
static |
Definition at line 418 of file gtk_pianokeyboard.c.
|
static |
Definition at line 234 of file gtk_pianokeyboard.c.
|
static |
Definition at line 362 of file gtk_pianokeyboard.c.
|
static |
Definition at line 445 of file gtk_pianokeyboard.c.
|
static |
Definition at line 487 of file gtk_pianokeyboard.c.
|
static |
Definition at line 614 of file gtk_pianokeyboard.c.
|
static |
Definition at line 510 of file gtk_pianokeyboard.c.
GType piano_keyboard_get_type | ( | void | ) |
Definition at line 651 of file gtk_pianokeyboard.c.
|
static |
Definition at line 639 of file gtk_pianokeyboard.c.
GtkWidget* piano_keyboard_new | ( | void | ) |
Definition at line 676 of file gtk_pianokeyboard.c.
void piano_keyboard_set_keyboard_cue | ( | PianoKeyboard * | pk, |
int | enabled | ||
) |
Definition at line 697 of file gtk_pianokeyboard.c.
gboolean piano_keyboard_set_keyboard_layout | ( | PianoKeyboard * | pk, |
const char * | layout | ||
) |
Definition at line 754 of file gtk_pianokeyboard.c.
void piano_keyboard_set_monophonic | ( | PianoKeyboard * | pk, |
gboolean | monophonic | ||
) |
Definition at line 703 of file gtk_pianokeyboard.c.
void piano_keyboard_set_note_off | ( | PianoKeyboard * | pk, |
int | note | ||
) |
Definition at line 736 of file gtk_pianokeyboard.c.
void piano_keyboard_set_note_on | ( | PianoKeyboard * | pk, |
int | note | ||
) |
Definition at line 727 of file gtk_pianokeyboard.c.
void piano_keyboard_set_octave | ( | PianoKeyboard * | pk, |
int | octave | ||
) |
Definition at line 746 of file gtk_pianokeyboard.c.
|
static |
Definition at line 598 of file gtk_pianokeyboard.c.
|
static |
Definition at line 543 of file gtk_pianokeyboard.c.
void piano_keyboard_sustain_press | ( | PianoKeyboard * | pk | ) |
Definition at line 709 of file gtk_pianokeyboard.c.
void piano_keyboard_sustain_release | ( | PianoKeyboard * | pk | ) |
Definition at line 718 of file gtk_pianokeyboard.c.
|
static |
Definition at line 142 of file gtk_pianokeyboard.c.
|
static |
Definition at line 79 of file gtk_pianokeyboard.c.
|
static |
Definition at line 552 of file gtk_pianokeyboard.c.
|
static |
Definition at line 174 of file gtk_pianokeyboard.c.
|
static |
Definition at line 199 of file gtk_pianokeyboard.c.
|
static |
Definition at line 219 of file gtk_pianokeyboard.c.
|
static |
Definition at line 205 of file gtk_pianokeyboard.c.
|
static |
Definition at line 54 of file gtk_pianokeyboard.c.