本文整理汇总了C++中Position::HasTremoloBar方法的典型用法代码示例。如果您正苦于以下问题:C++ Position::HasTremoloBar方法的具体用法?C++ Position::HasTremoloBar怎么用?C++ Position::HasTremoloBar使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Position
的用法示例。
在下文中一共展示了Position::HasTremoloBar方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TestCaseTremoloBar
/// Tests the Tremolo Bar Functions
/// @return True if all tests were executed, false if not
bool PositionTestSuite::TestCaseTremoloBar()
{
//------Last Checked------//
// - Jan 19, 2005
// TEST CASE: SetTremoloBar
{
Position position;
TEST(wxT("SetTremoloBar - invalid type"),
!position.SetTremoloBar(255, 1, 12));
TEST(wxT("SetTremoloBar - invalid duration"),
!position.SetTremoloBar(Position::invertedDip, 255, 12));
TEST(wxT("SetTremoloBar - invalid pitch"),
!position.SetTremoloBar(Position::invertedDip, 1, 255));
bool set = position.SetTremoloBar(Position::invertedDip, 1, 12);
wxByte type = 0;
wxByte duration = 0;
wxByte pitch = 0;
bool get = position.GetTremoloBar(type, duration, pitch);
TEST(wxT("SetTremoloBar - valid"),
((set) &&
(get) &&
(position.HasTremoloBar()) &&
(type == Position::invertedDip) &&
(duration == 1) &&
(pitch == 12))
);
{
Position position;
position.SetVolumeSwell(Dynamic::off, Dynamic::mp, 1);
bool set = position.SetVolumeSwell(Dynamic::mf, Dynamic::fff, 3);
wxByte startVolume = 0;
wxByte endVolume = 0;
wxByte duration = 0;
bool get = position.GetVolumeSwell(startVolume, endVolume, duration);
TEST(wxT("SetVolumeSwell - update"),
((set) &&
(get) &&
(position.HasVolumeSwell()) &&
(startVolume == Dynamic::mf) &&
(endVolume == Dynamic::fff) &&
(duration == 3))
);
}
}
// TEST CASE: GetTremoloBar
{
Position position;
wxByte type = 0;
wxByte duration = 0;
wxByte pitch = 0;
TEST(wxT("GetTremoloBar - empty"),
!position.GetTremoloBar(type, duration, pitch)
);
}
// TEST CASE: ClearTremoloBar
{
Position position;
bool set = position.SetTremoloBar(Position::invertedDip, 1, 12);
position.ClearTremoloBar();
TEST(wxT("ClearTremoloBar"),
((set) &&
!position.HasTremoloBar())
);
}
return (true);
}
示例2: TestCaseComplexSymbol
/// Tests the Complex Symbol Functions
/// @return True if all tests were executed, false if not
bool PositionTestSuite::TestCaseComplexSymbol()
{
//------Last Checked------//
// - Jan 19, 2005
// TEST CASE: IsValidComplexSymbolType
{
wxByte i = 0;
for (;;i++)
{
TEST(wxString::Format(wxT("IsValidComplexSymbolType - %d"), i),
(Position::IsValidComplexSymbolType(i) ==
((i == Position::volumeSwell) || (i == Position::tremoloBar) ||
(i == Position::multibarRest)))
);
// block overflow
if (i == 255)
break;
}
}
// TEST CASE: AddComplexSymbol
{
Position position;
TEST(wxT("AddComplexSymbol - invalid type"),
!position.AddComplexSymbol(0));
position.SetVolumeSwell(Dynamic::off, Dynamic::mp, 1);
position.SetTremoloBar(Position::invertedDip, 1, 12);
TEST(wxT("AddComplexSymbol - full"), !position.SetMultibarRest(10));
}
// TEST CASE: GetComplexSymbolCount
{
Position position;
TEST(wxT("GetComplexSymbolCount - 0"),
(position.GetComplexSymbolCount() == 0)
);
position.SetVolumeSwell(Dynamic::off, Dynamic::mp, 1);
position.SetTremoloBar(Position::invertedDip, 1, 12);
TEST(wxT("GetComplexSymbolCount - 2"),
(position.GetComplexSymbolCount() == 2)
);
position.ClearComplexSymbolArrayContents();
TEST(wxT("GetComplexSymbolCount - 0"),
(position.GetComplexSymbolCount() == 0)
);
}
// TEST CASE: FindComplexSymbol
{
Position position;
position.SetVolumeSwell(Dynamic::off, Dynamic::mp, 1);
position.SetTremoloBar(Position::invertedDip, 1, 12);
TEST(wxT("FindComplexSymbol - volume swell"),
(position.FindComplexSymbol(Position::volumeSwell) == 0));
TEST(wxT("FindComplexSymbol - tremolo bar"),
(position.FindComplexSymbol(Position::tremoloBar) == 1));
}
// TEST CASE: RemoveComplexSymbol
{
Position position;
position.SetVolumeSwell(Dynamic::off, Dynamic::mp, 1);
position.SetTremoloBar(Position::invertedDip, 1, 12);
TEST(wxT("RemoveComplexSymbol - tremolo bar"),
(position.RemoveComplexSymbol(Position::tremoloBar)) &&
(!position.HasTremoloBar())
);
TEST(wxT("RemoveComplexSymbol - volume swell"),
(position.RemoveComplexSymbol(Position::volumeSwell)) &&
(!position.HasVolumeSwell())
);
}
return (true);
}
示例3: OnTestParseFile
//.........这里部分代码省略.........
bool dotted = position->IsDotted();
bool doubleDotted = position->IsDoubleDotted();
bool rest = position->IsRest();
bool vibrato = position->HasVibrato();
bool wideVibrato = position->HasWideVibrato();
bool arpeggioUp = position->HasArpeggioUp();
bool arpeggioDown = position->HasArpeggioDown();
bool pickstrokeUp = position->HasPickStrokeUp();
bool pickstrokeDown = position->HasPickStrokeDown();
bool staccato = position->IsStaccato();
bool marcato = position->HasMarcato();
bool sforzando = position->HasSforzando();
bool tremoloPicking = position->HasTremoloPicking();
bool palmMuting = position->HasPalmMuting();
bool tap = position->HasTap();
bool acciaccatura = position->IsAcciaccatura();
bool tripletFeel1st = position->IsTripletFeel1st();
bool tripletFeel2nd = position->IsTripletFeel2nd();
bool letRing = position->HasLetRing();
bool fermata = position->HasFermata();
bool irregularGroupingStart = position->IsIrregularGroupingStart();
bool irregularGroupingMiddle = position->IsIrregularGroupingMiddle();
bool irregularGroupingEnd = position->IsIrregularGroupingEnd();
if (position->HasVolumeSwell())
{
wxByte startVolume = 0;
wxByte endVolume = 0;
wxByte duration = 0;
position->GetVolumeSwell(startVolume, endVolume, duration);
}
if (position->HasTremoloBar())
{
wxByte type = 0;
wxByte duration = 0;
wxByte pitch = 0;
position->GetTremoloBar(type, duration, pitch);
}
// Parse the notes
// In Power Tab Editor v1.7, note data can be accessed via the Notes menu, as well as
// the Tab Symbols menu
wxUint32 noteIndex = 0;
wxUint32 noteCount = position->GetNoteCount();
for (; noteIndex < noteCount; noteIndex++)
{
Note* note = position->GetNote(noteIndex);
wxCHECK2(note != NULL, continue);
wxUint32 string = note->GetString();
wxUint32 fretNumber = note->GetFretNumber();
bool tied = note->IsTied();
bool muted = note->IsMuted();
bool tieWrap = note->HasTieWrap();
bool hammerOn = note->HasHammerOn();
bool hammerOnFromNowhere = note->HasHammerOnFromNowhere();
bool pullOff = note->HasPullOff();
bool pullOffToNowhere = note->HasPullOffToNowhere();
bool naturalHarmonic = note->IsNaturalHarmonic();
bool ghostNote = note->IsGhostNote();
bool octave8va = note->IsOctave8va();
bool octave15ma = note->IsOctave15ma();
bool octave8vb = note->IsOctave8vb();
bool octave15mb = note->IsOctave15mb();