Ardour  9.0-pre0-1320-gf48fe3f740
PianoRollHeaderBase Class Referenceabstract

#include <prh_base.h>

Inheritance diagram for PianoRollHeaderBase:
[legend]

Classes

struct  NoteName
 

Public Member Functions

 PianoRollHeaderBase (MidiViewBackground &)
 
virtual ~PianoRollHeaderBase ()
 
void render (ArdourCanvas::Rect const &self, ArdourCanvas::Rect const &area, Cairo::RefPtr< Cairo::Context >) const
 
virtual void instrument_info_change ()
 
void note_range_changed ()
 
void set_note_highlight (uint8_t note)
 
void set_view (MidiView *)
 
virtual void redraw ()=0
 
virtual void redraw (double x, double y, double w, double h)=0
 
virtual double height () const =0
 
virtual double width () const =0
 
virtual double event_y_to_y (double evy) const =0
 
virtual void draw_transform (double &x, double &y) const =0
 
virtual void event_transform (double &x, double &y) const =0
 
virtual void _queue_resize ()=0
 
virtual void do_grab ()=0
 
virtual void do_ungrab ()=0
 
virtual Glib::RefPtr< Gdk::Windowcursor_window ()=0
 
virtual std::shared_ptr< ARDOUR::MidiTrackmidi_track ()=0
 

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
 

Protected Types

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

Protected Member Functions

void set_min_page_size (double page_size)
 
void render_scroomer (Cairo::RefPtr< Cairo::Context >) const
 
NoteName get_note_name (int note)
 
bool event_handler (GdkEvent *)
 
bool motion_handler (GdkEventMotion *)
 
bool button_press_handler (GdkEventButton *)
 
bool button_release_handler (GdkEventButton *)
 
bool scroll_handler (GdkEventScroll *)
 
bool enter_handler (GdkEventCrossing *)
 
bool leave_handler (GdkEventCrossing *)
 
void invalidate_note_range (int lowest, int highest)
 
void send_note_on (uint8_t note)
 
void send_note_off (uint8_t note)
 
void reset_clicked_note (uint8_t, bool invalidate=true)
 
bool show_scroomer () const
 
void alloc_layouts (Glib::RefPtr< Pango::Context >)
 
void set_cursor (Gdk::Cursor *)
 

Protected Attributes

MidiViewBackground_midi_context
 
Gtk::Adjustment_adj
 
MidiView_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 _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
 
NoteName note_names [128]
 
bool have_note_names
 

Detailed Description

Definition at line 43 of file prh_base.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 128 of file prh_base.h.

◆ scr_pos

Enumerator
TOP 
BOTTOM 
MOVE 
NONE 

Definition at line 99 of file prh_base.h.

Constructor & Destructor Documentation

◆ PianoRollHeaderBase()

PianoRollHeaderBase::PianoRollHeaderBase ( MidiViewBackground )

◆ ~PianoRollHeaderBase()

virtual PianoRollHeaderBase::~PianoRollHeaderBase ( )
inlinevirtual

Definition at line 46 of file prh_base.h.

Member Function Documentation

◆ _queue_resize()

virtual void PianoRollHeaderBase::_queue_resize ( )
pure virtual

◆ alloc_layouts()

void PianoRollHeaderBase::alloc_layouts ( Glib::RefPtr< Pango::Context >  )
protected

◆ button_press_handler()

bool PianoRollHeaderBase::button_press_handler ( GdkEventButton )
protected

◆ button_release_handler()

bool PianoRollHeaderBase::button_release_handler ( GdkEventButton )
protected

◆ cursor_window()

virtual Glib::RefPtr<Gdk::Window> PianoRollHeaderBase::cursor_window ( )
pure virtual

◆ do_grab()

virtual void PianoRollHeaderBase::do_grab ( )
pure virtual

◆ do_ungrab()

virtual void PianoRollHeaderBase::do_ungrab ( )
pure virtual

◆ draw_transform()

virtual void PianoRollHeaderBase::draw_transform ( double &  x,
double &  y 
) const
pure virtual

◆ enter_handler()

bool PianoRollHeaderBase::enter_handler ( GdkEventCrossing )
protected

◆ event_handler()

bool PianoRollHeaderBase::event_handler ( GdkEvent )
protected

◆ event_transform()

virtual void PianoRollHeaderBase::event_transform ( double &  x,
double &  y 
) const
pure virtual

◆ event_y_to_y()

virtual double PianoRollHeaderBase::event_y_to_y ( double  evy) const
pure virtual

◆ get_note_name()

NoteName PianoRollHeaderBase::get_note_name ( int  note)
protected

◆ height()

virtual double PianoRollHeaderBase::height ( ) const
pure virtual

◆ instrument_info_change()

virtual void PianoRollHeaderBase::instrument_info_change ( )
virtual

Reimplemented in PianoRollHeader.

◆ invalidate_note_range()

void PianoRollHeaderBase::invalidate_note_range ( int  lowest,
int  highest 
)
protected

◆ leave_handler()

bool PianoRollHeaderBase::leave_handler ( GdkEventCrossing )
protected

◆ midi_track()

virtual std::shared_ptr<ARDOUR::MidiTrack> PianoRollHeaderBase::midi_track ( )
pure virtual

◆ motion_handler()

bool PianoRollHeaderBase::motion_handler ( GdkEventMotion )
protected

◆ note_range_changed()

void PianoRollHeaderBase::note_range_changed ( )

◆ redraw() [1/2]

virtual void PianoRollHeaderBase::redraw ( )
pure virtual

◆ redraw() [2/2]

virtual void PianoRollHeaderBase::redraw ( double  x,
double  y,
double  w,
double  h 
)
pure virtual

◆ render()

void PianoRollHeaderBase::render ( ArdourCanvas::Rect const &  self,
ArdourCanvas::Rect const &  area,
Cairo::RefPtr< Cairo::Context >   
) const

◆ render_scroomer()

void PianoRollHeaderBase::render_scroomer ( Cairo::RefPtr< Cairo::Context >  ) const
protected

◆ reset_clicked_note()

void PianoRollHeaderBase::reset_clicked_note ( uint8_t  ,
bool  invalidate = true 
)
protected

◆ scroll_handler()

bool PianoRollHeaderBase::scroll_handler ( GdkEventScroll )
protected

◆ send_note_off()

void PianoRollHeaderBase::send_note_off ( uint8_t  note)
protected

◆ send_note_on()

void PianoRollHeaderBase::send_note_on ( uint8_t  note)
protected

◆ set_cursor()

void PianoRollHeaderBase::set_cursor ( Gdk::Cursor )
protected

◆ set_min_page_size()

void PianoRollHeaderBase::set_min_page_size ( double  page_size)
protected

◆ set_note_highlight()

void PianoRollHeaderBase::set_note_highlight ( uint8_t  note)

◆ set_view()

void PianoRollHeaderBase::set_view ( MidiView )

◆ show_scroomer()

bool PianoRollHeaderBase::show_scroomer ( ) const
protected

◆ width()

virtual double PianoRollHeaderBase::width ( ) const
pure virtual

Member Data Documentation

◆ _active_notes

bool PianoRollHeaderBase::_active_notes[128]
protected

Definition at line 88 of file prh_base.h.

◆ _adj

Gtk::Adjustment& PianoRollHeaderBase::_adj
protected

Definition at line 77 of file prh_base.h.

◆ _big_c_layout

Glib::RefPtr<Pango::Layout> PianoRollHeaderBase::_big_c_layout
mutableprotected

Definition at line 83 of file prh_base.h.

◆ _clicked_note

uint8_t PianoRollHeaderBase::_clicked_note
protected

Definition at line 90 of file prh_base.h.

◆ _dragging

bool PianoRollHeaderBase::_dragging
protected

Definition at line 92 of file prh_base.h.

◆ _event

uint8_t PianoRollHeaderBase::_event[3]
protected

Definition at line 80 of file prh_base.h.

◆ _font_descript

Pango::FontDescription PianoRollHeaderBase::_font_descript
mutableprotected

Definition at line 85 of file prh_base.h.

◆ _font_descript_big_c

Pango::FontDescription PianoRollHeaderBase::_font_descript_big_c
protected

Definition at line 86 of file prh_base.h.

◆ _font_descript_midnam

Pango::FontDescription PianoRollHeaderBase::_font_descript_midnam
mutableprotected

Definition at line 87 of file prh_base.h.

◆ _fract

double PianoRollHeaderBase::_fract
protected

Definition at line 96 of file prh_base.h.

◆ _fract_top

double PianoRollHeaderBase::_fract_top
protected

Definition at line 97 of file prh_base.h.

◆ _grab_y

double PianoRollHeaderBase::_grab_y
protected

Definition at line 91 of file prh_base.h.

◆ _highlighted_note

uint8_t PianoRollHeaderBase::_highlighted_note
protected

Definition at line 89 of file prh_base.h.

◆ _layout

Glib::RefPtr<Pango::Layout> PianoRollHeaderBase::_layout
mutableprotected

Definition at line 82 of file prh_base.h.

◆ _midi_context

MidiViewBackground& PianoRollHeaderBase::_midi_context
protected

Definition at line 76 of file prh_base.h.

◆ _midnam_layout

Glib::RefPtr<Pango::Layout> PianoRollHeaderBase::_midnam_layout
mutableprotected

Definition at line 84 of file prh_base.h.

◆ _min_page_size

double PianoRollHeaderBase::_min_page_size
protected

Definition at line 98 of file prh_base.h.

◆ _mini_map_display

bool PianoRollHeaderBase::_mini_map_display
mutableprotected

Definition at line 104 of file prh_base.h.

◆ _old_y

double PianoRollHeaderBase::_old_y
protected

Definition at line 95 of file prh_base.h.

◆ _saved_bottom_val

double PianoRollHeaderBase::_saved_bottom_val
protected

Definition at line 103 of file prh_base.h.

◆ _saved_top_val

double PianoRollHeaderBase::_saved_top_val
protected

Definition at line 102 of file prh_base.h.

◆ _scroomer_button_state

scr_pos PianoRollHeaderBase::_scroomer_button_state
protected

Definition at line 101 of file prh_base.h.

◆ _scroomer_drag

bool PianoRollHeaderBase::_scroomer_drag
protected

Definition at line 94 of file prh_base.h.

◆ _scroomer_size

double PianoRollHeaderBase::_scroomer_size
mutableprotected

Definition at line 93 of file prh_base.h.

◆ _scroomer_state

scr_pos PianoRollHeaderBase::_scroomer_state
protected

Definition at line 100 of file prh_base.h.

◆ _view

MidiView* PianoRollHeaderBase::_view
protected

Definition at line 78 of file prh_base.h.

◆ AddNoteSelection

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

Definition at line 56 of file prh_base.h.

◆ entered

bool PianoRollHeaderBase::entered
protected

Definition at line 105 of file prh_base.h.

◆ ExtendNoteSelection

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

Definition at line 58 of file prh_base.h.

◆ have_note_names

bool PianoRollHeaderBase::have_note_names
protected

Definition at line 114 of file prh_base.h.

◆ note_names

NoteName PianoRollHeaderBase::note_names[128]
protected

Definition at line 113 of file prh_base.h.

◆ SetNoteSelection

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

Definition at line 55 of file prh_base.h.

◆ ToggleNoteSelection

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

Definition at line 57 of file prh_base.h.


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