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


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

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


在下文中一共展示了Position::HasFractionalRightBeam方法的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


//.........这里部分代码省略.........
                
                wxByte clef = staff->GetClef();
                wxByte tablatureStaffType = staff->GetTablatureStaffType();
                
                // Parse the positions in each voice
                wxUint32 voice = 0;
                for (; voice < NUM_STAFF_VOICES; voice++)
                {
                    wxUint32 positionIndex = 0;
                    wxUint32 positionCount = staff->GetPositionCount(voice);
                    for (; positionIndex < positionCount; positionIndex++)
                    {
                        Position* position = staff->GetPosition(voice, positionIndex);
                        wxCHECK2(position != NULL, continue);
                    
                        wxUint32 positionIndex = 0;
                        wxUint32 positionCount = staff->GetPositionCount(voice);
                        for (; positionIndex < positionCount; positionIndex++)
                        {
                            Position* position = staff->GetPosition(voice, positionIndex);
                            wxCHECK2(position != NULL, continue);
                            
                            wxUint32 position2 = position->GetPosition();
                            wxByte durationType = position->GetDurationType();
                            if (position->HasIrregularGroupingTiming())
                            {
                                wxByte notesPlayed = 0;
                                wxByte notesPlayedOver = 0;
                                position->GetIrregularGroupingTiming(notesPlayed, notesPlayedOver);
                            }
                            wxByte previousBeamDurationType = position->GetPreviousBeamDurationType();
                            bool beamStart = position->IsBeamStart();
                            bool fractionalLeftBeam = position->HasFractionalLeftBeam();
                            bool fractionalRightBeam = position->HasFractionalRightBeam();
                            bool beamEnd = position->IsBeamEnd();
                            
                            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);
开发者ID:BackupTheBerlios,项目名称:ptparser-svn,代码行数:67,代码来源:powertabview.cpp


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