function changeSong(songIndex) {
		/*
  	Grab the song at the index defined by the user.
  */
		var song = _config2.default.songs[songIndex];

		/*
  	Stops the currently playing song so we can adjust
  	what we need.
  */
		_core2.default.stop();

		/**
   * @todo: Stop Visualization
   */

		/*
  	Set all play buttons to pause while we change
  	the song.
  */
		_visual2.default.setPlayPauseButtonsToPause();

		/*
  	Since it is a new song, we reset the song sliders. These
  	react to time updates and will eventually be updated but we
  	force update them is if there is a song slider bound to a
  	specific song, they won't update.
  */
		_visual2.default.resetSongSliders();

		/*
  	Resets the progress bars
  */
		_visual2.default.resetSongPlayedProgressBars();

		/*
  	Reset all the time place holders accordingly.
  */
		_visual2.default.resetTimes();

		/*
  	Run a callback if an album is going
  	to change.
  */
		if (checkNewAlbum(song)) {
			runCallback('album_change');
		}

		/*
  	Set the new song information so we can use the
  	active meta data later on.
  */
		setNewSong(song, songIndex);

		/*
  	Display the new visual metadata now that the config has
  	been changed. This will show the new song.
  */
		_visual2.default.displaySongMetadata();

		/*
  	Sets the active container. This is a class that
  	designers can use on an element that contains the current
  	song's controls to show it's highlighted.
  */
		_visual2.default.setActiveContainer();

		/*
  	Sets the active song's duration
  */
		_visual2.default.syncSongDuration();

		/*
  	Run song change callback.
  */
		runCallback('song_change');
	}
/**
  * Changes the active song in the config. This happens in multiple
  * scenarios: The user clicks a play button that has an index that is
  * different than what is currently playing, the song ends and the next
  * song begins, etc.
  *
  * Public Accessor: AmplitudeHelpers.changeSong( songIndex )
  *
  * @access public
  * @param {number} songIndex - The song index we are changing to
  *
  */
Changes the active song in the config. This happens in multiple
scenarios: The user clicks a play button that has an index that is
different than what is currently playing, the song ends and the next
song begins, etc.

Public Accessor: AmplitudeHelpers.changeSong( songIndex )

@access public
@param {number} songIndex - The song index we are changing to
Changes the active song in the config . This happens in multiple scenarios : The user clicks a play button that has an index that is different than what is currently playing the song ends and the next song begins etc . Public Accessor : AmplitudeHelpers . changeSong ( songIndex ) @access public @param { number } songIndex - The song index we are changing to
function changeSong(songIndex) {
		var song = _config2.default.songs[songIndex];
		_core2.default.stop();
		_visual2.default.setPlayPauseButtonsToPause();
		_visual2.default.resetSongSliders();
		_visual2.default.resetSongPlayedProgressBars();
		_visual2.default.resetTimes();
		if (checkNewAlbum(song)) {
			runCallback('album_change');
		}
		setNewSong(song, songIndex);
		_visual2.default.displaySongMetadata();
		_visual2.default.setActiveContainer();
		_visual2.default.syncSongDuration();
		runCallback('song_change');
	}
function changeSong ( songIndex ) { var song = _config2 . default . songs [ songIndex ] ; _core2 . default . stop ( ) ; _visual2 . default . setPlayPauseButtonsToPause ( ) ; _visual2 . default . resetSongSliders ( ) ; _visual2 . default . resetSongPlayedProgressBars ( ) ; _visual2 . default . resetTimes ( ) ; if ( checkNewAlbum ( song ) ) { runCallback ( 'album_change' ) ; } setNewSong ( song , songIndex ) ; _visual2 . default . displaySongMetadata ( ) ; _visual2 . default . setActiveContainer ( ) ; _visual2 . default . syncSongDuration ( ) ; runCallback ( 'song_change' ) ; }
Changes the active song in the config.
Changes the active song in the config .
/*
  	Grab the song at the index defined by the user.
  */ /*
  	Stops the currently playing song so we can adjust
  	what we need.
  */ /**
   * @todo: Stop Visualization
   */ /*
  	Set all play buttons to pause while we change
  	the song.
  */ /*
  	Since it is a new song, we reset the song sliders. These
  	react to time updates and will eventually be updated but we
  	force update them is if there is a song slider bound to a
  	specific song, they won't update.
  */ /*
  	Resets the progress bars
  */ /*
  	Reset all the time place holders accordingly.
  */ /*
  	Run a callback if an album is going
  	to change.
  */ /*
  	Set the new song information so we can use the
  	active meta data later on.
  */ /*
  	Display the new visual metadata now that the config has
  	been changed. This will show the new song.
  */ /*
  	Sets the active container. This is a class that
  	designers can use on an element that contains the current
  	song's controls to show it's highlighted.
  */ /*
  	Sets the active song's duration
  */ /*
  	Run song change callback.
  */