removeAt method
Implementation
Future<void> removeAt(int index) async {
if (index < 0 || index >= _queue.length) return;
_queue.removeAt(index);
if (index < _index) _index--;
_rebuildShuffle();
_emit(value.copyWith(queueLength: _queue.length, currentIndex: _index));
}