anchor.diff:  			   true -> "STOP";
   			   false -> "CONT"
   		       end),
  -    ticker ! case IsPaused of
  -                 true -> stop;
  -                 false -> continue
  -             end,
       ok.
   
   stop_current_playback(State = #state{current_entry = Entry}, WaitForTermination) ->
  
positive.code:     {reply, {ok, SkippedEntry, summarise_state(NewState)}, NewState};
  handle_call({pause, On}, _From, State) ->
      case State#state.status of
  	{playing, PlayerPid} -> send_pause(PlayerPid, On);
  	_ -> ok
      end,
      act_and_reply(State#state{is_paused = On});
  handle_call(clear_queue, _From, State) ->
      act_and_reply(State#state{queue = queue:new()}).
  
  handle_cast(elapsed_tick, State) ->
      NewState = State#state{elapsed_time = State#state.elapsed_time + 1},
      {noreply, NewState};
  handle_cast(_Message, State) ->
      {noreply, State}.
  
  
negative.code:     State#state{is_paused = not(queue:is_empty(State#state.queue))}.
  
  init(_Args) ->
      process_flag(trap_exit, true), %% so that we get an opportunity to run terminate().
      {ok, act_on(load_state())}.
  
  get_secs() ->
      {MegaSecs, Secs, _} = erlang:now(),
      MegaSecs * 1000000 + Secs.
  
  handle_call({enqueue, AtTop, Q}, _From, State) ->
      Q1 = expand_m3us_and_cache(Q),
  