anchor.diff:               end,
       ok = erlang:load_nif(SoName, 0).
   
  -%% @doc Start the NIF spotify main loop. Only one spotify session per
  -%% VM is supported; this is a limitation of libspotify. The pid given
  -%% will receive callback messages.
  +%% @doc Login to Spotify and start the main event loop. Only one
  +%% Spotify session per VM is supported; this is a limitation of
  +%% libspotify. The pid given will receive callback messages.
  +%%
  +%% On successful login, a message <pre>{'$spotify_callback', logged_in, {ok, #sp_user{}}} </pre> will be sent back.
   -spec start(string(), string(), pid()) -> ok | {error, already_started}.
   start(_, _, _) ->
       ?NOT_LOADED.
  
positive.code: -module(espotify_nif).
  
  -export([
  
negative.code: stop() ->
      ?NOT_LOADED.
      
  %% @doc Set the callback process id.
  set_pid(_) ->
      ?NOT_LOADED.
  
  %% @doc Load a track into the player for playback. `ok' will be
  %% returned when the track was loaded immediately into the
  %% player. When the track did not came from the cache, the atom
  %% `loading' is returned, in this case you need to wait for the
  %% message <pre>{'$spotify_callback', player_load, loaded}</pre>
  %% before attempting to play the track.
  -spec player_load(string()) -> loading | ok.
  player_load(_Track) ->
      ?NOT_LOADED.
  
  player_prefetch(_Track) ->
      ?NOT_LOADED.
  
  %% @doc Toggle the play state of the currently loaded track.
  -spec player_play(boolean()) -> ok | {error, term()}.
  player_play(_Play) ->
      ?NOT_LOADED.
  
  %% @doc Seek to position in the currently loaded track. The track offset is given in milliseconds.
  -spec player_seek(Offset::non_neg_integer()) -> ok | {error, term()}.
  player_seek(_Offset) ->
      ?NOT_LOADED.
  
  %% @doc Stops the currently playing track.
  -spec player_unload() -> ok | {error, term()}.
  player_unload() ->
      ?NOT_LOADED.
  