Wow ! Thanks *a lot* for this analysis ! That's really helping : I'm going to read again your answer a few times, but it's really helping !
Cheers !
Hoggins!
Le 11/09/2015 13:27, Wayne Merricks a écrit :
> Hi,
>
> I think there is a bug/difference of opinion in the title separation
> code. I'm not a C expert so I might be completely wrong!
>
> After a bit of a run around, RDEventLine->generateLog seems to do the
> interesting "random" work (libs/rdeventline.cpp). First thing this
> does is determine start times and then grab pre import stuff.
>
> Then we get to the scheduler bit, first it pulls all carts that match
> the group of the event and dumps them into the Rivendell Service Name
> table _STACK (e.g. Production_STACK).
>
> And this is where it gets interesting and I need some help from
> someone who understands Riv better than me because it looks wrong.
> The code has changed a lot since 2.5.0 but I'm going to attempt to
> explain both and why I think its wrong. In 2.5.0:
>
> Rivendell makes a big list of Candidate carts but it doesn't store the
> track title. It has the Cart Number, the artist (without all white
> space e.g. The Spice Girls becomes thespicegirls), scheduler codes and
> then some sort of default time.
>
> It then does "title" separation by doing the following:
>
> if(q->value(0).toUInt()==schedCL->*getItemCartnumber(counter))*
> {
> schedCL->removeItem(counter);
>
> To put this into English:
>
> If the cart number we got from the STACK table is the same as the cart
> number we have in our list, remove it from our list as a candidate cart.
>
> It then repeats this kind of thing for artist (checked by artist name)
> scheduler codes and the rest. At the end you have a list of
> candidates that remain. It then does a simple "random" selection on
> this list and inserts it into the log.
>
> Here is why I think this is a bug/difference of opinion. Lets say I
> create two carts:
>
> Number: 1
> Title: Hello Dolly
> Artist: Pewee Herman
>
> Number: 2
> Title: Hello Dolly
> Artist: Spongebob Squarepants
>
> Both of these carts go into the candidate list without the title:
>
> Number: 1
> Artist: peweeherman
>
> Number: 2
> Artist: spongebobsquarepants
>
> So when EventLine does the title separation check on the number its a
> simple "Number 1 is NOT number 2 so this is ok".
>
> Obviously we have a random selection afterwards which will reduce the
> times this happens but its not impossible that it may happen and I
> guess that is why you see your results.
>
> In the github version (whatever the latest version number is I have no
> idea). The code is completely re-written but appears to suffer from
> the same Cart Number only "title" separation check.
>
> It performs a similar query on the STACK table but then does the same
> kind of thing:
>
> // Title separation
> [snip snip]
>
> if (current->*getCartNumber()* == cartStack) {
> // exckude candidate CART present in stack
> current->exclude();
> current = current->next();
> }
>
> Ignore the changes but see how its checking CartNumber again. So this
> is a long winded way of saying, you may be onto something.
>
> This would require scheduler changes to the STACK table so that it
> included the CART title and obviously changes to the CartNumber checks.
>
>
> Finally this might be a difference of opinion. The current code will
> let you schedule two completely different songs that happen to have
> the same title. I can understand why this would look wrong to you but
> technically it is different enough to just go on cart numbers (artists
> are handled later just in case you have the same song imported twice
> for some reason).
>
> Hope this helps.
>
> Wayne Merricks
> The Voice Asia
> On 10/09/15 20:27, Hoggins! wrote:
>> Hey !
>>
>> It's me again, about titles scheduled one after another :
>> http://imgur.com/0VrYahd
>>
>> What is really surprising is that the scheduler has a tendency to
>> pick up carts whose title is very similar, and schedule them next to
>> each other. There was no specific rule on that, and there are plenty
>> of other tunes that could have fitted here on a 11k carts database.
>> Isn't there something that could be looked at ? It's just that I
>> don't understand the logics of the scheduler, and it can't be just a
>> coincidence because it happens quite often.
>>
>> Am I really the only one to experience this ?
>>
>> Cheers !
>>
>> Hoggins!
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Rivendell-dev mailing list [email protected] http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
