// Note: Instrumentation statements are highlighted in green
#ifndef __GUITAR_FRETBOARD_HPP
#define __GUITAR_FRETBOARD_HPP
#include <stl\vvector>
#include "fret.hpp"
///////////////////////////////////////////////////////////////////////////////
// GuitarFretboard class
///////////////////////////////////////////////////////////////////////////////
class GuitarFretboard: public VObject // Add VObject to the inheritance chain
{
DECLARE_VISIBILITY(GuitarFretboard) // Instrumentation statement
public: // data
MusicalNoteTable noteTable;
FretVector fretTable;
GuitarStringVector stringTable;
FrettedNoteTable allFrettedNotes;
FrettedNoteTable activeFrettedNotes;
unsigned short firstFret;
unsigned short lastFret;
FrettedNote * currentNotePointer;
public: // functions
GuitarFretboard(void);
GuitarFretboard(const GuitarFretboard & fret_board);
virtual ~GuitarFretboard(void);
GuitarFretboard & operator=(const GuitarFretboard &fret_board);
void CreateFretTable(void);
void CreateStringTable(void);
void CreateAllFrettedNotes(void);
void CreateScale(unsigned short scale_flags, unsigned short key_flags,
unsigned short first_fret, unsigned short last_fret);
void DisplayNote(unsigned short midi_number);
};
DECLARE_VISIBILITY_CREATOR(GuitarFretboard) // Instrumentation statement
///////////////////////////////////////////////////////////////////////////////
// GuitarScaleViewer class
///////////////////////////////////////////////////////////////////////////////
class GuitarScaleViewer: public VObject // Add VObject to the inheritance chain
{
DECLARE_VISIBILITY(GuitarScaleViewer) // Instrumentation statement
public: // data
unsigned short keyFlags;
unsigned short scaleFlags;
unsigned short firstFret;
unsigned short lastFret;
GuitarFretboard fretBoard;
public: // functions
GuitarScaleViewer(void);
GuitarScaleViewer(const GuitarScaleViewer & fret_board);
virtual ~GuitarScaleViewer(void);
GuitarScaleViewer & operator=(const GuitarScaleViewer &fret_board);
void CreateScale(void);
void ClearScale(void);
virtual unsigned short dataChangeNotification(void * member_ref, HVIEW h_view, unsigned short change_type);
};
DECLARE_VISIBILITY_CREATOR(GuitarScaleViewer) // Instrumentation statement
#endif // __GUITAR_FRETBOARD_HPP
|
| Copyright 2002-2007 Outerface Technologies, Inc. |