Ardour  9.0-pre0-822-g12e3bc5c20
PianoRollHeader Class Reference

#include <piano_roll_header.h>

Inheritance diagram for PianoRollHeader:
[legend]

Classes

struct  NoteName
 

Public Member Functions

 PianoRollHeader (MidiStreamView &)
 
bool on_expose_event (GdkEventExpose *)
 
bool on_motion_notify_event (GdkEventMotion *)
 
bool on_button_press_event (GdkEventButton *)
 
bool on_button_release_event (GdkEventButton *)
 
bool on_scroll_event (GdkEventScroll *)
 
bool on_enter_notify_event (GdkEventCrossing *)
 
bool on_leave_notify_event (GdkEventCrossing *)
 
void on_size_request (Gtk::Requisition *)
 
void instrument_info_change ()
 
void note_range_changed ()
 
void set_note_highlight (uint8_t note)
 

Public Attributes

sigc::signal< void, uint8_t > SetNoteSelection
 
sigc::signal< void, uint8_t > AddNoteSelection
 
sigc::signal< void, uint8_t > ToggleNoteSelection
 
sigc::signal< void, uint8_t > ExtendNoteSelection
 

Private Types

enum  ItemType {
  BLACK_SEPARATOR , BLACK_MIDDLE_SEPARATOR , BLACK , WHITE_SEPARATOR ,
  WHITE_RECT , WHITE_CF , WHITE_EB , WHITE_DGA
}
 
enum  scr_pos { TOP , BOTTOM , MOVE , NONE }
 

Private Member Functions

void set_min_page_size (double page_size)
 
void render_scroomer (Cairo::RefPtr< Cairo::Context >)
 
NoteName get_note_name (int note)
 
 PianoRollHeader (const PianoRollHeader &)
 
void invalidate_note_range (int lowest, int highest)
 
void get_path (int note, double x[], double y[])
 
void send_note_on (uint8_t note)
 
void send_note_off (uint8_t note)
 
void reset_clicked_note (uint8_t, bool invalidate=true)
 
PublicEditoreditor () const
 
bool show_scroomer () const
 

Private Attributes

NoteName note_names [128]
 
bool have_note_names
 
Gtk::Adjustment & _adj
 
MidiStreamView_view
 
uint8_t _event [3]
 
Glib::RefPtr< Pango::Layout > _layout
 
Glib::RefPtr< Pango::Layout > _big_c_layout
 
Glib::RefPtr< Pango::Layout > _midnam_layout
 
Pango::FontDescription _font_descript
 
Pango::FontDescription _font_descript_big_c
 
Pango::FontDescription _font_descript_midnam
 
bool _active_notes [128]
 
uint8_t _highlighted_note
 
uint8_t _clicked_note
 
double _grab_y
 
bool _dragging
 
double _scroomer_size
 
bool _scroomer_drag
 
double _old_y
 
double _fract
 
double _fract_top
 
double _raw_note_height
 
double _min_page_size
 
scr_pos _scroomer_state
 
scr_pos _scroomer_button_state
 
double _saved_top_val
 
double _saved_bottom_val
 
bool _mini_map_display
 
bool entered
 
double _note_height
 
double _old_av_note_height
 

Detailed Description

Definition at line 34 of file piano_roll_header.h.

Member Enumeration Documentation

◆ ItemType

Enumerator
BLACK_SEPARATOR 
BLACK_MIDDLE_SEPARATOR 
BLACK 
WHITE_SEPARATOR 
WHITE_RECT 
WHITE_CF 
WHITE_EB 
WHITE_DGA 

Definition at line 73 of file piano_roll_header.h.

◆ scr_pos

Enumerator
TOP 
BOTTOM 
MOVE 
NONE 

Definition at line 116 of file piano_roll_header.h.

Constructor & Destructor Documentation

◆ PianoRollHeader() [1/2]

PianoRollHeader::PianoRollHeader ( MidiStreamView )

◆ PianoRollHeader() [2/2]

PianoRollHeader::PianoRollHeader ( const PianoRollHeader )
private

Member Function Documentation

◆ editor()

PublicEditor& PianoRollHeader::editor ( ) const
private

◆ get_note_name()

NoteName PianoRollHeader::get_note_name ( int  note)
private

◆ get_path()

void PianoRollHeader::get_path ( int  note,
double  x[],
double  y[] 
)
private

◆ instrument_info_change()

void PianoRollHeader::instrument_info_change ( )

◆ invalidate_note_range()

void PianoRollHeader::invalidate_note_range ( int  lowest,
int  highest 
)
private

◆ note_range_changed()

void PianoRollHeader::note_range_changed ( )

◆ on_button_press_event()

bool PianoRollHeader::on_button_press_event ( GdkEventButton *  )

◆ on_button_release_event()

bool PianoRollHeader::on_button_release_event ( GdkEventButton *  )

◆ on_enter_notify_event()

bool PianoRollHeader::on_enter_notify_event ( GdkEventCrossing *  )

◆ on_expose_event()

bool PianoRollHeader::on_expose_event ( GdkEventExpose *  )

◆ on_leave_notify_event()

bool PianoRollHeader::on_leave_notify_event ( GdkEventCrossing *  )

◆ on_motion_notify_event()

bool PianoRollHeader::on_motion_notify_event ( GdkEventMotion *  )

◆ on_scroll_event()

bool PianoRollHeader::on_scroll_event ( GdkEventScroll *  )

◆ on_size_request()

void PianoRollHeader::on_size_request ( Gtk::Requisition *  )

◆ render_scroomer()

void PianoRollHeader::render_scroomer ( Cairo::RefPtr< Cairo::Context >  )
private

◆ reset_clicked_note()

void PianoRollHeader::reset_clicked_note ( uint8_t  ,
bool  invalidate = true 
)
private

◆ send_note_off()

void PianoRollHeader::send_note_off ( uint8_t  note)
private

◆ send_note_on()

void PianoRollHeader::send_note_on ( uint8_t  note)
private

◆ set_min_page_size()

void PianoRollHeader::set_min_page_size ( double  page_size)
private

◆ set_note_highlight()

void PianoRollHeader::set_note_highlight ( uint8_t  note)

◆ show_scroomer()

bool PianoRollHeader::show_scroomer ( ) const
private

Member Data Documentation

◆ _active_notes

bool PianoRollHeader::_active_notes[128]
private

Definition at line 104 of file piano_roll_header.h.

◆ _adj

Gtk::Adjustment& PianoRollHeader::_adj
private

Definition at line 69 of file piano_roll_header.h.

◆ _big_c_layout

Glib::RefPtr<Pango::Layout> PianoRollHeader::_big_c_layout
private

Definition at line 98 of file piano_roll_header.h.

◆ _clicked_note

uint8_t PianoRollHeader::_clicked_note
private

Definition at line 106 of file piano_roll_header.h.

◆ _dragging

bool PianoRollHeader::_dragging
private

Definition at line 108 of file piano_roll_header.h.

◆ _event

uint8_t PianoRollHeader::_event[3]
private

Definition at line 95 of file piano_roll_header.h.

◆ _font_descript

Pango::FontDescription PianoRollHeader::_font_descript
private

Definition at line 101 of file piano_roll_header.h.

◆ _font_descript_big_c

Pango::FontDescription PianoRollHeader::_font_descript_big_c
private

Definition at line 102 of file piano_roll_header.h.

◆ _font_descript_midnam

Pango::FontDescription PianoRollHeader::_font_descript_midnam
private

Definition at line 103 of file piano_roll_header.h.

◆ _fract

double PianoRollHeader::_fract
private

Definition at line 112 of file piano_roll_header.h.

◆ _fract_top

double PianoRollHeader::_fract_top
private

Definition at line 113 of file piano_roll_header.h.

◆ _grab_y

double PianoRollHeader::_grab_y
private

Definition at line 107 of file piano_roll_header.h.

◆ _highlighted_note

uint8_t PianoRollHeader::_highlighted_note
private

Definition at line 105 of file piano_roll_header.h.

◆ _layout

Glib::RefPtr<Pango::Layout> PianoRollHeader::_layout
private

Definition at line 97 of file piano_roll_header.h.

◆ _midnam_layout

Glib::RefPtr<Pango::Layout> PianoRollHeader::_midnam_layout
private

Definition at line 99 of file piano_roll_header.h.

◆ _min_page_size

double PianoRollHeader::_min_page_size
private

Definition at line 115 of file piano_roll_header.h.

◆ _mini_map_display

bool PianoRollHeader::_mini_map_display
private

Definition at line 121 of file piano_roll_header.h.

◆ _note_height

double PianoRollHeader::_note_height
private

Definition at line 124 of file piano_roll_header.h.

◆ _old_av_note_height

double PianoRollHeader::_old_av_note_height
private

Definition at line 125 of file piano_roll_header.h.

◆ _old_y

double PianoRollHeader::_old_y
private

Definition at line 111 of file piano_roll_header.h.

◆ _raw_note_height

double PianoRollHeader::_raw_note_height
private

Definition at line 114 of file piano_roll_header.h.

◆ _saved_bottom_val

double PianoRollHeader::_saved_bottom_val
private

Definition at line 120 of file piano_roll_header.h.

◆ _saved_top_val

double PianoRollHeader::_saved_top_val
private

Definition at line 119 of file piano_roll_header.h.

◆ _scroomer_button_state

scr_pos PianoRollHeader::_scroomer_button_state
private

Definition at line 118 of file piano_roll_header.h.

◆ _scroomer_drag

bool PianoRollHeader::_scroomer_drag
private

Definition at line 110 of file piano_roll_header.h.

◆ _scroomer_size

double PianoRollHeader::_scroomer_size
private

Definition at line 109 of file piano_roll_header.h.

◆ _scroomer_state

scr_pos PianoRollHeader::_scroomer_state
private

Definition at line 117 of file piano_roll_header.h.

◆ _view

MidiStreamView& PianoRollHeader::_view
private

Definition at line 93 of file piano_roll_header.h.

◆ AddNoteSelection

sigc::signal<void,uint8_t> PianoRollHeader::AddNoteSelection

Definition at line 54 of file piano_roll_header.h.

◆ entered

bool PianoRollHeader::entered
private

Definition at line 122 of file piano_roll_header.h.

◆ ExtendNoteSelection

sigc::signal<void,uint8_t> PianoRollHeader::ExtendNoteSelection

Definition at line 56 of file piano_roll_header.h.

◆ have_note_names

bool PianoRollHeader::have_note_names
private

Definition at line 64 of file piano_roll_header.h.

◆ note_names

NoteName PianoRollHeader::note_names[128]
private

Definition at line 63 of file piano_roll_header.h.

◆ SetNoteSelection

sigc::signal<void,uint8_t> PianoRollHeader::SetNoteSelection

Definition at line 53 of file piano_roll_header.h.

◆ ToggleNoteSelection

sigc::signal<void,uint8_t> PianoRollHeader::ToggleNoteSelection

Definition at line 55 of file piano_roll_header.h.


The documentation for this class was generated from the following file: