Slink-e / CDJ Discussion Archive #3
Re: A couple bugs?
Posted By: Colby Boles <cboles@n...> In Response To: A couple bugs? (Arnold de Leon)
In Response To: A couple bugs? (Arnold de Leon)
our CD collection) there are CDs that CDJ will invariably pick and we have
CDs that it has never picked. We have over 300 CDs in two changers and the
search results usually list over 200 CDs. We run CDJ long enough to give
its random number generator a chance.
One possible pattern is that it likes CDs (or for that matter) tracks
that are near the top the search result. I wonder if the selection
algorithm has a slight bias to the early matches.
I just double checked the code, and I can't see where the bias is (which doesn't mean that it's not there :) ). For every new item added to the playlist, CDJ seeds the RNG with the current time. It picks a random offset (modulo the list size) and begins looking for valid items to put in the playlist. It traverses the list by choosing a randomly choosen large prime from a predetermined set of large primes. This prime is then used to increment the search pointer (modulo the list size). This allows CDJ to touch each item only once, but scramble the search pattern so that different items are adjacent in different searches.
A major source of bias is introduced by the restriction imposed by player alternation, but this should not generate any bias within a set of discs on the same player.
Another problem that I've seen recently is the CDJ and slink-e getting confused.
This is similar to the problem I had earlier where the slink-e would go
deaf. It appears that it can still transmit commands but it stops hearing
status on the s-link bus. (Colby, I think I have current versions of the
CDJ and the slink-e). What is different about this from the previous bug
is that power cycling the slink-e is not sufficient to bring everything back
in order. I had to power cycle slink-e and exit and reenter CDJ.
The S-Link viewer was showing sendX errors when this happened. If it happens
again I will try to get more log data.
I'm running CDJ with Slinkserv.
It's probably not a problem with the Slink-e, but rather some bug in CDJ or Slinkeserv. I'm inclinde to think that it's in CDJ since I have some Slinkeserv users which use it for extended periods of time in their own applications. One way to test this would be to see if other applications such as TVRemote still work while CDJ appears to be not receiving anything.
Oh yeah one more bug. CDJ keeps thinking I have a fourth CD player
Show me your log file :)