当前位置: 首页>>代码示例>>C++>>正文


C++ Position::HasTremoloBar方法代码示例

本文整理汇总了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);
}
开发者ID:RaptDept,项目名称:ptparser,代码行数:74,代码来源:positiontestsuite.cpp

示例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);
}
开发者ID:RaptDept,项目名称:ptparser,代码行数:85,代码来源:positiontestsuite.cpp

示例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();
开发者ID:BackupTheBerlios,项目名称:ptparser-svn,代码行数:67,代码来源:powertabview.cpp


注:本文中的Position::HasTremoloBar方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。