Example #1
0
 def test_timelist(self):
     score = parse_to_score_object(
         r"\staff{c2    r4 r8 a8}"
         r"\staff{c4 c2    r8 g8}")
     self.assertEqual(score.get_timelist(), [
         [True, Rat(1, 4)],
         [True, Rat(1, 2)],
         [False, Rat(1, 8)],
         [True, Rat(1, 8)],
     ])
     score = parse_to_score_object(
         r"\staff{c4   d8 }"
         r"\staff{r8 e    }")
     self.assertEqual(score.get_timelist(), [
         [True, Rat(1, 8)],
         [True, Rat(1, 8)],
         [True, Rat(1, 8)],
     ])
     score = parse_to_score_object(
         r"\staff{c4    r8 r8 d8 }"
         r"\staff{r8 e8 r8 r4   }")
     self.assertEqual(score.get_timelist(), [
         [True, Rat(1, 8)],
         [True, Rat(1, 8)],
         [False, Rat(1, 4)],
         [True, Rat(1, 8)],
     ])
Example #2
0
 def test_transpose(self):
     s = r"\staff\transpose d'{ c d }"
     score = parse_to_score_object(s)
     self.assertEqual(score.voice11.m_tdict[Rat(0, 1)]['elem'][0],
                      Note.new_from_string("d4"))
     self.assertEqual(score.voice11.m_tdict[Rat(1, 4)]['elem'][0],
                      Note.new_from_string("e4"))
     s = r"\staff\transpose d''{ c d }"
     score = parse_to_score_object(s)
     self.assertEqual(score.voice11.m_tdict[Rat(0, 1)]['elem'][0],
                      Note.new_from_string("d'4"))
     self.assertEqual(score.voice11.m_tdict[Rat(1, 4)]['elem'][0],
                      Note.new_from_string("e'4"))
Example #3
0
 def test_transpose(self):
     s = r"\staff\transpose d'{ c d }"
     score = parse_to_score_object(s)
     self.assertEquals(score.voice11.m_tdict[Rat(0, 1)]['elem'][0],
                       Note.new_from_string("d4"))
     self.assertEquals(score.voice11.m_tdict[Rat(1, 4)]['elem'][0],
                       Note.new_from_string("e4"))
     s = r"\staff\transpose d''{ c d }"
     score = parse_to_score_object(s)
     self.assertEquals(score.voice11.m_tdict[Rat(0, 1)]['elem'][0],
                       Note.new_from_string("d'4"))
     self.assertEquals(score.voice11.m_tdict[Rat(1, 4)]['elem'][0],
                       Note.new_from_string("e'4"))
Example #4
0
 def test_transpose_relative(self):
     s = r"\staff\transpose d'\relative c'{ c d }"
     score = parse_to_score_object(s)
     self.assertEquals(score.voice11.m_tdict[Rat(0, 1)]['elem'][0],
                       Note.new_from_string("d'4"))
     self.assertEquals(score.voice11.m_tdict[Rat(1, 4)]['elem'][0],
                       Note.new_from_string("e'4"))
     s = r"\staff\transpose d''\relative c'{ c d e}"
     score = parse_to_score_object(s)
     self.assertEquals(score.voice11.m_tdict[Rat(0, 1)]['elem'][0],
                       Note.new_from_string("d''4"))
     self.assertEquals(score.voice11.m_tdict[Rat(1, 4)]['elem'][0],
                       Note.new_from_string("e''4"))
     self.assertEquals(score.voice11.m_tdict[Rat(1, 2)]['elem'][0],
                       Note.new_from_string("fis''4"))
Example #5
0
 def test_transpose_relative(self):
     s = r"\staff\transpose d'\relative c'{ c d }"
     score = parse_to_score_object(s)
     self.assertEqual(score.voice11.m_tdict[Rat(0, 1)]['elem'][0],
                      Note.new_from_string("d'4"))
     self.assertEqual(score.voice11.m_tdict[Rat(1, 4)]['elem'][0],
                      Note.new_from_string("e'4"))
     s = r"\staff\transpose d''\relative c'{ c d e}"
     score = parse_to_score_object(s)
     self.assertEqual(score.voice11.m_tdict[Rat(0, 1)]['elem'][0],
                      Note.new_from_string("d''4"))
     self.assertEqual(score.voice11.m_tdict[Rat(1, 4)]['elem'][0],
                      Note.new_from_string("e''4"))
     self.assertEqual(score.voice11.m_tdict[Rat(1, 2)]['elem'][0],
                      Note.new_from_string("fis''4"))
Example #6
0
 def display(self, music, fontsize, last_timepos=None):
     """Exception handling should be done by the caller."""
     score = parser.parse_to_score_object(music)
     sc = engravers.ScoreContext(score, last_timepos)
     self.m_engravers = sc.m_contexts
     self.m_fontsize = fontsize
     self._display()
Example #7
0
 def display(self, music, fontsize, last_timepos=None):
     """Exception handling should be done by the caller."""
     score = parser.parse_to_score_object(music)
     sc = engravers.ScoreContext(score, last_timepos)
     self.m_engravers = sc.m_contexts
     self.m_fontsize = fontsize
     self._display()
Example #8
0
 def test_relative(self):
     s = r"\staff\relative d'{ d f }"
     score = parse_to_score_object(s)
     self.assertEquals(score.voice11.m_tdict[Rat(0, 1)]['elem'][0],
                       Note.new_from_string("d'4"))
     self.assertEquals(score.voice11.m_tdict[Rat(1, 4)]['elem'][0],
                       Note.new_from_string("f'4"))
Example #9
0
 def test_relative(self):
     s = r"\staff\relative d'{ d f }"
     score = parse_to_score_object(s)
     self.assertEqual(score.voice11.m_tdict[Rat(0, 1)]['elem'][0],
                      Note.new_from_string("d'4"))
     self.assertEqual(score.voice11.m_tdict[Rat(1, 4)]['elem'][0],
                      Note.new_from_string("f'4"))
Example #10
0
 def test_partial_bar(self):
     s = r"\partial 4\staff\relative c'{ c d e }"
     score = parse_to_score_object(s)
Example #11
0
 def f(s, tempo=(60, 4)):
     s = parser.parse_to_score_object(r"\staff{ %s}" % s)
     return s.voice11.get_time_pitch_list(tempo)
Example #12
0
 def f(s, tempo=(60, 4)):
     s = parser.parse_to_score_object(r"\staff{ %s}" % s)
     return s.voice11.get_time_pitch_list(tempo)
Example #13
0
def f3(s):
    return parser.parse_to_score_object(s).get_timelist()
Example #14
0
 def test_skip(self):
     score = parse_to_score_object(r"\staff{ c s }")
     d = score.m_staffs[0].m_voices[0].m_tdict
     self.assertIsInstance(d[mpd.Rat(0, 1)]['elem'], Stem)
     self.assertIsInstance(d[mpd.Rat(1, 4)]['elem'][0], Skip)
Example #15
0
def music_to_tracklist(music, start=None, end=None):
    """
    return a list of tracks, where track[0] use only channel 0,
    track[1] only use channel 1 etc.
    """
    return score_to_tracks(parse_to_score_object(music), start, end)
Example #16
0
 def test_times(self):
     t = mpd.music_to_tracklist(r"\staff{ \times 2/3{c8 d e} }")
     self.assertEqual(
         t[0].str_repr(),
         "n48 d1/12 o48 n50 d1/12 o50 n52 d1/12 o52")
     parse_to_score_object(r"\staff{ \times 2/3{c8 d e} }")
Example #17
0
def f3(s):
    return parser.parse_to_score_object(s).get_timelist()
Example #18
0
 def test_times(self):
     t = mpd.music_to_tracklist(r"\staff{ \times 2/3{c8 d e} }")
     self.assertEquals(t[0].str_repr(),
                       "n48 d1/12 o48 n50 d1/12 o50 n52 d1/12 o52")
     score = parse_to_score_object(r"\staff{ \times 2/3{c8 d e} }")
Example #19
0
def music_to_track(music, start=None, end=None):
    tracklist = score_to_tracks(parse_to_score_object(music), start, end)
    track = tracklist[0]
    for x in range(1, len(tracklist)):
        track.merge_with(tracklist[x])
    return track
Example #20
0
def music_to_tracklist(music, start=None, end=None):
    """
    return a list of tracks, where track[0] use only channel 0,
    track[1] only use channel 1 etc.
    """
    return score_to_tracks(parse_to_score_object(music), start, end)
Example #21
0
def music_to_track(music, start=None, end=None):
    tracklist = score_to_tracks(parse_to_score_object(music), start, end)
    track = tracklist[0]
    for x in range(1, len(tracklist)):
        track.merge_with(tracklist[x])
    return track
Example #22
0
 def test_skip(self):
     score = parse_to_score_object(r"\staff{ c s }")
     d = score.m_staffs[0].m_voices[0].m_tdict
     self.assert_(isinstance(d[mpd.Rat(0, 1)]['elem'], Stem))
     self.assert_(isinstance(d[mpd.Rat(1, 4)]['elem'][0], Skip))
Example #23
0
 def test_partial_bar(self):
     parse_to_score_object(r"\partial 4\staff\relative c'{ c d e }")