On 09/09/2013 06:20 PM, Tom Breton (Tehom) wrote:

>> This is relatively simple to implement. Create a XML file which defines
>> the
>> chords (like a major chord consists of a root, major 3rd and a 5th) so
>> they
>> are no longer hard coded).

> You'd be doing it the hard way, re-inventing all that and debugging it.

Aye, he would Tom, but on the other hand the advantage of his scheme is 
selective translation of those elements.

As things normally run, translation is all or nothing, and that's how it 
would come out if we used tr() in the usual fashion for this.  If the 
user is running Rosegarden in Spanish, he gets "mi bemol" as his 
representation of an Eb major chord.  But what if he's working with an 
original score in English that he wants to rearrange, but his English 
kind of sucks?  To get the ability to work with chords in English, he's 
got to use the whole kit and kaboodle in English.

I like the idea of having this chord business translate independently of 
the overall GUI.  That's good thinking.

I like the idea of not reinventing the wheel.  That's good thinking.

How do we get those two thoughts merged into one?  It might be possible 
to tell tr() to load a different language from here to here, and make 
that switchable within a narrow context.  It might be possible, but it 
isn't remotely obvious from the API docs.  This is a very unusual use 
case.  It appears this might be narrowly possible, but it looks about 
equally hard to debug some strange context language switching tr() 
contraption as to just implement our own.  Plus translating strings out 
of an XML file with tr() requires yet another contraption all on its own 
that I would have to set up and debug.

I suggest getting the most mileage possible out of the guitar chord XML 
we already have.

Having suggested that, then looked at it, it probably makes more sense 
to implement something independently after all.  The scheme Niek came up 
with where you have one note for the bass, one note for the chord, and 
then all the other minor sus4 add9 nonsense tacked on appears to be 
quite at odds with the more limited system of the guitar fretboard 
mechanism, where a few of these bass notes are incorporated as part of 
the fingerings, but there is generally less flexibility.  Niek's 
approach is superior.

I suppose it might be worth the effort to combine everything, but it's 
probably cheaper and faster to ignore the guitar fretboards and invent a 
slightly different wheel in this case.  I don't have a strong opinion 
either way, and whatever gets done is good enough for me.
-- 
D. Michael McIntyre

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to