Re: Little Parsing help...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4 October 2010 11:26, Richard Quadling <rquadling@xxxxxxxxx> wrote:
> On 1 October 2010 16:20, Don Wieland <donw@xxxxxxxxxxxxx> wrote:
>> The logic I need is pretty straight forward, but I am having a hard time
>> replicating it using PHP functions. I will try to break it down to it's
>> simplest form:
>>
>> I have a field that has several lines of text. Chords and Song Lyrics.
>>
>> The "Chord" lines begin with an asterisk "*" and end with the line break.
>> This is the string I want to parse. Lines with no asterisk at the beginning
>> are ignored.
>>
>> Based on 3 arrays of NOTES, I want SUBSTITUTE the text (based on exact text
>> character patterns - just NOTES not the chord type) of the lines in my field
>> that start with an asterisk "*".
>>
>> original_chord_array = A, A#, B, C, C#, D, D#, E, F, F#, G, G#
>> transpose_up_array = A#, B, C, C#, D, D#, E, F, F#, G, G#, A
>> transpose_down_array = G#, A, A#, B, C, C#, D, D#, E, F, F#, G
>>
>> It is important that it only effects EXACT strings. ÂNotes will always be
>> capitalized and chord types will be lower case. Maybe we can use that
>> characteristic to better identify what to change. Here are some examples of
>> chords:
>>
>> A
>> Asus7
>> Csus add9
>> Dmaj7
>> F#m7
>> G#
>> C#dim no3
>>
>> When I transpose UP these chords, just the NOTE should change:
>>
>> A#
>> A#sus7
>> C#sus add9
>> D#maj7
>> Gm7
>> A
>> Ddim no3
>>
>> When I transpose DOWN these chords, just the NOTE should change:
>>
>> G#
>> G#sus7
>> Bsus add9
>> C#maj7
>> Fm7
>> G
>> Cdim no3
>>
>> I am working on a function, but still not producing the proper results.
>> Hopefully this break down is more clear and someone will bail me out ;-)
>>
>> Thanks again for the feedback.
>>
>> Don
>>
>> On Oct 1, 2010, at 7:02 AM, Richard Quadling wrote:
>>
>>> Changing the NormalKeyID and using that ID with NoteSequenceNumber
>>> should give you the new note to play.
>>>
>>> I think.

http://pastebin.com/rsV35czb

Code with tests and output.

-- 
Richard Quadling
Twitter : EE : Zend
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux