12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /*
- * CleanupSong.h
- * ---------------
- * Purpose: Dialog for cleaning up modules (rearranging, removing unused items).
- * 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"
- OPENMPT_NAMESPACE_BEGIN
- class CModCleanupDlg: public CDialog
- {
- private:
- enum CleanupOptions
- {
- // patterns
- kCleanupPatterns = 0,
- kRemovePatterns,
- kRearrangePatterns,
- kRemoveDuplicatePatterns,
- // orders
- kMergeSequences,
- kRemoveOrders,
- // samples
- kCleanupSamples,
- kRemoveSamples,
- kRearrangeSamples,
- kOptimizeSamples,
- // instruments
- kCleanupInstruments,
- kRemoveAllInstruments,
- // plugins
- kCleanupPlugins,
- kRemoveAllPlugins,
- // misc
- kResetVariables,
- kCleanupChannels,
- kNone,
- kMaxCleanupOptions = kNone
- };
- CModDoc &modDoc;
- static bool m_CheckBoxes[kMaxCleanupOptions]; // Checkbox state
- static const WORD m_CleanupIDtoDlgID[kMaxCleanupOptions]; // Checkbox -> Control ID LUT
- static const CleanupOptions m_MutuallyExclusive[kMaxCleanupOptions]; // Options that are mutually exclusive to each other.
- // Actual cleanup implementations:
- // Patterns
- bool RemoveDuplicatePatterns();
- bool RemoveUnusedPatterns(); // Remove unused patterns
- bool RearrangePatterns(); // Rearrange patterns
- bool RemoveAllPatterns();
- // Orders
- bool MergeSequences();
- bool RemoveAllOrders();
- // Samples
- bool RemoveUnusedSamples(); // Remove unused samples
- bool RemoveAllSamples();
- bool RearrangeSamples(); // Rearrange sample list
- bool OptimizeSamples(); // Remove unused sample data
- // Instruments
- bool RemoveUnusedInstruments(); // Remove unused instruments
- bool RemoveAllInstruments();
- // Plugins
- bool RemoveUnusedPlugins(); // Remove ununsed plugins
- bool RemoveAllPlugins();
- // Misc
- bool ResetVariables(); // Turn module into samplepack (convert to IT, remove patterns, etc.)
- bool RemoveUnusedChannels();
- public:
- CModCleanupDlg(CModDoc &modParent, CWnd *parent) : CDialog(IDD_CLEANUP_SONG, parent), modDoc(modParent) { }
- protected:
- //{{AFX_VIRTUAL(CModCleanupDlg)
- virtual BOOL OnInitDialog();
- virtual void OnOK();
- //}}AFX_VIRTUAL
- BOOL OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResult);
- //{{AFX_MSG(CModCleanupDlg)
- afx_msg void OnPresetCleanupSong();
- afx_msg void OnPresetCompoCleanup();
- afx_msg void OnVerifyMutualExclusive();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- OPENMPT_NAMESPACE_END
|