cknadler / marktab-c

Concise, machine readable guitar tabs
MIT License
36 stars 7 forks source link

Allow for stored riffs and chord progressions #13

Closed cknadler closed 11 years ago

cknadler commented 12 years ago

Marktab should allow for stored progressions / riffs. For example:

OpenG: (6:3 5:2 4:0 3:0 2:2 1:2)
BridgeRiff: [1:2 / 1:5 b 1:7 1:7 \ 1:2 r OpenG OpenG r]

(1:5 2:5) BridgeRiff 1:5

They should operate much like chords currently do. This means that they will work with the xTimes modifier. So BridgeRiff x3 will ouput the bridge riff three times.

Also, the [ ] syntax gives the added benefit of being able to enclose any riff / progression inline and multiply it. For example:

OpenG: (6:3 5:2 4:0 3:0 2:2 1:2)
OpenC: (5:3 4:2 3:0 2:1 1:0)
OpenEm: (6:0 5:2 4:2 3:0 2:0 1:0)
BridgeRiff: [5:3 4:0 4:2 3:0 2:0]

OpenEm [OpenG BridgeRiff] x4 OpenG OpenC
russplaysguitar commented 12 years ago

Nice, yeah that definitely makes more sense.

cknadler commented 11 years ago

This is in the grammar now and the syntax is ironed out. Closing.