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!


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Rivendell-dev mailing list
[email protected]
http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev

Reply via email to