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


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

本文整理汇总了C++中Position::GetPreviousBeamDurationType方法的典型用法代码示例。如果您正苦于以下问题:C++ Position::GetPreviousBeamDurationType方法的具体用法?C++ Position::GetPreviousBeamDurationType怎么用?C++ Position::GetPreviousBeamDurationType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Position的用法示例。


在下文中一共展示了Position::GetPreviousBeamDurationType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: TestCaseBeaming

/// Tests the Beaming Functions
/// @return True if all tests were executed, false if not
bool PositionTestSuite::TestCaseBeaming()
{
    //------Last Checked------//
    // - Jan 18, 2005
    
    // TEST CASE: IsValidPreviousBeamDurationType
    {
        TEST(wxT("IsValidPreviousBeamDurationType - 0"),
            Position::IsValidPreviousBeamDurationType(0));
        
        wxByte i = 1;
        for (; i <= 128; i = i * 2)
        {
            TEST(wxString::Format(wxT("IsValidPreviousBeamDurationType - %d"), i),
                (Position::IsValidPreviousBeamDurationType(i) ==
                ((i == 0) || (i == 8) || (i == 16) || (i == 32) || (i == 64)))
            );
            
            // Block overflow
            if (i == 128)
                break;
        }
    }
    
    // TEST CASE: SetPreviousBeamDurationType
    {
        Position position;
        
        TEST(wxT("SetPreviousBeamDurationType - 0"),
            position.SetPreviousBeamDurationType(0));
        
        wxByte i = 1;
        for (; i <= 128; i = i * 2)
        {
            TEST(wxString::Format(wxT("SetPreviousBeamDurationType - %d"), i),
                (position.SetPreviousBeamDurationType(i) == ((i == 0) ||
                (i == 8) || (i == 16) || (i == 32) || (i == 64))) &&
                (!((i == 0) || (i == 8) || (i == 16) || (i == 32) ||
                (i == 64)) ? 1 : (position.GetPreviousBeamDurationType() == i))
            );
            
            // Block overflow
            if (i == 128)
                break;
        }
    }
    
    // TEST CASE: SetBeamStart
    {
        Position position;
        TEST(wxT("SetBeamStart - true"),
            (position.SetBeamStart() && position.IsBeamStart()));
        TEST(wxT("SetBeamStart - false"),
            (position.SetBeamStart(false) && !position.IsBeamStart()));
    }
    
    // TEST CASE: SetFractionalLeftBeam
    {
        Position position;
        TEST(wxT("SetFractionalLeftBeam - true"),
            (position.SetFractionalLeftBeam() && position.HasFractionalLeftBeam()));
        TEST(wxT("SetFractionalLeftBeam - false"),
            (position.SetFractionalLeftBeam(false) && !position.HasFractionalLeftBeam()));
    }
    
    // TEST CASE: SetFractionalRightBeam
    {
        Position position;
        TEST(wxT("SetFractionalRightBeam - true"),
            (position.SetFractionalRightBeam() && position.HasFractionalRightBeam()));
        TEST(wxT("SetFractionalRightBeam - false"),
            (position.SetFractionalRightBeam(false) && !position.HasFractionalRightBeam()));
    }
    
    // TEST CASE: SetBeamEnd
    {
        Position position;
        TEST(wxT("SetBeamEnd - true"),
            (position.SetBeamEnd() && position.IsBeamEnd()));
        TEST(wxT("SetBeamEnd - false"),
            (position.SetBeamEnd(false) && !position.IsBeamEnd()));
    }
    
    // TEST CASE: ClearBeam
    {
        Position position;
        
        position.SetPreviousBeamDurationType(16);
        position.SetBeamStart();
        TEST(wxT("ClearBeam - beam start"), 
            position.ClearBeam() &&
            (!position.IsBeamStart()) &&
            (position.GetPreviousBeamDurationType() == 0)
        );
        
        position.SetPreviousBeamDurationType(16);
        position.SetFractionalLeftBeam();
        TEST(wxT("ClearBeam - fractional left beam"), 
//.........这里部分代码省略.........
开发者ID:RaptDept,项目名称:ptparser,代码行数:101,代码来源:positiontestsuite.cpp

示例2: OnTestParseFile


//.........这里部分代码省略.........
                {
                    if (chordName.IsFormulaModificationFlagSet(formulaModificationFlag))
                    {
                        
                    }
                    
                    // Block overflow
                    if (formulaModificationFlag == ChordName::suspended4th)
                        break;
                }
                
                if (chordName.IsFretPositionUsed())
                {
                    wxByte fretPosition = chordName.GetFretPosition();
                }
                
                if (chordName.IsTypeUsed())
                {
                    wxByte type = chordName.GetType();   
                }
            }

            // Parse the rhythm slashes in the system
            // In Power Tab Editor v1.7, rhythm slash data can be accessed via the Rhy. Slashes menu
            wxUint32 rhythmSlashIndex = 0;
            wxUint32 rhythmSlashCount = system->GetRhythmSlashCount();
            for (; rhythmSlashIndex < rhythmSlashCount; rhythmSlashIndex++)
            {
                RhythmSlash* rhythmSlash = system->GetRhythmSlash(rhythmSlashIndex);
                wxCHECK2(rhythmSlash != NULL, continue);
                
                wxUint32 position = rhythmSlash->GetPosition();
                wxByte durationType = rhythmSlash->GetDurationType();
                wxByte previousDurationType = rhythmSlash->GetPreviousBeamDurationType();
                
                bool beamStart = rhythmSlash->IsBeamStart();
                bool fractionalBeam = rhythmSlash->HasFractionalBeam();
                bool beamEnd = rhythmSlash->IsBeamEnd();
                
                bool tripletStart = rhythmSlash->IsTripletStart();
                bool tripletMiddle = rhythmSlash->IsTripletMiddle();
                bool tripletEnd = rhythmSlash->IsTripletEnd();
                
                bool dotted = rhythmSlash->IsDotted();
                bool doubleDotted = rhythmSlash->IsDoubleDotted();
                bool rest = rhythmSlash->IsRest();
                bool tied = rhythmSlash->IsTied();
                bool muted = rhythmSlash->IsMuted();
                bool staccato = rhythmSlash->IsStaccato();
                bool pickstrokeUp = rhythmSlash->HasPickStrokeUp();
                bool pickstrokeDown = rhythmSlash->HasPickStrokeDown();
                bool arpeggioUp = rhythmSlash->HasArpeggioUp();
                bool arpeggioDown = rhythmSlash->HasArpeggioDown();
                bool tripletFeel1st = rhythmSlash->IsTripletFeel1st();
                bool tripletFeel2nd = rhythmSlash->IsTripletFeel2nd();
                bool marcato = rhythmSlash->HasMarcato();
                bool sforzando = rhythmSlash->HasSforzando();
                bool slideIntoFromAbove = rhythmSlash->HasSlideIntoFromAbove();
                bool slideIntoFromBelow = rhythmSlash->HasSlideIntoFromBelow();
                bool slideOutOfDownwards = rhythmSlash->HasSlideOutOfDownwards();
                bool slideOutOfUpwards = rhythmSlash->HasSlideOutOfUpwards();
                
                // TODO: If has single note
                {
                    wxByte stringNumber = 0;
                    wxByte fretNumber = 0;
开发者ID:BackupTheBerlios,项目名称:ptparser-svn,代码行数:67,代码来源:powertabview.cpp


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