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!
Le 08/03/2015 00:13, Hoggins! a écrit :
Hello,
I had reported something like that several times on this list, but
nothing really obvious : some carts scheduled one after another,
although they should not.
I just ran into an example. these two carts were scheduled just next to
each other :
Cochon Ville (Jupiter's Indian Summer Remix) - Sébastien Tellier
Cochon Ville (Dabruck & Klein Remix) - Sébastien Tellier
How on Earth is it possible ? There was no scheduler rule involved.
Thank you for your hints.
Hoggins!
_______________________________________________
Rivendell-dev mailing list
[email protected]
http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
_______________________________________________
Rivendell-dev mailing list
[email protected]
http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev