4
0
mirror of https://github.com/AzuraCast/AzuraCast.git synced 2024-06-21 00:17:09 +00:00

Fix Queue function with Manual AutoDJ.

This commit is contained in:
Buster "Silver Eagle" Neece 2022-03-19 18:20:39 -05:00
parent 2d92241de8
commit 0cecae12c5
No known key found for this signature in database
GPG Key ID: 9FC8B9E008872109

View File

@ -261,26 +261,36 @@ class BatchAction
): Entity\Api\BatchResult {
$result = $this->parseRequest($request, $fs, true);
$nextCuedItem = $this->queueRepo->getNextToSendToAutoDj($station);
$cuedTimestamp = (null !== $nextCuedItem)
? $nextCuedItem->getTimestampCued() - 10
: time();
foreach ($this->batchUtilities->iterateMedia($storageLocation, $result->files) as $media) {
try {
if ($station->useManualAutoDJ()) {
foreach ($this->batchUtilities->iterateMedia($storageLocation, $result->files) as $media) {
/** @var Entity\Station $stationRef */
$stationRef = $this->em->getReference(Entity\Station::class, $station->getId());
$newQueue = Entity\StationQueue::fromMedia($stationRef, $media);
$newQueue->setTimestampCued($cuedTimestamp);
$newQueue->addLogRecord(LogLevel::INFO, 'Manually queued via media manager.');
$this->em->persist($newQueue);
} catch (Throwable $e) {
$result->errors[] = $media->getPath() . ': ' . $e->getMessage();
$newRequest = new Entity\StationRequest($stationRef, $media, null, true);
$this->em->persist($newRequest);
}
} else {
$nextCuedItem = $this->queueRepo->getNextToSendToAutoDj($station);
$cuedTimestamp = (null !== $nextCuedItem)
? $nextCuedItem->getTimestampCued() - 10
: time();
$cuedTimestamp -= 10;
foreach ($this->batchUtilities->iterateMedia($storageLocation, $result->files) as $media) {
try {
/** @var Entity\Station $stationRef */
$stationRef = $this->em->getReference(Entity\Station::class, $station->getId());
$newQueue = Entity\StationQueue::fromMedia($stationRef, $media);
$newQueue->setTimestampCued($cuedTimestamp);
$newQueue->addLogRecord(LogLevel::INFO, 'Manually queued via media manager.');
$this->em->persist($newQueue);
} catch (Throwable $e) {
$result->errors[] = $media->getPath() . ': ' . $e->getMessage();
}
$cuedTimestamp -= 10;
}
}
return $result;