41 lines
774 B
C++
41 lines
774 B
C++
#ifndef _GUITAR_TABLINES_HPP_
|
|
#define _GUITAR_TABLINES_HPP_
|
|
#ifndef _COMMON_ARRAY_HPP_
|
|
#include <common/array.hpp>
|
|
#endif
|
|
#ifndef _GUITAR_LINEPARSER_HPP_
|
|
#include <guitar/LineParser.hpp>
|
|
#endif
|
|
|
|
class TabEntry;
|
|
class Fretboard;
|
|
|
|
typedef Element TabElement[6];
|
|
|
|
class TabLines : public Array<LineParser>
|
|
{
|
|
public:
|
|
enum{NumLines=6};
|
|
TabLines();
|
|
int firstElement(TabEntry &entry,Fretboard &fretboard);
|
|
int nextElement(TabEntry &entry,Fretboard &fretboard);
|
|
virtual ~TabLines();
|
|
private:
|
|
bool haveElement(TabElement &elements)const;
|
|
bool validate(Element &elements)const;
|
|
void insert(TabEntry &entry,TabElement &elements,Fretboard &fretboard);
|
|
void synchronize(void);
|
|
};
|
|
|
|
inline
|
|
TabLines::TabLines()
|
|
{
|
|
size(NumLines);
|
|
}
|
|
|
|
inline
|
|
TabLines::~TabLines()
|
|
{
|
|
}
|
|
#endif
|