Getting the order of parts right

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Getting the order of parts right

Bob Zawalich

Back when Sib 7 first came out I wrote a plugin Open Selected Parts, which gave you a list of parts and you chose some from a multi-select list, and they would be opened. This was not all that hard, but when I got the parts from the DynamicPartsList, they were in a screwy order, nothing like the list of parts  from the + button.

 

 

So I reverse engineered the list. I determined that the list Sib showed was essentially:

 

Parts are listed in score staff order, with parts containing the same initial instrument grouped together, and those groups sorted in reverse order by part name. This is not always identical to the Sib parts list but mostly the same.

 

 

Below you will see the list Sib gave me, and then what I turned it into.

 

**********************************************

original part order given to plugin

    0 - Full Score

    1 - Drum Set

    2 - Flute 2/Piccolo

    3 - Tuba

    4 - Oboe 2/Cor A.

    5 - Percussion

    6 - Harp

    7 - Oboe 1

    8 - Clarinet 1

    9 - Clarinet 2 B.Clt

    10 - Violin I

    11 - Violin II

    12 - Timpani

    13 - Viola

    14 - Violoncello

    15 - Contrabass

    16 - Piano\n\Celesta

    17 - John OJ Solo vocal

    18 - Bass Guitar

    19 - Trumpet 1

    20 - Trumpet 3

    21 - Bassoon 1

    22 - Bassoon 2

    23 - Trumpet 2

    24 - Trombone 3

    25 - Trombone 4

    26 - Flute 1

    27 - Horn 1

    28 - Horn 2

    29 - Horn 3

    30 - Horn 4

    31 - S A   T B

    32 - Trumpet 4

    33 - Vocals

    34 - Acoustic Guitar

    35 - Trombone 1

    36 - Trombone 2

Sorted part list

part: 1 - Flute 1

part: 2 - Flute 2/Piccolo

part: 3 - Oboe 1

part: 4 - Oboe 2/Cor A.

part: 5 - Clarinet 1

part: 6 - Bassoon 1

part: 7 - Bassoon 2

part: 8 - Clarinet 2 B.Clt

part: 9 - Horn 1

part: 10 - Horn 2

part: 11 - Horn 3

part: 12 - Horn 4

part: 13 - Trumpet 1

part: 14 - Trumpet 3

part: 15 - Trumpet 2

part: 16 - Trumpet 4

part: 17 - Trombone 1

part: 18 - Trombone 2

part: 19 - Trombone 3

part: 20 - Trombone 4

part: 21 - Tuba

part: 22 - Timpani

part: 23 - Drum Set

part: 24 - Percussion

part: 25 - Harp

part: 26 - Acoustic Guitar

part: 27 - Vocals

part: 28 - John OJ Solo vocal

part: 29 - S A   T B

part: 30 - Piano\n\Celesta

part: 31 - Violin I

part: 32 - Violin II

part: 33 - Viola

part: 34 - Violoncello

part: 35 - Contrabass

part: 36 - Bass Guitar

 

 

I recently extracted the code I used to use in a different plugin, and I thought I might offer it up here as possibly useful software. Feel free to use it or modify it, or laugh at it, as you will.

 

If you run the plugin on a score you will get the trace of 2 lists like the ones above, but you can call into CreateMatchingPartsList, and get back a sparse array of dynamic parts in the desired order. The full score is not included in the array, but if you want it, you can just push dyn[0] onto the ars before calling CreateMatchingPartsList.

 

I note you will need 2 routines if you want to incorporate CreateMatchingPartsList; you will also need GetArrMultiStaves, included in this plugin, which I use to find the initial staff for each instrument, useful when you have multi-stave instruments.

 

Cheers and happy vernal equinox.

 

Bob


_______________________________________________
Plugin-dev mailing list
[hidden email]
http://avid-listsrv1.avid.com/mailman/listinfo/plugin-dev

GetSortedPartList.zip (2K) Download Attachment