Re: Little Parsing help...

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

 



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.


--
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