winamp/Src/external_dependencies/openmpt-trunk/mptrack/ExternalSamples.h
2024-09-24 14:54:57 +02:00

74 lines
1.5 KiB
C++

/*
* ExternalSamples.h
* -----------------
* Purpose: Dialogs for locating missing external samples and handling modified samples
* Notes : (currently none)
* Authors: OpenMPT Devs
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
*/
#pragma once
#include "openmpt/all/BuildSettings.hpp"
#include "ResizableDialog.h"
#include "CListCtrl.h"
OPENMPT_NAMESPACE_BEGIN
class CModDoc;
class CSoundFile;
class MissingExternalSamplesDlg : public ResizableDialog
{
protected:
CModDoc &m_modDoc;
CSoundFile &m_sndFile;
CListCtrlEx m_List;
bool m_isScanning = false;
public:
MissingExternalSamplesDlg(CModDoc &modDoc, CWnd *parent);
protected:
void GenerateList();
bool SetSample(SAMPLEINDEX smp, const mpt::PathString &fileName);
void DoDataExchange(CDataExchange *pDX) override;
BOOL OnInitDialog() override;
afx_msg void OnSetPath(NMHDR *, LRESULT *);
afx_msg void OnScanFolder();
DECLARE_MESSAGE_MAP()
};
class ModifiedExternalSamplesDlg : public ResizableDialog
{
protected:
CModDoc &m_modDoc;
CSoundFile &m_sndFile;
CListCtrlEx m_List;
public:
ModifiedExternalSamplesDlg(CModDoc &modDoc, CWnd *parent);
protected:
void GenerateList();
void Execute(bool doSave);
void DoDataExchange(CDataExchange *pDX) override;
BOOL OnInitDialog() override;
void OnOK() override { Execute(false); }
afx_msg void OnSaveSelected() { Execute(true); }
afx_msg void OnCheckAll();
afx_msg void OnSelectionChanged(NMHDR *pNMHDR, LRESULT *pResult);
DECLARE_MESSAGE_MAP()
};
OPENMPT_NAMESPACE_END