Пример #1
0
    def __sub__(self, timespan):
        r'''Subtract `timespan` from start-positioned rhythm payload
        expression.

        Example 1. Subtract from left:

        ::

            >>> payload = [Container("c'8 d'8 e'8 f'8")]
            >>> expression = \
            ...     musicexpressiontools.StartPositionedRhythmPayloadExpression(
            ...     payload, Offset(0))
            >>> result = expression - timespantools.Timespan(0, Offset(1, 8))

        ::

                >>> print(format(result))
                timespantools.TimespanInventory(
                    [
                        musicexpressiontools.StartPositionedRhythmPayloadExpression(
                            payload=scoretools.Container(
                                "{ d'8 e'8 f'8 }"
                                ),
                            start_offset=durationtools.Offset(1, 8),
                            ),
                        ]
                    )

        Example 2. Subtract from right:

        ::

            >>> payload = [Container("c'8 d'8 e'8 f'8")]
            >>> expression = \
            ...     musicexpressiontools.StartPositionedRhythmPayloadExpression(
            ...     payload, Offset(0))
            >>> result = expression - timespantools.Timespan(Offset(3, 8), 100)

        ::

            >>> print(format(result))
            timespantools.TimespanInventory(
                [
                    musicexpressiontools.StartPositionedRhythmPayloadExpression(
                        payload=scoretools.Container(
                            "{ c'8 d'8 e'8 }"
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    ]
                )

        Example 3. Subtract from middle:

        ::

            >>> 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 }"
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    musicexpressiontools.StartPositionedRhythmPayloadExpression(
                        payload=scoretools.Container(
                            "{ f'8 }"
                            ),
                        start_offset=durationtools.Offset(3, 8),
                        ),
                    ]
                )

        Example 4. Subtract nothing:

        ::

            >>> 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(
                [
                    musicexpressiontools.StartPositionedRhythmPayloadExpression(
                        payload=scoretools.Container(
                            "{ c'8 d'8 e'8 f'8 }"
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    ]
                )

        Operates in place and returns timespan inventory.
        '''
        return StartPositionedPayloadExpression.__sub__(self, timespan)
    def __sub__(self, timespan):
        r'''Subtract `timespan` from start-positioned division
        payload expression.

        Example 1. Subtract from 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(5, 8),
                                durationtools.Division(6, 8),
                                durationtools.Division(3, 4),
                                ],
                            start_offset=durationtools.Offset(1, 8),
                            ),
                        start_offset=durationtools.Offset(1, 8),
                        ),
                    ]
                )

        Example 2. Subtract from 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(6, 8),
                                durationtools.Division(6, 8),
                                durationtools.Division(5, 8),
                                ],
                            start_offset=durationtools.Offset(0, 1),
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    ]
                )

        Example 3. Subtract from middle:

        ::

            >>> 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(1, 8),
                                ],
                            start_offset=durationtools.Offset(0, 1),
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    musicexpressiontools.StartPositionedDivisionPayloadExpression(
                        payload=musicexpressiontools.DivisionList(
                            [
                                durationtools.Division(1, 8),
                                ],
                            start_offset=durationtools.Offset(17, 8),
                            ),
                        start_offset=durationtools.Offset(17, 8),
                        ),
                    ]
                )

        Example 4. Subtract from nothing:

        ::

            >>> payload = [(6, 8), (6, 8), (3, 4)]
            >>> expression = musicexpressiontools.StartPositionedDivisionPayloadExpression(
            ...     payload, Offset(0))
            >>> result = expression - timespantools.Timespan(100, 200)

        ::

            >>> print(format(result))
            timespantools.TimespanInventory(
                [
                    musicexpressiontools.StartPositionedDivisionPayloadExpression(
                        payload=musicexpressiontools.DivisionList(
                            [
                                durationtools.Division(6, 8),
                                durationtools.Division(6, 8),
                                durationtools.Division(3, 4),
                                ],
                            start_offset=durationtools.Offset(0, 1),
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    ]
                )

        Operates in place and returns timespan inventory.
        '''
        return StartPositionedPayloadExpression.__sub__(self, timespan)
Пример #3
0
    def __sub__(self, timespan):
        r'''Subtract `timespan` from start-positioned division
        payload expression.

        Example 1. Subtract from 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(5, 8),
                                durationtools.Division(6, 8),
                                durationtools.Division(3, 4),
                                ],
                            start_offset=durationtools.Offset(1, 8),
                            ),
                        start_offset=durationtools.Offset(1, 8),
                        ),
                    ]
                )

        Example 2. Subtract from 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(6, 8),
                                durationtools.Division(6, 8),
                                durationtools.Division(5, 8),
                                ],
                            start_offset=durationtools.Offset(0, 1),
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    ]
                )

        Example 3. Subtract from middle:

        ::

            >>> 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(1, 8),
                                ],
                            start_offset=durationtools.Offset(0, 1),
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    musicexpressiontools.StartPositionedDivisionPayloadExpression(
                        payload=musicexpressiontools.DivisionList(
                            [
                                durationtools.Division(1, 8),
                                ],
                            start_offset=durationtools.Offset(17, 8),
                            ),
                        start_offset=durationtools.Offset(17, 8),
                        ),
                    ]
                )

        Example 4. Subtract from nothing:

        ::

            >>> payload = [(6, 8), (6, 8), (3, 4)]
            >>> expression = musicexpressiontools.StartPositionedDivisionPayloadExpression(
            ...     payload, Offset(0))
            >>> result = expression - timespantools.Timespan(100, 200)

        ::

            >>> print(format(result))
            timespantools.TimespanInventory(
                [
                    musicexpressiontools.StartPositionedDivisionPayloadExpression(
                        payload=musicexpressiontools.DivisionList(
                            [
                                durationtools.Division(6, 8),
                                durationtools.Division(6, 8),
                                durationtools.Division(3, 4),
                                ],
                            start_offset=durationtools.Offset(0, 1),
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    ]
                )

        Operates in place and returns timespan inventory.
        '''
        return StartPositionedPayloadExpression.__sub__(self, timespan)
    def __sub__(self, timespan):
        r'''Subtract `timespan` from start-positioned rhythm payload
        expression.

        Example 1. Subtract from left:

        ::

            >>> payload = [Container("c'8 d'8 e'8 f'8")]
            >>> expression = \
            ...     musicexpressiontools.StartPositionedRhythmPayloadExpression(
            ...     payload, Offset(0))
            >>> result = expression - timespantools.Timespan(0, Offset(1, 8))

        ::

                >>> print(format(result))
                timespantools.TimespanInventory(
                    [
                        musicexpressiontools.StartPositionedRhythmPayloadExpression(
                            payload=scoretools.Container(
                                "{ d'8 e'8 f'8 }"
                                ),
                            start_offset=durationtools.Offset(1, 8),
                            ),
                        ]
                    )

        Example 2. Subtract from right:

        ::

            >>> payload = [Container("c'8 d'8 e'8 f'8")]
            >>> expression = \
            ...     musicexpressiontools.StartPositionedRhythmPayloadExpression(
            ...     payload, Offset(0))
            >>> result = expression - timespantools.Timespan(Offset(3, 8), 100)

        ::

            >>> print(format(result))
            timespantools.TimespanInventory(
                [
                    musicexpressiontools.StartPositionedRhythmPayloadExpression(
                        payload=scoretools.Container(
                            "{ c'8 d'8 e'8 }"
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    ]
                )

        Example 3. Subtract from middle:

        ::

            >>> 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 }"
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    musicexpressiontools.StartPositionedRhythmPayloadExpression(
                        payload=scoretools.Container(
                            "{ f'8 }"
                            ),
                        start_offset=durationtools.Offset(3, 8),
                        ),
                    ]
                )

        Example 4. Subtract nothing:

        ::

            >>> 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(
                [
                    musicexpressiontools.StartPositionedRhythmPayloadExpression(
                        payload=scoretools.Container(
                            "{ c'8 d'8 e'8 f'8 }"
                            ),
                        start_offset=durationtools.Offset(0, 1),
                        ),
                    ]
                )

        Operates in place and returns timespan inventory.
        '''
        return StartPositionedPayloadExpression.__sub__(self, timespan)