Added feature to build collections of ROM's based on a filter (#76)

* fix: added visual feed back for mass rom matching

* chore(deps): EmulatorJS version bump

* chore(deps): nuget package version bump

* feat: added cover art to the emulator

* ci: updated .gitignore

* ci: remove .DS_Store files

* feat: updated the about box, and labeled the IGDB user score

* chore(deps): EmulatorJS version bump

* feat: start of collections build, and styling changes

* fix: updated PlatformMap.json file with more platforms and fixed SNES extensions

* feat: more progress on romsets

* doc: updated readme to include new screenshots and discord link

* fix: repairs an issue where the author column in signatures was too narrow

* chore(deps): EmulatorJS version bump

* feat: Collection build code mostly complete

* fix: renamed collection classes to avoid conflicts in Swagger

* Re-wrote collection builder to correct major bugs and performance

* Completed collection builder and zipper

* API changes completed

* Fixed some last minute Collections API bugs

* Collections mostly complete. Todo: delete button

* Completed collections build
This commit is contained in:
Michael Green
2023-09-01 21:02:15 +10:00
committed by GitHub
parent 07caab074a
commit 25f1895fe5
47 changed files with 2448 additions and 694 deletions

View File

@@ -9,20 +9,22 @@ namespace gaseous_server
public class QueueItem
{
public QueueItem(QueueItemType ItemType, int ExecutionInterval)
public QueueItem(QueueItemType ItemType, int ExecutionInterval, bool AllowManualStart = true)
{
_ItemType = ItemType;
_ItemState = QueueItemState.NeverStarted;
_LastRunTime = DateTime.UtcNow.AddMinutes(ExecutionInterval);
_Interval = ExecutionInterval;
_AllowManualStart = AllowManualStart;
}
public QueueItem(QueueItemType ItemType, int ExecutionInterval, List<QueueItemType> Blocks)
public QueueItem(QueueItemType ItemType, int ExecutionInterval, List<QueueItemType> Blocks, bool AllowManualStart = true)
{
_ItemType = ItemType;
_ItemState = QueueItemState.NeverStarted;
_LastRunTime = DateTime.UtcNow.AddMinutes(ExecutionInterval);
_Interval = ExecutionInterval;
_AllowManualStart = AllowManualStart;
_Blocks = Blocks;
}
@@ -34,6 +36,7 @@ namespace gaseous_server
private string _LastResult = "";
private string? _LastError = null;
private bool _ForceExecute = false;
private bool _AllowManualStart = true;
private List<QueueItemType> _Blocks = new List<QueueItemType>();
public QueueItemType ItemType => _ItemType;
@@ -50,6 +53,7 @@ namespace gaseous_server
public string LastResult => _LastResult;
public string? LastError => _LastError;
public bool Force => _ForceExecute;
public bool AllowManualStart => _AllowManualStart;
public List<QueueItemType> Blocks => _Blocks;
public void Execute()
@@ -96,6 +100,10 @@ namespace gaseous_server
Classes.ImportGame.LibraryScan();
break;
case QueueItemType.CollectionCompiler:
Logging.Log(Logging.LogType.Information, "Timered Event", "Starting Collection Compiler");
Classes.Collections.CompileCollections();
break;
}
}
catch (Exception ex)
@@ -125,7 +133,8 @@ namespace gaseous_server
TitleIngestor,
MetadataRefresh,
OrganiseLibrary,
LibraryScan
LibraryScan,
CollectionCompiler
}
public enum QueueItemState