.. _moduleRomanText.base:

music21.romanText.base
======================

.. WARNING: DO NOT EDIT THIS FILE: AUTOMATICALLY GENERATED.  Edit the .py file directly

.. module:: music21.romanText.base

Objects for processing roman numeral analysis text files, as defined and demonstrated by Dmitri Tymoczko. 


RTAnalyticKey
-------------

Inherits from: :class:`~music21.romanText.base.RTKeyTypeAtom`, :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTAnalyticKey(src=, container=None)


    An RTAnalyticKey(RTKeyTypeAtom) only defines a change in the key being analyzed.  It does not in itself create a :class:~'music21.key.Key' object 

    >>> from music21 import *
    >>> gminor = romanText.RTAnalyticKey('g:')
    >>> gminor
    <RTAnalyticKey 'g:'> 
    >>> gminor.getKey()
    <music21.key.Key of g minor> 

    
    >>> bminor = romanText.RTAnalyticKey('bb:')
    >>> bminor
    <RTAnalyticKey 'bb:'> 
    >>> bminor.getKey()
    <music21.key.Key of b- minor> 

    

    **RTAnalyticKey** **attributes**

        Attributes without Documentation: `footerStrip`

        Attributes inherited from :class:`~music21.romanText.base.RTAtom`: :attr:`~music21.romanText.base.RTAtom.container`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTAnalyticKey** **methods**

        Methods inherited from :class:`~music21.romanText.base.RTKeyTypeAtom`: :meth:`~music21.romanText.base.RTKeyTypeAtom.getKey`, :meth:`~music21.romanText.base.RTKeyTypeAtom.getKeySignature`

        Methods inherited from :class:`~music21.romanText.base.RTAtom`: :meth:`~music21.romanText.base.RTAtom.isAtom`

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAnalyst`, :meth:`~music21.romanText.base.RTToken.isComposer`, :meth:`~music21.romanText.base.RTToken.isForm`, :meth:`~music21.romanText.base.RTToken.isKeySignature`, :meth:`~music21.romanText.base.RTToken.isMeasure`, :meth:`~music21.romanText.base.RTToken.isMovement`, :meth:`~music21.romanText.base.RTToken.isNote`, :meth:`~music21.romanText.base.RTToken.isPedal`, :meth:`~music21.romanText.base.RTToken.isPiece`, :meth:`~music21.romanText.base.RTToken.isProofreader`, :meth:`~music21.romanText.base.RTToken.isTimeSignature`, :meth:`~music21.romanText.base.RTToken.isTitle`, :meth:`~music21.romanText.base.RTToken.isWork`


RTAtom
------

Inherits from: :class:`~music21.romanText.base.RTToken`

.. class:: RTAtom(src=, container=None)

    In roman text, within each measure are definitions of chords, phrases boundaries, open/close parenthesis, and beat indicators. These will be called Atoms, as they are data that is not tagged. Store a reference to the container (a RTMeasure) in each atom. 

    

    >>> from music21 import *

    **RTAtom** **attributes**

        Attributes without Documentation: `container`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTAtom** **methods**

        .. method:: isAtom()

            No documentation. 

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAnalyst`, :meth:`~music21.romanText.base.RTToken.isComposer`, :meth:`~music21.romanText.base.RTToken.isForm`, :meth:`~music21.romanText.base.RTToken.isKeySignature`, :meth:`~music21.romanText.base.RTToken.isMeasure`, :meth:`~music21.romanText.base.RTToken.isMovement`, :meth:`~music21.romanText.base.RTToken.isNote`, :meth:`~music21.romanText.base.RTToken.isPedal`, :meth:`~music21.romanText.base.RTToken.isPiece`, :meth:`~music21.romanText.base.RTToken.isProofreader`, :meth:`~music21.romanText.base.RTToken.isTimeSignature`, :meth:`~music21.romanText.base.RTToken.isTitle`, :meth:`~music21.romanText.base.RTToken.isWork`


RTBeat
------

Inherits from: :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTBeat(src=, container=None)


    

    >>> from music21 import *

    **RTBeat** **attributes**

        Attributes inherited from :class:`~music21.romanText.base.RTAtom`: :attr:`~music21.romanText.base.RTAtom.container`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTBeat** **methods**

        .. method:: getOffset(timeSignature)

            Given a time signature, return the offset position specified by this beat. 

            >>> from music21 import *
            >>> rtb = romanText.RTBeat('b1.5')
            >>> rtb.getOffset(meter.TimeSignature('3/4'))
            0.5 
            >>> rtb.getOffset(meter.TimeSignature('6/8'))
            0.75 
            >>> rtb.getOffset(meter.TimeSignature('2/2'))
            1.0 
            >>> rtb = romanText.RTBeat('b2')
            >>> rtb.getOffset(meter.TimeSignature('3/4'))
            1.0 
            >>> rtb.getOffset(meter.TimeSignature('6/8'))
            1.5 
            >>> rtb = romanText.RTBeat('b1.66')
            >>> rtb.getOffset(meter.TimeSignature('6/8'))
            1.0 
            >>> rtc = romanText.RTBeat('b1.66.5')
            >>> rtc.getOffset(meter.TimeSignature('6/8'))
            1.25 

            

            

        Methods inherited from :class:`~music21.romanText.base.RTAtom`: :meth:`~music21.romanText.base.RTAtom.isAtom`

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAnalyst`, :meth:`~music21.romanText.base.RTToken.isComposer`, :meth:`~music21.romanText.base.RTToken.isForm`, :meth:`~music21.romanText.base.RTToken.isKeySignature`, :meth:`~music21.romanText.base.RTToken.isMeasure`, :meth:`~music21.romanText.base.RTToken.isMovement`, :meth:`~music21.romanText.base.RTToken.isNote`, :meth:`~music21.romanText.base.RTToken.isPedal`, :meth:`~music21.romanText.base.RTToken.isPiece`, :meth:`~music21.romanText.base.RTToken.isProofreader`, :meth:`~music21.romanText.base.RTToken.isTimeSignature`, :meth:`~music21.romanText.base.RTToken.isTitle`, :meth:`~music21.romanText.base.RTToken.isWork`


RTChord
-------

Inherits from: :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTChord(src=, container=None)


    

    >>> from music21 import *

    **RTChord** **attributes**

        Attributes without Documentation: `quarterLength`, `offset`

        Attributes inherited from :class:`~music21.romanText.base.RTAtom`: :attr:`~music21.romanText.base.RTAtom.container`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTChord** **methods**

        Methods inherited from :class:`~music21.romanText.base.RTAtom`: :meth:`~music21.romanText.base.RTAtom.isAtom`

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAnalyst`, :meth:`~music21.romanText.base.RTToken.isComposer`, :meth:`~music21.romanText.base.RTToken.isForm`, :meth:`~music21.romanText.base.RTToken.isKeySignature`, :meth:`~music21.romanText.base.RTToken.isMeasure`, :meth:`~music21.romanText.base.RTToken.isMovement`, :meth:`~music21.romanText.base.RTToken.isNote`, :meth:`~music21.romanText.base.RTToken.isPedal`, :meth:`~music21.romanText.base.RTToken.isPiece`, :meth:`~music21.romanText.base.RTToken.isProofreader`, :meth:`~music21.romanText.base.RTToken.isTimeSignature`, :meth:`~music21.romanText.base.RTToken.isTitle`, :meth:`~music21.romanText.base.RTToken.isWork`


RTCloseParens
-------------

Inherits from: :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTCloseParens(src=), container=None)


    

    >>> from music21 import *


RTEllisonStart
--------------

Inherits from: :class:`~music21.romanText.base.RTPhraseMarker`, :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTEllisonStart(src=|*, container=None)


    

    >>> from music21 import *
    >>> phrase = romanText.RTEllisonStart('|*')
    >>> phrase
    <RTEllisonStart '|*'> 


RTEllisonStop
-------------

Inherits from: :class:`~music21.romanText.base.RTPhraseMarker`, :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTEllisonStop(src=|*, container=None)


    

    >>> from music21 import *
    >>> phrase = romanText.RTEllisonStop('*|')
    >>> phrase
    <RTEllisonStop '*|'> 


RTFile
------



.. class:: RTFile()

    Roman Text File access 

    **RTFile** **methods**

        .. method:: close()

            No documentation. 

        .. method:: open(filename)

            Open a file for reading 

        .. method:: openFileLike(fileLike)

            Assign a file-like object, such as those provided by StringIO, as an open file object. 

            >>> fileLikeOpen = StringIO.StringIO()

        .. method:: read()

            Read a file. Note that this calls readstring, which processes all tokens. If `number` is given, a work number will be extracted if possible. 

        .. method:: readstr(strSrc)

            Read a string and process all Tokens. Returns a ABCHandler instance. 


RTHandler
---------



.. class:: RTHandler()


    **RTHandler** **properties**

        .. attribute:: tokens

            Get or set tokens for this Handler 

    **RTHandler** **methods**

        .. method:: definesMovement()

            If this handler has 1 or more movement 

            >>> from music21 import *
            >>> rth = romanText.RTHandler()
            >>> rth.process('Movement: 1 \n \n m1')
            >>> rth.definesMovements()
            False 
            >>> rth.definesMovement()
            True 

        .. method:: definesMovements(countRequired=2)

            Return True if more than one movement is defined in a RT file. 

            >>> from music21 import *
            >>> rth = romanText.RTHandler()
            >>> rth.process('Movement: 1 \n Movement: 2 \n \n m1')
            >>> rth.definesMovements()
            True 
            >>> rth.process('Movement: 1 \n m1')
            >>> rth.definesMovements()
            False 

        .. method:: process(src)

            Given an entire specification as a single source string, strSrc. This is usually provided in a file. 

        .. method:: splitByMovement(duplicateHeader=True)

            If we have movements defined, return a list of RTHandler objects, representing header information and each movement, in order. 

            >>> from music21 import *
            >>> rth = romanText.RTHandler()
            >>> rth.process('Title: Test \n Movement: 1 \n m1 \n Movement: 2 \n m1')
            >>> post = rth.splitByMovement(False)
            >>> len(post)
            3 
            >>> len(post[0])
            1 
            >>> post[0].__class__
            <class 'music21.romanText.base.RTHandler'> 
            >>> len(post[1]), len(post[2])
            (2, 2) 
            >>> post = rth.splitByMovement(duplicateHeader=True)
            >>> len(post)
            2 
            >>> len(post[0]), len(post[1])
            (3, 3) 

        .. method:: tokenize(src)

            Walk the RT string, creating RT objects along the way. 


RTKey
-----

Inherits from: :class:`~music21.romanText.base.RTKeyTypeAtom`, :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTKey(src=, container=None)


    

    >>> from music21 import *

    **RTKey** **attributes**

        Attributes without Documentation: `footerStrip`

        Attributes inherited from :class:`~music21.romanText.base.RTAtom`: :attr:`~music21.romanText.base.RTAtom.container`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTKey** **methods**

        Methods inherited from :class:`~music21.romanText.base.RTKeyTypeAtom`: :meth:`~music21.romanText.base.RTKeyTypeAtom.getKey`, :meth:`~music21.romanText.base.RTKeyTypeAtom.getKeySignature`

        Methods inherited from :class:`~music21.romanText.base.RTAtom`: :meth:`~music21.romanText.base.RTAtom.isAtom`

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAnalyst`, :meth:`~music21.romanText.base.RTToken.isComposer`, :meth:`~music21.romanText.base.RTToken.isForm`, :meth:`~music21.romanText.base.RTToken.isKeySignature`, :meth:`~music21.romanText.base.RTToken.isMeasure`, :meth:`~music21.romanText.base.RTToken.isMovement`, :meth:`~music21.romanText.base.RTToken.isNote`, :meth:`~music21.romanText.base.RTToken.isPedal`, :meth:`~music21.romanText.base.RTToken.isPiece`, :meth:`~music21.romanText.base.RTToken.isProofreader`, :meth:`~music21.romanText.base.RTToken.isTimeSignature`, :meth:`~music21.romanText.base.RTToken.isTitle`, :meth:`~music21.romanText.base.RTToken.isWork`


RTKeySignature
--------------

Inherits from: :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTKeySignature(src=, container=None)


    An RTKeySignature(RTAtom) only defines a change in the KeySignature.  It does not in itself create a :class:~'music21.key.Key' object, nor does it change the analysis taking place. The number after KS defines the number of sharps (negative for flats) 

    

    >>> from music21 import *
    >>> gminor = romanText.RTKeySignature('KS-2')
    >>> gminor
    <RTKeySignature 'KS-2'> 
    >>> gminor.getKeySignature()
    <music21.key.KeySignature of 2 flats> 
    >>> Amajor = romanText.RTKeySignature('KS3')
    >>> Amajor.getKeySignature()
    <music21.key.KeySignature of 3 sharps> 

    

    **RTKeySignature** **attributes**

        Attributes inherited from :class:`~music21.romanText.base.RTAtom`: :attr:`~music21.romanText.base.RTAtom.container`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTKeySignature** **methods**

        .. method:: getKeySignature()

            No documentation. 

        Methods inherited from :class:`~music21.romanText.base.RTAtom`: :meth:`~music21.romanText.base.RTAtom.isAtom`

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAnalyst`, :meth:`~music21.romanText.base.RTToken.isComposer`, :meth:`~music21.romanText.base.RTToken.isForm`, :meth:`~music21.romanText.base.RTToken.isKeySignature`, :meth:`~music21.romanText.base.RTToken.isMeasure`, :meth:`~music21.romanText.base.RTToken.isMovement`, :meth:`~music21.romanText.base.RTToken.isNote`, :meth:`~music21.romanText.base.RTToken.isPedal`, :meth:`~music21.romanText.base.RTToken.isPiece`, :meth:`~music21.romanText.base.RTToken.isProofreader`, :meth:`~music21.romanText.base.RTToken.isTimeSignature`, :meth:`~music21.romanText.base.RTToken.isTitle`, :meth:`~music21.romanText.base.RTToken.isWork`


RTKeyTypeAtom
-------------

Inherits from: :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTKeyTypeAtom(src=, container=None)

    RTKeyTypeAtoms contain utility functions for all Key-type tokens i.e., RTKey, RTAnalyticKey. (no longer KeySignature) 

    

    >>> from music21 import *

    **RTKeyTypeAtom** **attributes**

        Attributes inherited from :class:`~music21.romanText.base.RTAtom`: :attr:`~music21.romanText.base.RTAtom.container`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTKeyTypeAtom** **methods**

        .. method:: getKey()

            This returns a Key, not a KeySignature object 

        .. method:: getKeySignature()

            Get a KeySignature object. 

        Methods inherited from :class:`~music21.romanText.base.RTAtom`: :meth:`~music21.romanText.base.RTAtom.isAtom`

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAnalyst`, :meth:`~music21.romanText.base.RTToken.isComposer`, :meth:`~music21.romanText.base.RTToken.isForm`, :meth:`~music21.romanText.base.RTToken.isKeySignature`, :meth:`~music21.romanText.base.RTToken.isMeasure`, :meth:`~music21.romanText.base.RTToken.isMovement`, :meth:`~music21.romanText.base.RTToken.isNote`, :meth:`~music21.romanText.base.RTToken.isPedal`, :meth:`~music21.romanText.base.RTToken.isPiece`, :meth:`~music21.romanText.base.RTToken.isProofreader`, :meth:`~music21.romanText.base.RTToken.isTimeSignature`, :meth:`~music21.romanText.base.RTToken.isTitle`, :meth:`~music21.romanText.base.RTToken.isWork`


RTMeasure
---------

Inherits from: :class:`~music21.romanText.base.RTToken`

.. class:: RTMeasure(src=)

    In roman text, measures are given one per line and always start with 'm'. Measure ranges can be used and copied, such as m3-4=m1-2 Variants are not part of the tag, but are read into an attribute: m1var1 ii 

    

    >>> from music21 import *
    >>> rtm = RTMeasure('m15 V6 b1.5 V6/5 b2 I b3 viio6')
    >>> rtm.data
    'V6 b1.5 V6/5 b2 I b3 viio6' 
    >>> rtm.number
    [15] 

    **RTMeasure** **attributes**

        Attributes without Documentation: `isCopyDefinition`, `repeatLetter`, `number`, `atoms`, `tag`, `variantLetter`, `variantNumber`, `data`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTMeasure** **methods**

        .. method:: getCopyTarget()

            If this measure defines a copy operation, return two lists defining the measures to copy; the second list has the repeat data. 

            >>> from music21 import *
            >>> rtm = romanText.RTMeasure('m35-36 = m29-30')
            >>> rtm.number
            [35, 36] 
            >>> rtm.getCopyTarget()
            ([29, 30], ['', '']) 
            >>> rtm = romanText.RTMeasure('m4 = m1')
            >>> rtm.number
            [4] 
            >>> rtm.getCopyTarget()
            ([1], ['']) 

        .. method:: isMeasure()

            No documentation. 

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAnalyst`, :meth:`~music21.romanText.base.RTToken.isAtom`, :meth:`~music21.romanText.base.RTToken.isComposer`, :meth:`~music21.romanText.base.RTToken.isForm`, :meth:`~music21.romanText.base.RTToken.isKeySignature`, :meth:`~music21.romanText.base.RTToken.isMovement`, :meth:`~music21.romanText.base.RTToken.isNote`, :meth:`~music21.romanText.base.RTToken.isPedal`, :meth:`~music21.romanText.base.RTToken.isPiece`, :meth:`~music21.romanText.base.RTToken.isProofreader`, :meth:`~music21.romanText.base.RTToken.isTimeSignature`, :meth:`~music21.romanText.base.RTToken.isTitle`, :meth:`~music21.romanText.base.RTToken.isWork`


RTOpenParens
------------

Inherits from: :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTOpenParens(src=(, container=None)


    

    >>> from music21 import *


RTOptionalKeyClose
------------------

Inherits from: :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTOptionalKeyClose(src=, container=None)


    Marks the end of an optional Key area which does not affect the roman numeral analysis.  (For instance, it is possible to analyze in Bb major, while remaining in g minor) 

    >>> from music21 import *
    >>> possibleKey = romanText.RTOptionalKeyClose('?)Bb:')
    >>> possibleKey
    <RTOptionalKeyClose '?)Bb:'> 
    >>> possibleKey.getKey()
    <music21.key.Key of B- major> 

    **RTOptionalKeyClose** **attributes**

        Attributes inherited from :class:`~music21.romanText.base.RTAtom`: :attr:`~music21.romanText.base.RTAtom.container`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTOptionalKeyClose** **methods**

        .. method:: getKey()

            No documentation. 

        Methods inherited from :class:`~music21.romanText.base.RTAtom`: :meth:`~music21.romanText.base.RTAtom.isAtom`

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAnalyst`, :meth:`~music21.romanText.base.RTToken.isComposer`, :meth:`~music21.romanText.base.RTToken.isForm`, :meth:`~music21.romanText.base.RTToken.isKeySignature`, :meth:`~music21.romanText.base.RTToken.isMeasure`, :meth:`~music21.romanText.base.RTToken.isMovement`, :meth:`~music21.romanText.base.RTToken.isNote`, :meth:`~music21.romanText.base.RTToken.isPedal`, :meth:`~music21.romanText.base.RTToken.isPiece`, :meth:`~music21.romanText.base.RTToken.isProofreader`, :meth:`~music21.romanText.base.RTToken.isTimeSignature`, :meth:`~music21.romanText.base.RTToken.isTitle`, :meth:`~music21.romanText.base.RTToken.isWork`


RTOptionalKeyOpen
-----------------

Inherits from: :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTOptionalKeyOpen(src=, container=None)


    Marks the beginning of an optional Key area which does not affect the roman numeral analysis.  (For instance, it is possible to analyze in Bb major, while remaining in g minor) 

    >>> from music21 import *
    >>> possibleKey = romanText.RTOptionalKeyOpen('?(Bb:')
    >>> possibleKey
    <RTOptionalKeyOpen '?(Bb:'> 
    >>> possibleKey.getKey()
    <music21.key.Key of B- major> 

    **RTOptionalKeyOpen** **attributes**

        Attributes inherited from :class:`~music21.romanText.base.RTAtom`: :attr:`~music21.romanText.base.RTAtom.container`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTOptionalKeyOpen** **methods**

        .. method:: getKey()

            No documentation. 

        Methods inherited from :class:`~music21.romanText.base.RTAtom`: :meth:`~music21.romanText.base.RTAtom.isAtom`

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAnalyst`, :meth:`~music21.romanText.base.RTToken.isComposer`, :meth:`~music21.romanText.base.RTToken.isForm`, :meth:`~music21.romanText.base.RTToken.isKeySignature`, :meth:`~music21.romanText.base.RTToken.isMeasure`, :meth:`~music21.romanText.base.RTToken.isMovement`, :meth:`~music21.romanText.base.RTToken.isNote`, :meth:`~music21.romanText.base.RTToken.isPedal`, :meth:`~music21.romanText.base.RTToken.isPiece`, :meth:`~music21.romanText.base.RTToken.isProofreader`, :meth:`~music21.romanText.base.RTToken.isTimeSignature`, :meth:`~music21.romanText.base.RTToken.isTitle`, :meth:`~music21.romanText.base.RTToken.isWork`


RTPhraseBoundary
----------------

Inherits from: :class:`~music21.romanText.base.RTPhraseMarker`, :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTPhraseBoundary(src=||, container=None)


    

    >>> from music21 import *
    >>> phrase = romanText.RTPhraseBoundary('||')
    >>> phrase
    <RTPhraseBoundary '||'> 


RTPhraseMarker
--------------

Inherits from: :class:`~music21.romanText.base.RTAtom`, :class:`~music21.romanText.base.RTToken`

.. class:: RTPhraseMarker(src=, container=None)



RTTagged
--------

Inherits from: :class:`~music21.romanText.base.RTToken`

.. class:: RTTagged(src=)

    In roman text, some data elements are tagged: there is tag, followed by some data. In other elements, there is just data. All tagged tokens are subclasses of this class. Examples are Title: 

    **RTTagged** **attributes**

        Attributes without Documentation: `tag`, `data`

        Attributes inherited from :class:`~music21.romanText.base.RTToken`: :attr:`~music21.romanText.base.RTToken.src`

    **RTTagged** **methods**

        .. method:: isAnalyst()

            No documentation. 

        .. method:: isComposer()

            

            >>> from music21 import *
            >>> rth = romanText.RTTagged('Composer: Claudio Monteverdi')
            >>> rth.isComposer()
            True 
            >>> rth.isTitle()
            False 
            >>> rth.isWork()
            False 
            >>> rth.data
            'Claudio Monteverdi' 

        .. method:: isForm()

            No documentation. 

        .. method:: isKeySignature()

            KeySignatures are a type of tagged data found outside of measures, such as"Key Signature: Bb," meaning one flat. Note: this is not the same as a key definition found inside of a Measure: these are represented by RTKey objects, defined below, and are not RTTagged objects, but RTAtom subclasses. 

        .. method:: isMovement()

            No documentation. 

        .. method:: isNote()

            No documentation. 

        .. method:: isPedal()

            No documentation. 

        .. method:: isPiece()

            No documentation. 

        .. method:: isProofreader()

            No documentation. 

        .. method:: isTimeSignature()

            TimeSignature header data can be found intermingled with measures. 

        .. method:: isTitle()

            No documentation. 

        .. method:: isWork()

            The "work" is not defined as a header tag, but is used to represent all tags, often placed after Composer, for the work or pieces designation. 

            >>> from music21 import *
            >>> rth = romanText.RTTagged('Madrigal: 4.12')
            >>> rth.isTitle()
            False 
            >>> rth.isWork()
            True 
            >>> rth.tag
            'Madrigal' 
            >>> rth.data
            '4.12' 

            

        Methods inherited from :class:`~music21.romanText.base.RTToken`: :meth:`~music21.romanText.base.RTToken.isAtom`, :meth:`~music21.romanText.base.RTToken.isMeasure`


RTToken
-------



.. class:: RTToken(src=)

    Stores each linear, logical entity of a RomanText. A multi-pass parsing procedure is likely necessary, as RomanText permits variety of groupings and markings. 

    

    **RTToken** **attributes**

        Attributes without Documentation: `src`

    **RTToken** **methods**

        .. method:: isAnalyst()

            No documentation. 

        .. method:: isAtom()

            Atoms are any untagged data; generally only found inside of a measure definition. 

        .. method:: isComposer()

            No documentation. 

        .. method:: isForm()

            Occasionally found in header. 

        .. method:: isKeySignature()

            No documentation. 

        .. method:: isMeasure()

            No documentation. 

        .. method:: isMovement()

            No documentation. 

        .. method:: isNote()

            No documentation. 

        .. method:: isPedal()

            No documentation. 

        .. method:: isPiece()

            No documentation. 

        .. method:: isProofreader()

            No documentation. 

        .. method:: isTimeSignature()

            No documentation. 

        .. method:: isTitle()

            No documentation. 

        .. method:: isWork()

            No documentation. 


