public void ratchetSlice(int position, int end) {
		// race conditions here but don't expect any problems for most cases
		MusicDetails musicDetails = currentMusicDetails;
		if (musicDetails.track == null || !SLICES.containsKey(musicDetails.track)) {
			return;
		}
		float sliceProgression = ((float) musicDetails.slice + 1) / SLICES.get(musicDetails.track);
		float levelProgression = ((float) position) / end;
		if (levelProgression > sliceProgression) {
			nextSlice();
		}
	}