def __and__(self, timespan): r'''Intersection start-positioned rhythm payload expression and `timespan`. Example 1. Intersection on the left: :: >>> payload = [Container("c'8 d'8 e'8 f'8")] >>> expression = \ ... musicexpressiontools.StartPositionedRhythmPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan( ... Offset(-1, 8), Offset(3, 8)) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedRhythmPayloadExpression( payload=scoretools.Container( "{ c'8 d'8 e'8 }" ), start_offset=durationtools.Offset(0, 1), ), ] ) Example 2. Intersection on the right: :: >>> payload = [Container("c'8 d'8 e'8 f'8")] >>> expression = \ ... musicexpressiontools.StartPositionedRhythmPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan( ... Offset(1, 8), Offset(5, 8)) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedRhythmPayloadExpression( payload=scoretools.Container( "{ d'8 e'8 f'8 }" ), start_offset=durationtools.Offset(1, 8), ), ] ) Example 3. Trisection: :: >>> payload = [Container("c'8 d'8 e'8 f'8")] >>> expression = musicexpressiontools.StartPositionedRhythmPayloadExpression(payload, Offset(0)) >>> result = expression & timespantools.Timespan(Offset(1, 8), Offset(3, 8)) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedRhythmPayloadExpression( payload=scoretools.Container( "{ d'8 e'8 }" ), start_offset=durationtools.Offset(1, 8), ), ] ) Example 4. No intersection: :: >>> payload = [Container("c'8 d'8 e'8 f'8")] >>> expression = musicexpressiontools.StartPositionedRhythmPayloadExpression(payload, Offset(0)) >>> result = expression & timespantools.Timespan(100, 200) :: >>> print(format(result)) timespantools.TimespanInventory( [] ) Operates in place and returns timespan inventory. ''' return StartPositionedPayloadExpression.__and__(self, timespan)
def __and__(self, timespan): r'''Keep intersection of start-positioned division payload expression and `timespan`. Example 1. Intersection on the left: :: >>> payload = [(6, 8), (6, 8), (3, 4)] >>> expression = musicexpressiontools.StartPositionedDivisionPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan(0, Offset(1, 8)) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedDivisionPayloadExpression( payload=musicexpressiontools.DivisionList( [ durationtools.Division(1, 8), ], start_offset=durationtools.Offset(0, 1), ), start_offset=durationtools.Offset(0, 1), ), ] ) Example 2. Intersection on the right: :: >>> payload = [(6, 8), (6, 8), (3, 4)] >>> expression = musicexpressiontools.StartPositionedDivisionPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan(Offset(17, 8), 100) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedDivisionPayloadExpression( payload=musicexpressiontools.DivisionList( [ durationtools.Division(1, 8), ], start_offset=durationtools.Offset(17, 8), ), start_offset=durationtools.Offset(17, 8), ), ] ) Example 3. Trisection: :: >>> payload = [(6, 8), (6, 8), (3, 4)] >>> expression = musicexpressiontools.StartPositionedDivisionPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan(Offset(1, 8), Offset(17, 8)) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedDivisionPayloadExpression( payload=musicexpressiontools.DivisionList( [ durationtools.Division(5, 8), durationtools.Division(6, 8), durationtools.Division(5, 8), ], start_offset=durationtools.Offset(1, 8), ), start_offset=durationtools.Offset(1, 8), ), ] ) Example 4. No intersection: :: >>> payload = [(6, 8), (6, 8), (3, 4)] >>> expression = musicexpressiontools.StartPositionedDivisionPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan(100, 200) :: >>> print(format(result)) timespantools.TimespanInventory( [] ) Operates in place and returns timespan inventory. ''' return StartPositionedPayloadExpression.__and__(self, timespan)
def __and__(self, timespan): r'''Keep intersection of start-positioned division payload expression and `timespan`. Example 1. Intersection on the left: :: >>> payload = [(6, 8), (6, 8), (3, 4)] >>> expression = musicexpressiontools.StartPositionedDivisionPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan(0, Offset(1, 8)) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedDivisionPayloadExpression( payload=musicexpressiontools.DivisionList( [ durationtools.Division(1, 8), ], start_offset=durationtools.Offset(0, 1), ), start_offset=durationtools.Offset(0, 1), ), ] ) Example 2. Intersection on the right: :: >>> payload = [(6, 8), (6, 8), (3, 4)] >>> expression = musicexpressiontools.StartPositionedDivisionPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan(Offset(17, 8), 100) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedDivisionPayloadExpression( payload=musicexpressiontools.DivisionList( [ durationtools.Division(1, 8), ], start_offset=durationtools.Offset(17, 8), ), start_offset=durationtools.Offset(17, 8), ), ] ) Example 3. Trisection: :: >>> payload = [(6, 8), (6, 8), (3, 4)] >>> expression = musicexpressiontools.StartPositionedDivisionPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan(Offset(1, 8), Offset(17, 8)) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedDivisionPayloadExpression( payload=musicexpressiontools.DivisionList( [ durationtools.Division(5, 8), durationtools.Division(6, 8), durationtools.Division(5, 8), ], start_offset=durationtools.Offset(1, 8), ), start_offset=durationtools.Offset(1, 8), ), ] ) Example 4. No intersection: :: >>> payload = [(6, 8), (6, 8), (3, 4)] >>> expression = musicexpressiontools.StartPositionedDivisionPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan(100, 200) :: >>> print(format(result)) timespantools.TimespanInventory( [] ) Operates in place and returns timespan inventory. ''' return StartPositionedPayloadExpression.__and__(self, timespan)
def __and__(self, timespan): r'''Intersection start-positioned rhythm payload expression and `timespan`. Example 1. Intersection on the left: :: >>> payload = [Container("c'8 d'8 e'8 f'8")] >>> expression = \ ... musicexpressiontools.StartPositionedRhythmPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan( ... Offset(-1, 8), Offset(3, 8)) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedRhythmPayloadExpression( payload=scoretools.Container( "{ c'8 d'8 e'8 }" ), start_offset=durationtools.Offset(0, 1), ), ] ) Example 2. Intersection on the right: :: >>> payload = [Container("c'8 d'8 e'8 f'8")] >>> expression = \ ... musicexpressiontools.StartPositionedRhythmPayloadExpression( ... payload, Offset(0)) >>> result = expression & timespantools.Timespan( ... Offset(1, 8), Offset(5, 8)) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedRhythmPayloadExpression( payload=scoretools.Container( "{ d'8 e'8 f'8 }" ), start_offset=durationtools.Offset(1, 8), ), ] ) Example 3. Trisection: :: >>> payload = [Container("c'8 d'8 e'8 f'8")] >>> expression = musicexpressiontools.StartPositionedRhythmPayloadExpression(payload, Offset(0)) >>> result = expression & timespantools.Timespan(Offset(1, 8), Offset(3, 8)) :: >>> print(format(result)) timespantools.TimespanInventory( [ musicexpressiontools.StartPositionedRhythmPayloadExpression( payload=scoretools.Container( "{ d'8 e'8 }" ), start_offset=durationtools.Offset(1, 8), ), ] ) Example 4. No intersection: :: >>> payload = [Container("c'8 d'8 e'8 f'8")] >>> expression = musicexpressiontools.StartPositionedRhythmPayloadExpression(payload, Offset(0)) >>> result = expression & timespantools.Timespan(100, 200) :: >>> print(format(result)) timespantools.TimespanInventory( [] ) Operates in place and returns timespan inventory. ''' return StartPositionedPayloadExpression.__and__(self, timespan)