DumpDVD/DumpDVD/Gui/DumpDVD.hpp

62 lines
1.1 KiB
C++
Raw Normal View History

2023-03-15 06:59:59 +00:00
#ifndef _LI_DUMP_DVD_H
#define _LI_DUMP_DVD_H 1
#include <iostream>
#include <string>
2023-03-16 19:26:43 +00:00
#include <vector>
2023-03-15 06:59:59 +00:00
#include <thread>
#include <mutex>
2023-03-27 15:57:30 +00:00
#include "Renderer.hpp"
#include "DvdSpin/RenderDvdSpin.hpp"
2023-03-15 06:59:59 +00:00
#include "../Scsi/OpticalDrive.hpp"
2023-03-16 19:26:43 +00:00
#include "../Dvd/DvdRipper.hpp"
2023-03-15 06:59:59 +00:00
namespace Li::Gui {
class DumpDVD {
private:
bool keepPolling;
bool showDemoWindow;
bool imRippinIt; // dodododo do do!
std::mutex* lock;
int sectorsAtOnce;
2023-03-17 08:23:19 +00:00
bool decrypt;
2023-03-16 08:35:31 +00:00
bool discInserted;
2023-03-15 06:59:59 +00:00
int selectedDrive;
int selectedDriveSpeed;
char outputFile[0x8000];
std::vector<Li::Scsi::OpticalDrive*>* drivesList;
std::thread* pollDrives;
2023-03-16 19:26:43 +00:00
Li::Dvd::DvdRipper* dvdRipper;
2023-03-27 15:57:30 +00:00
DvdSpin::RenderDvdSpin* dvdSpin;
2023-03-15 06:59:59 +00:00
void pollDrivesThread();
2023-03-27 15:57:30 +00:00
void updateSpinTexture();
2023-03-15 06:59:59 +00:00
void freeOldDriveList();
void refreshDriveList();
std::string getDrivesStr();
void reset();
void startRip();
2023-03-19 02:37:35 +00:00
void endRipNow();
2023-03-15 06:59:59 +00:00
void endRipAndGoBackToMenu();
void showRipMenu();
2023-03-21 10:12:28 +00:00
void showStarting();
2023-03-15 06:59:59 +00:00
void showRippingStatus();
public:
Li::Scsi::OpticalDrive* GetCurrentSelectedDrive();
2023-03-27 15:57:30 +00:00
DumpDVD(Renderer* renderer);
2023-03-15 06:59:59 +00:00
~DumpDVD();
void RenderUI();
};
}
#endif