anchor.diff:  
   -define(MPV, agner_mpv_connected_process).
   
  --record(player_state, {mpv_pid, current_movie_id}).
  +-record(player_state, {mpv_pid, current_movie_id, current_movie_source}).
   
   start() ->
     spawn(?MODULE, init, []).
  
positive.code:           exit(Error);
          Else ->
            error_logger:info_msg("Not handled 'EXIT' case clause: ~w", [Else])
        end
    end.
  
  start_player(Url) ->
    Command = lists:concat(["mpv --no-video --no-terminal ", Url]),
    Port = open_port({spawn, Command}, [stream, in, exit_status]),
    mpv_listen(Port).
  
  
negative.code: 
    loop(State).
  
  loop(
      State = #player_state{
        mpv_pid = CurrentMpvPid,
        current_movie_id = CurrentMovieId,
        current_movie_source = Source}
  ) ->
    receive
      detach ->
        stop_player(CurrentMpvPid);
  