Example #1
0
    def __delitem__(self, i):
        r'''Deletes measure item `i`.

        ..  container:: example

            ::

                >>> measure = Measure((4, 8), "c'8 d'8 e'8 f'8")
                >>> measure.automatically_adjust_time_signature = True
                >>> show(measure) # doctest: +SKIP

            ::

                >>> del(measure[1])
                >>> show(measure) # doctest: +SKIP

            ..  doctest::

                {
                    \time 3/8
                    c'8
                    e'8
                    f'8
                }

        Returns none.
        '''
        old_time_signature = self.time_signature
        old_denominator = getattr(old_time_signature, 'denominator', None)
        FixedDurationContainer.__delitem__(self, i)
        self._conditionally_adjust_time_signature(old_denominator)
Example #2
0
    def __delitem__(self, i):
        r'''Deletes measure item `i`.

        ..  container:: example

            ::

                >>> measure = Measure((4, 8), "c'8 d'8 e'8 f'8")
                >>> measure.automatically_adjust_time_signature = True
                >>> show(measure) # doctest: +SKIP

            ::

                >>> del(measure[1])
                >>> show(measure) # doctest: +SKIP

            ..  doctest::

                {
                    \time 3/8
                    c'8
                    e'8
                    f'8
                }

        Returns none.
        '''
        old_time_signature = self.time_signature
        old_denominator = getattr(old_time_signature, 'denominator', None)
        FixedDurationContainer.__delitem__(self, i)
        self._conditionally_adjust_time_signature(old_denominator)
Example #3
0
    def __setitem__(self, i, expr):
        r'''Sets measure item `i` to `expr`.

        ..  container:: example

            ::

                >>> measure = Measure((4, 8), "c'8 d'8 e'8 f'8")
                >>> measure.automatically_adjust_time_signature = True
                >>> show(measure) # doctest: +SKIP

            ::

                >>> measure[1] = Note("ds'8.")
                >>> show(measure) # doctest: +SKIP

            ..  doctest::

                {
                    \time 9/16
                    c'8
                    ds'8.
                    e'8
                    f'8
                }

        Returns none.
        '''
        old_time_signature = self.time_signature
        old_denominator = getattr(old_time_signature, 'denominator', None)
        FixedDurationContainer.__setitem__(self, i, expr)
        self._conditionally_adjust_time_signature(old_denominator)
Example #4
0
    def __setitem__(self, i, expr):
        r'''Sets measure item `i` to `expr`.

        ..  container:: example

            ::

                >>> measure = Measure((4, 8), "c'8 d'8 e'8 f'8")
                >>> measure.automatically_adjust_time_signature = True
                >>> show(measure) # doctest: +SKIP

            ::

                >>> measure[1] = Note("ds'8.")
                >>> show(measure) # doctest: +SKIP

            ..  doctest::

                {
                    \time 9/16
                    c'8
                    ds'8.
                    e'8
                    f'8
                }

        Returns none.
        '''
        old_time_signature = self.time_signature
        old_denominator = getattr(old_time_signature, 'denominator', None)
        FixedDurationContainer.__setitem__(self, i, expr)
        self._conditionally_adjust_time_signature(old_denominator)
Example #5
0
 def __init__(self, time_signature=None, music=None):
     # set time signature adjustment before contents initialization
     self._automatically_adjust_time_signature = False
     time_signature = time_signature or (4, 4)
     FixedDurationContainer.__init__(self, time_signature, music)
     self._always_format_time_signature = False
     self._measure_number = None
     time_signature = indicatortools.TimeSignature(time_signature)
     attach(time_signature, self)
Example #6
0
 def __init__(
     self,
     time_signature=None,
     music=None,
     implicit_scaling=False,
 ):
     # set time signature adjustment before contents initialization
     self._automatically_adjust_time_signature = False
     time_signature = time_signature or (4, 4)
     self.implicit_scaling = implicit_scaling
     FixedDurationContainer.__init__(self, time_signature, music)
     self._always_format_time_signature = False
     self._measure_number = None
     time_signature = indicatortools.TimeSignature(time_signature)
     attach(time_signature, self)
Example #7
0
 def _format_content_pieces(self):
     result = []
     if self.has_non_power_of_two_denominator and type(self) is Measure:
         string = "\t\\scaleDurations #'({} . {}) {{"
         string = string.format(
             self.implied_prolation.numerator,
             self.implied_prolation.denominator,
             )
         result.append(string)
         pieces = FixedDurationContainer._format_content_pieces(self)
         pieces = ['\t' + x for x in pieces]
         result.extend(pieces)
         result.append('\t}')
     else:
         result.extend(FixedDurationContainer._format_content_pieces(self))
     return result
Example #8
0
 def _format_content_pieces(self):
     result = []
     if self.has_non_power_of_two_denominator and \
         type(self) is Measure and \
         self.implicit_scaling:
         string = "\t\\scaleDurations #'({} . {}) {{"
         string = string.format(
             self.implied_prolation.numerator,
             self.implied_prolation.denominator,
         )
         result.append(string)
         pieces = FixedDurationContainer._format_content_pieces(self)
         pieces = ['\t' + x for x in pieces]
         result.extend(pieces)
         result.append('\t}')
     else:
         result.extend(FixedDurationContainer._format_content_pieces(self))
     return result
Example #9
0
 def _format_content_pieces(self):
     from abjad.tools import systemtools
     result = []
     if self.has_non_power_of_two_denominator and \
         type(self) is Measure and \
         self.implicit_scaling:
         indent = systemtools.LilyPondFormatManager.indent
         string = "{}\\scaleDurations #'({} . {}) {{"
         string = string.format(
             indent,
             self.implied_prolation.numerator,
             self.implied_prolation.denominator,
         )
         result.append(string)
         pieces = FixedDurationContainer._format_content_pieces(self)
         pieces = [indent + x for x in pieces]
         result.extend(pieces)
         result.append(indent + '}')
     else:
         result.extend(FixedDurationContainer._format_content_pieces(self))
     return result
Example #10
0
 def _format_content_pieces(self):
     from abjad.tools import systemtools
     result = []
     if self.has_non_power_of_two_denominator and \
         type(self) is Measure and \
         self.implicit_scaling:
         indent = systemtools.LilyPondFormatManager.indent
         string = "{}\\scaleDurations #'({} . {}) {{"
         string = string.format(
             indent,
             self.implied_prolation.numerator,
             self.implied_prolation.denominator,
             )
         result.append(string)
         pieces = FixedDurationContainer._format_content_pieces(self)
         pieces = [indent + x for x in pieces]
         result.extend(pieces)
         result.append(indent + '}')
     else:
         result.extend(FixedDurationContainer._format_content_pieces(self))
     return result