cknadler / marktab-c

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

Standard library of chords (at least major & minor) #2

Open russplaysguitar opened 11 years ago

russplaysguitar commented 11 years ago

To keep things consistent between different people's marktabs.

cknadler commented 11 years ago

I was just thinking about this. Will definitely add at least a small set of chords for starters.

cknadler commented 11 years ago

For alternate tunings, it would be cool if the standard library could transpose the chords for you.

cknadler commented 11 years ago

This also might be complicated for 7+ string guitars. It wouldn't be a bad idea to simply have a library for 6 string standard tuning though. I feel like most guitarists would fall into that category.

russplaysguitar commented 11 years ago

I guess it also becomes problematic when using alternate tunings...

But overall, I think that Marktab should assume 6 strings + standard tuning unless otherwise specified (since that's how tabs work anyways). Sorta like how rails emphasizes convention over configuration.

If Tuning: ... is specified, then the standard chord library wouldn't be included. I'm not sure what the syntax is for specifying a 7 string guitar in Marktab, but that would also cause the standard chord library to not be included.

cknadler commented 11 years ago

I was thinking Tuning: B E A D G b e and Strings: 7 in the config header. Marktab will assume 6 strings and standard otherwise.

I also totally agree with the convention over configuration paradigm. The standard library of 6 string chords should be available by default unless you change tuning or strings number.

russplaysguitar commented 11 years ago

Perhaps another enhancement would be the ability to include additional chord libraries, which would be useful for someone who always uses a specific non-standard tuning or has a 7-string guitar. Maybe this sort of syntax:

using: MyFancyChords.mt

I guess any of these words would also work: import, require, include, see, chords, reference...

cknadler commented 11 years ago

Yes. I'm going to pull this into its own issue.

cknadler commented 11 years ago

How would the user find out what the standard library of chords is? I was thinking of having a command line argument marktab --standard-chords to list the standard chords.

russplaysguitar commented 11 years ago

RTFM? I see no problem with command line arguments too, though. Be sure to include --help so that I'll be able to remember it.

I think that ideally, the chord keywords would become known through marktab examples and convention. It shouldn't be too hard to remember how to write new chord keywords once you learn the pattern (whatever that pattern ends up being).

cknadler commented 11 years ago

Yeah, I'll be sure to add --help as well.