moveInQueue method
Implementation
Future<void> moveInQueue(int from, int to) async {
if (from < 0 || from >= _queue.length || to < 0 || to >= _queue.length) return;
final UMediaSource source = _queue.removeAt(from);
_queue.insert(to, source);
if (_index == from) {
_index = to;
} else if (from < _index && to >= _index) {
_index--;
} else if (from > _index && to <= _index) {
_index++;
}
_rebuildShuffle();
_emit(value.copyWith(currentIndex: _index));
}