def tweak_string(self): r'''Gets LilyPond grob override \tweak string. >>> override = abjad.LilyPondGrobOverride( ... grob_name='Glissando', ... property_path='style', ... value=abjad.SchemeSymbol('zigzag'), ... ) >>> override.tweak_string "- \\tweak style #'zigzag" Returns string. ''' result = [r'- \tweak'] string = '.'.join(self.property_path) result.append(string) string = Scheme.format_embedded_scheme_value(self.value) result.append(string) return ' '.join(result)
def override_format_pieces(self) -> typing.Tuple[str, ...]: r""" Gets LilyPond grob override \override format pieces. .. container:: example >>> override = abjad.LilyPondGrobOverride( ... lilypond_type='Staff', ... grob_name='TextSpanner', ... once=True, ... property_path=( ... 'bound-details', ... 'left', ... 'text', ... ), ... value=abjad.Markup(r'\bold { over pressure }'), ... ) >>> for line in override.override_format_pieces: ... line ... '\\once \\override Staff.TextSpanner.bound-details.left.text = \\markup {' ' \\bold' ' {' ' over' ' pressure' ' }' ' }' """ result = [] if self.once: result.append(r'\once') result.append(r'\override') result.append(self._override_property_path_string()) result.append('=') value_pieces = Scheme.format_embedded_scheme_value(self.value) value_pieces = value_pieces.split('\n') result.append(value_pieces[0]) result[:] = [' '.join(result)] result.extend(value_pieces[1:]) return tuple(result)
def format_pieces(self) -> typing.Tuple[str, ...]: r""" Gets LilyPond context setting \set or \unset format pieces. """ result = [] if not self.is_unset: result.append(r'\set') else: result.append(r'\unset') if self.lilypond_type is not None: string = f'{self.lilypond_type}.{self.context_property}' result.append(string) else: result.append(self.context_property) result.append('=') value_pieces = Scheme.format_embedded_scheme_value(self.value) value_pieces = value_pieces.split('\n') result.append(value_pieces[0]) result[:] = [' '.join(result)] result.extend(value_pieces[1:]) return tuple(result)
def override_format_pieces(self): r'''Gets LilyPond grob override \override format pieces. >>> override = abjad.LilyPondGrobOverride( ... lilypond_type='Staff', ... grob_name='TextSpanner', ... once=True, ... property_path=( ... 'bound-details', ... 'left', ... 'text', ... ), ... value=abjad.Markup(r'\bold { over pressure }'), ... ) >>> for line in override.override_format_pieces: ... line ... '\\once \\override Staff.TextSpanner.bound-details.left.text = \\markup {' ' \\bold' ' {' ' over' ' pressure' ' }' ' }' Returns tuple of strings. ''' result = [] if self.once: result.append(r'\once') result.append(r'\override') result.append(self._override_property_path_string) result.append('=') value_pieces = Scheme.format_embedded_scheme_value(self.value) value_pieces = value_pieces.split('\n') result.append(value_pieces[0]) result[:] = [' '.join(result)] result.extend(value_pieces[1:]) return tuple(result)
def tweak_string(self, directed=True, grob=False) -> str: r""" Gets LilyPond grob override \tweak string. .. container:: example >>> override = abjad.LilyPondGrobOverride( ... grob_name='Glissando', ... property_path='style', ... value=abjad.SchemeSymbol('zigzag'), ... ) >>> override.tweak_string() "- \\tweak style #'zigzag" .. container:: example >>> override = abjad.LilyPondGrobOverride( ... grob_name='RehearsalMark', ... property_path='color', ... value='red', ... ) >>> override.tweak_string(directed=False) '\\tweak color #red' """ if directed: result = [r'- \tweak'] else: result = [r'\tweak'] if grob: property_path = (self.grob_name,) + self.property_path else: property_path = self.property_path string = '.'.join(property_path) result.append(string) string = Scheme.format_embedded_scheme_value(self.value) result.append(string) return ' '.join(result)