currently the client keeps track of the history of each dream that has been played in the current session (RAM only). if it has been played, then it will not play again until all dreams in the current list have been played, and then history is reset.
this prevents the client from getting stuck in a subset of the playlist that is a loop, which is good, but it creates more fades and less seamless transitions.
instead of blocking repeats entirely we could allow them up to a limit, like play N times before removing from consideration. N could be a property of the playlist, similar to the loop parameter we already have. N=99999 is like disabling it, but we should prob have a special value like 0 or -1 to indicate this clearly.
currently the client keeps track of the history of each dream that has been played in the current session (RAM only). if it has been played, then it will not play again until all dreams in the current list have been played, and then history is reset.
this prevents the client from getting stuck in a subset of the playlist that is a loop, which is good, but it creates more fades and less seamless transitions.
instead of blocking repeats entirely we could allow them up to a limit, like play N times before removing from consideration. N could be a property of the playlist, similar to the loop parameter we already have. N=99999 is like disabling it, but we should prob have a special value like 0 or -1 to indicate this clearly.