Skip to content

Commit

Permalink
add fallthrough to sample score
Browse files Browse the repository at this point in the history
- Add fallthrough where Thwaite and Zap Ruder had them
  (Concentration Room and RHDE did not use fallthrough)
- Add fallthrough in a few places in musicseq
- Fix comparison failure when rendering pattern of all waits
  (e.g. axe_beat::tiestream in pino-a53.pently)
  • Loading branch information
pinobatch committed Mar 13, 2019
1 parent 80face9 commit 65fbb65
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 48 deletions.
74 changes: 40 additions & 34 deletions audio/musicseq.pently
Original file line number Diff line number Diff line change
Expand Up @@ -478,10 +478,11 @@ song Isometry
relative
e'''16 c# a e

pattern melmaj2 on pulse2 with isopiano
pattern melmin1 on pulse1 with isopiano
relative
e#'8. e# f#4. g#8 f#
e#8. e# d#8 w2
c#'8. c# d#4. e8 d#
c#8. c# b8 w2
fallthrough

pattern melmaj1 on pulse1 with isopiano
relative
Expand All @@ -492,11 +493,12 @@ song Isometry
relative
e'8. e f#4. g#8 f#
e8. e d#8 w2
fallthrough

pattern melmin1 on pulse1 with isopiano
pattern melmaj2 on pulse2 with isopiano
relative
c#'8. c# d#4. e8 d#
c#8. c# b8 w2
e#'8. e# f#4. g#8 f#
e#8. e# d#8 w2

pattern drum
lkick4 lsnare clhat lsnare
Expand Down Expand Up @@ -525,8 +527,8 @@ song Isometry

at 7
play tinkle1
play melmaj2
play melmaj1
# play melmaj2
# play melmaj1
play triosti

at 8:3
Expand Down Expand Up @@ -555,8 +557,8 @@ song Isometry

at 15
play tinkle1
play melmaj2
play melmaj1
# play melmaj2
# play melmaj1
play triosti

at 16:3
Expand Down Expand Up @@ -1082,9 +1084,6 @@ song arp_waltz
scale 4
tempo 180

pattern bassintro with toot0 on pulse1
absolute
f,4 a a c, a a
pattern bass1 with toot0 on pulse1
absolute
f,4 a a c, a a
Expand All @@ -1095,11 +1094,16 @@ song arp_waltz
absolute
c,4 bb bb
f, a a c, d, e,
fallthrough
pattern bassintro with toot0 on pulse1
absolute
f,4 a a c, a a

pattern melody with stringlead on pulse2
relative
EN-M ENP2
@stringlead EN-M ENP2
a'2:-M/2 bb4:-dim c2 d4:-m
# TODO: Add 'q' here when finishing that
# q means repeat last chord
c bb2:-M/1 w4 q c
d2:-m c4 bb2:-M/1 a4:-m
g bb2:-dim w2.
Expand All @@ -1109,9 +1113,9 @@ song arp_waltz
c2:-M/1 bb4:-M/1 a2:-49 g4:-M
f2.:-M/1 w4 r2

pattern interlude with argtwinkle on pulse2
relative
ENP2 f''2.:no3 ENP1 f:power
# interlude begins
@argtwinkle
ENP2 f'2.:no3 ENP1 f:power
ENP2 bb:no3 ENP1 f:M/2
ENP2 g:no3 ENP1 g:power
c:sus4 g:M/2
Expand All @@ -1133,7 +1137,6 @@ song arp_waltz

at 21
mark interlude
play interlude
play bass1

at 34
Expand All @@ -1160,10 +1163,11 @@ song allfeatures

at 2
stop pulse1
pattern drum
tkick8 clhat clhat tsnare clhat ohat tkick clhat clhat tsnare clhat tkick
pattern drumfill
tkick8 clhat tkick tsnare tsnare tsnare
fallthrough
pattern drum
tkick8 clhat clhat tsnare clhat ohat tkick clhat clhat tsnare clhat tkick
play drum
at 3:3
play drumfill
Expand Down Expand Up @@ -1203,19 +1207,20 @@ song Stairs
a b4 c8 d4 c8 a4.
b d d r
play lead1

at 5:2
pattern introg on pulse1 with latebanjo
g' r
play introg

at 8
pattern lead1end on pulse2 with banjo
b a g r
a
fallthrough
pattern introg on pulse1 with latebanjo
g r
play introg up 12

at 8:2
play lead1end
at 8:3
stop pulse1

at 9
segno
pattern bass on pulse1 with tubbass
Expand All @@ -1226,10 +1231,10 @@ song Stairs
play lead1
play bass

at 16
at 16:2
play lead1end
at 16:3
play introg down 24 with tubbass
play introg down 12 with tubbass

at 17
mark rolls
Expand All @@ -1246,7 +1251,7 @@ song Stairs
b4 d'8 a4 d'8 g4. r
play lead2end
at 24:3
play introg down 24 with tubbass
play introg down 12 with tubbass

at 25
dal segno
Expand All @@ -1270,6 +1275,9 @@ song attacktest
# signature that forces the correct beat length (dotted half).

at 1
pattern drumfill
snare4 ohat8 snare snare snare
fallthrough
pattern drums
kick4. clhat snare clhat4 kick8
clhat4. kick snare clhat
Expand All @@ -1295,8 +1303,6 @@ song attacktest
at 4
play atk down 2
at 4:4
pattern drumfill
snare4 ohat8 snare snare snare
play drumfill
at 5
da capo
Expand Down
27 changes: 14 additions & 13 deletions audio/pino-a53.pently
Original file line number Diff line number Diff line change
Expand Up @@ -481,13 +481,11 @@ song thwaite_0400
tempo 100
scale 8

pattern drum1
kick4. clhat2. clhat4 kick8

pattern drum2
snare4. clhat4 kick8
kick4. clhat snare4. clhat4 kick8
fallthrough
pattern drum1
kick4. clhat2. clhat4 kick8
kick4. clhat

pattern chords1 on pulse1 with xylo_short
relative
Expand Down Expand Up @@ -520,11 +518,11 @@ song thwaite_0400
at 1:3
play drum1

at 9:1
at 8:3
segno
play drum2

at 17:1
at 16:3
dal segno

# This is melodies from the third movement of Beethoven's
Expand Down Expand Up @@ -666,20 +664,23 @@ song tennis_win_game

pattern fanfare on pulse2 with fanfarehorn
relative
bb'8 bb eb4 r8 bb8 eb2
bb'8 bb
fallthrough

pattern fanfarebass on triangle with v02detached
pattern fanfarejoinin on pulse1 with fanfarehorn
relative
r4 eb'4 r8 bb8 eb2
eb''4 r8 bb8 eb2

pattern drum
clhat8 clhat snare4. clhat16 clhat snare2

play fanfare
play fanfarebass
play fanfarebass on pulse1 with fanfarehorn up 4
play drum

at 1
play fanfarejoinin on triangle with v02detached down 12
play fanfarejoinin down 8

at 2
fine

Expand All @@ -696,7 +697,7 @@ song axe_beat
kick8 ohat snare16 w1g clhat ohat8

# The tiestream keeps Pently from ending real-time-composed notes
# on a channel.
# on a channel, as the "stop" pattern is whole rests.
pattern tiestream on pulse2 with xylo_short
w1

Expand Down
7 changes: 6 additions & 1 deletion tools/pentlyas.py
Original file line number Diff line number Diff line change
Expand Up @@ -1452,8 +1452,11 @@ def render(self, scopes):
transpose_runs, cur_transpose = self.transpose_runs, self.transpose
last_slur = False

if cur_transpose is None: # "tiestream" with only waits
transpose_runs = []

# If the first run isn't in range, which may happen in a
# FALLTHROUGH, schedule a TRANSPOSE for the first note
# fallthrough, schedule a TRANSPOSE for the first note
transpose_pos = 1
if (transpose_runs
and (cur_transpose > transpose_runs[0][1]
Expand Down Expand Up @@ -2264,6 +2267,8 @@ def render_file(parser, segment='RODATA'):
# the group's last pattern's range is 2 octaves or less,
# find patterns that can be combined in a 2-octave overall group
# with the last pattern in the group
# TODO: Figure out what to do with tiestreams, when lastpat
# or pat is all rests/waits
for last, first in fallthrough_group.items():
if last == first: continue
lastpat = patterns[last]
Expand Down

0 comments on commit 65fbb65

Please sign in to comment.