CDImage: Add CDImagePPF to overlap a PPF on another image

This commit is contained in:
Connor McLaughlin
2021-06-01 21:42:50 +10:00
parent 5edc645d1f
commit 77984035d2
5 changed files with 455 additions and 2 deletions

View File

@ -135,6 +135,12 @@ public:
BitField<u8, bool, 5, 1> digital_copy_permitted;
BitField<u8, bool, 6, 1> data;
BitField<u8, bool, 7, 1> four_channel_audio;
Control& operator=(const Control& rhs)
{
bits = rhs.bits;
return *this;
}
};
struct
@ -205,6 +211,8 @@ public:
static std::unique_ptr<CDImage> OpenM3uImage(const char* filename, Common::Error* error);
static std::unique_ptr<CDImage>
CreateMemoryImage(CDImage* image, ProgressCallback* progress = ProgressCallback::NullProgressCallback);
static std::unique_ptr<CDImage> OverlayPPFPatch(const char* filename, std::unique_ptr<CDImage> parent_image,
ProgressCallback* progress = ProgressCallback::NullProgressCallback);
// Accessors.
const std::string& GetFileName() const { return m_filename; }
@ -226,6 +234,8 @@ public:
u32 GetFirstTrackNumber() const { return m_tracks.front().track_number; }
u32 GetLastTrackNumber() const { return m_tracks.back().track_number; }
u32 GetIndexCount() const { return static_cast<u32>(m_indices.size()); }
const std::vector<Track>& GetTracks() const { return m_tracks; }
const std::vector<Index>& GetIndices() const { return m_indices; }
const Track& GetTrack(u32 track) const;
const Index& GetIndex(u32 i) const;