ardour
Classes | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
PianoRollHeader Class Reference

#include <piano_roll_header.h>

Inheritance diagram for PianoRollHeader:

Classes

struct  Color
 

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 on_size_allocate (Gtk::Allocation &a)
 
void note_range_changed ()
 

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
}
 

Private Member Functions

 PianoRollHeader (const PianoRollHeader &)
 
void invalidate_note_range (int lowest, int highest)
 
void get_path (ItemType, 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
 

Private Attributes

MidiStreamView_view
 
uint8_t _event [3]
 
Cairo::RefPtr< Cairo::Context > cc
 
bool _active_notes [128]
 
uint8_t _highlighted_note
 
uint8_t _clicked_note
 
double _grab_y
 
bool _dragging
 
double _note_height
 
double _black_note_width
 

Static Private Attributes

static Color white = PianoRollHeader::Color(0.77f, 0.78f, 0.76f)
 
static Color white_highlight = PianoRollHeader::Color(0.87f, 0.88f, 0.86f)
 
static Color white_shade_light = PianoRollHeader::Color(0.95f, 0.95f, 0.95f)
 
static Color white_shade_dark = PianoRollHeader::Color(0.56f, 0.56f, 0.56f)
 
static Color black = PianoRollHeader::Color(0.24f, 0.24f, 0.24f)
 
static Color black_highlight = PianoRollHeader::Color(0.30f, 0.30f, 0.30f)
 
static Color black_shade_light = PianoRollHeader::Color(0.46f, 0.46f, 0.46f)
 
static Color black_shade_dark = PianoRollHeader::Color(0.1f, 0.1f, 0.1f)
 

Detailed Description

Definition at line 35 of file piano_roll_header.h.

Member Enumeration Documentation

Enumerator
BLACK_SEPARATOR 
BLACK_MIDDLE_SEPARATOR 
BLACK 
WHITE_SEPARATOR 
WHITE_RECT 
WHITE_CF 
WHITE_EB 
WHITE_DGA 

Definition at line 79 of file piano_roll_header.h.

Constructor & Destructor Documentation

PianoRollHeader::PianoRollHeader ( MidiStreamView v)

Definition at line 68 of file piano_roll_header.cc.

PianoRollHeader::PianoRollHeader ( const PianoRollHeader )
private

Member Function Documentation

PublicEditor & PianoRollHeader::editor ( ) const
private

Definition at line 713 of file piano_roll_header.cc.

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

Definition at line 175 of file piano_roll_header.cc.

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

Definition at line 608 of file piano_roll_header.cc.

void PianoRollHeader::note_range_changed ( )

Definition at line 601 of file piano_roll_header.cc.

bool PianoRollHeader::on_button_press_event ( GdkEventButton *  ev)

Definition at line 513 of file piano_roll_header.cc.

bool PianoRollHeader::on_button_release_event ( GdkEventButton *  ev)

Definition at line 543 of file piano_roll_header.cc.

bool PianoRollHeader::on_enter_notify_event ( GdkEventCrossing *  ev)

Definition at line 573 of file piano_roll_header.cc.

bool PianoRollHeader::on_expose_event ( GdkEventExpose *  ev)

Definition at line 290 of file piano_roll_header.cc.

bool PianoRollHeader::on_leave_notify_event ( GdkEventCrossing *  )

Definition at line 582 of file piano_roll_header.cc.

bool PianoRollHeader::on_motion_notify_event ( GdkEventMotion *  ev)

Definition at line 464 of file piano_roll_header.cc.

bool PianoRollHeader::on_scroll_event ( GdkEventScroll *  )

Definition at line 595 of file piano_roll_header.cc.

void PianoRollHeader::on_size_allocate ( Gtk::Allocation &  a)

Definition at line 662 of file piano_roll_header.cc.

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

Definition at line 656 of file piano_roll_header.cc.

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

Definition at line 702 of file piano_roll_header.cc.

void PianoRollHeader::send_note_off ( uint8_t  note)
private

Definition at line 687 of file piano_roll_header.cc.

void PianoRollHeader::send_note_on ( uint8_t  note)
private

Definition at line 670 of file piano_roll_header.cc.

Member Data Documentation

bool PianoRollHeader::_active_notes[128]
private

Definition at line 104 of file piano_roll_header.h.

double PianoRollHeader::_black_note_width
private

Definition at line 111 of file piano_roll_header.h.

uint8_t PianoRollHeader::_clicked_note
private

Definition at line 106 of file piano_roll_header.h.

bool PianoRollHeader::_dragging
private

Definition at line 108 of file piano_roll_header.h.

uint8_t PianoRollHeader::_event[3]
private

Definition at line 101 of file piano_roll_header.h.

double PianoRollHeader::_grab_y
private

Definition at line 107 of file piano_roll_header.h.

uint8_t PianoRollHeader::_highlighted_note
private

Definition at line 105 of file piano_roll_header.h.

double PianoRollHeader::_note_height
private

Definition at line 110 of file piano_roll_header.h.

MidiStreamView& PianoRollHeader::_view
private

Definition at line 99 of file piano_roll_header.h.

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

Definition at line 63 of file piano_roll_header.h.

PianoRollHeader::Color PianoRollHeader::black = PianoRollHeader::Color(0.24f, 0.24f, 0.24f)
staticprivate

Definition at line 72 of file piano_roll_header.h.

PianoRollHeader::Color PianoRollHeader::black_highlight = PianoRollHeader::Color(0.30f, 0.30f, 0.30f)
staticprivate

Definition at line 73 of file piano_roll_header.h.

PianoRollHeader::Color PianoRollHeader::black_shade_dark = PianoRollHeader::Color(0.1f, 0.1f, 0.1f)
staticprivate

Definition at line 75 of file piano_roll_header.h.

PianoRollHeader::Color PianoRollHeader::black_shade_light = PianoRollHeader::Color(0.46f, 0.46f, 0.46f)
staticprivate

Definition at line 74 of file piano_roll_header.h.

Cairo::RefPtr<Cairo::Context> PianoRollHeader::cc
private

Definition at line 103 of file piano_roll_header.h.

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

Definition at line 65 of file piano_roll_header.h.

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

Definition at line 62 of file piano_roll_header.h.

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

Definition at line 64 of file piano_roll_header.h.

PianoRollHeader::Color PianoRollHeader::white = PianoRollHeader::Color(0.77f, 0.78f, 0.76f)
staticprivate

Definition at line 68 of file piano_roll_header.h.

PianoRollHeader::Color PianoRollHeader::white_highlight = PianoRollHeader::Color(0.87f, 0.88f, 0.86f)
staticprivate

Definition at line 69 of file piano_roll_header.h.

PianoRollHeader::Color PianoRollHeader::white_shade_dark = PianoRollHeader::Color(0.56f, 0.56f, 0.56f)
staticprivate

Definition at line 71 of file piano_roll_header.h.

PianoRollHeader::Color PianoRollHeader::white_shade_light = PianoRollHeader::Color(0.95f, 0.95f, 0.95f)
staticprivate

Definition at line 70 of file piano_roll_header.h.


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