123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #pragma once
- #include "openmpt/all/BuildSettings.hpp"
- #include "Snd_defs.h"
- #include "modcommand.h"
- #include "../soundlib/SoundFilePlayConfig.h"
- OPENMPT_NAMESPACE_BEGIN
- struct CModSpecifications
- {
-
-
- static MODTYPE ExtensionToType(std::string ext);
-
- bool HasNote(ModCommand::NOTE note) const;
- bool HasVolCommand(ModCommand::VOLCMD volcmd) const;
- bool HasCommand(ModCommand::COMMAND cmd) const;
-
- char GetEffectLetter(ModCommand::COMMAND cmd) const;
- char GetVolEffectLetter(ModCommand::VOLCMD cmd) const;
-
- MODTYPE internalType;
- const char *fileExtension;
- ModCommand::NOTE noteMin;
- ModCommand::NOTE noteMax;
- PATTERNINDEX patternsMax;
- ORDERINDEX ordersMax;
- SEQUENCEINDEX sequencesMax;
- CHANNELINDEX channelsMin;
- CHANNELINDEX channelsMax;
- uint32 tempoMinInt;
- uint32 tempoMaxInt;
- uint32 speedMin;
- uint32 speedMax;
- ROWINDEX patternRowsMin;
- ROWINDEX patternRowsMax;
- uint16 modNameLengthMax;
- uint16 sampleNameLengthMax;
- uint16 sampleFilenameLengthMax;
- uint16 instrNameLengthMax;
- uint16 instrFilenameLengthMax;
- uint16 commentLineLengthMax;
- SAMPLEINDEX samplesMax;
- INSTRUMENTINDEX instrumentsMax;
- MixLevels defaultMixLevels;
- FlagSet<SongFlags> songFlags;
- uint8 MIDIMappingDirectivesMax;
- uint8 envelopePointsMax;
- bool hasNoteCut;
- bool hasNoteOff;
- bool hasNoteFade;
- bool hasReleaseNode;
- bool hasComments;
- bool hasIgnoreIndex;
- bool hasStopIndex;
- bool hasRestartPos;
- bool supportsPlugins;
- bool hasPatternSignatures;
- bool hasPatternNames;
- bool hasArtistName;
- bool hasDefaultResampling;
- bool hasFractionalTempo;
- const char *commands;
- const char *volcommands;
- MPT_CONSTEXPRINLINE TEMPO GetTempoMin() const { return TEMPO(tempoMinInt, 0); }
- MPT_CONSTEXPRINLINE TEMPO GetTempoMax() const { return TEMPO(tempoMaxInt, 0); }
- };
- namespace ModSpecs
- {
- extern const CModSpecifications & mptm;
- extern const CModSpecifications & mod;
- extern const CModSpecifications & s3m;
- extern const CModSpecifications & s3mEx;
- extern const CModSpecifications & xm;
- extern const CModSpecifications & xmEx;
- extern const CModSpecifications & it;
- extern const CModSpecifications & itEx;
- extern const std::array<const CModSpecifications *, 8> Collection;
- }
- OPENMPT_NAMESPACE_END
|