23#ifndef CORE_ACTION_CONTROLLER_H
24#define CORE_ACTION_CONTROLLER_H
52 bool setStripVolume(
int nStrip,
float fVolumeValue,
bool bSelectStrip );
59 bool setStripPan(
int nStrip,
float fValue,
bool bSelectStrip );
66 bool setStripPanSym(
int nStrip,
float fValue,
bool bSelectStrip );
99 bool newSong(
const QString& songPath );
116 bool openSong(
const QString& songPath,
const QString& sRecoverSongPath =
"" );
131 bool openSong( std::shared_ptr<Song> pSong,
bool bRelinking =
true );
151 bool saveSongAs(
const QString& sNewFilename );
214 bool addTag(
int nPosition,
const QString& sText );
280 bool setDrumkit(
const QString& sDrumkit,
bool bConditional =
true );
293 bool setDrumkit( std::shared_ptr<Drumkit> pDrumkit,
bool bConditional =
true );
301 bool upgradeDrumkit(
const QString& sDrumkitPath,
const QString& sNewPath =
"" );
315 bool validateDrumkit(
const QString& sDrumkitPath,
bool bCheckLegacyVersions =
false );
332 bool extractDrumkit(
const QString& sDrumkitPath,
const QString& sTargetDir =
"" );
350 bool locateToTick(
long nTick,
bool bWithJackBroadcast =
true );
358 bool newPattern(
const QString& sPatternName );
368 bool openPattern(
const QString& sPath,
int nPatternNumber = -1 );
410 std::shared_ptr<Instrument>
getStrip(
int nStrip )
const;
429 bool setSong( std::shared_ptr<Song> pSong,
bool bRelinking =
true );
447 std::shared_ptr<Drumkit>
retrieveDrumkit(
const QString& sDrumkitPath,
bool* bIsCompressed,
448 QString* sDrumkitDir, QString* sTemporaryFolder );
bool locateToColumn(int nPatternGroup)
Relocates transport to the beginning of a particular column/Pattern group.
bool setPattern(Pattern *pPattern, int nPatternNumber)
Opens a pattern to the current pattern list.
bool addTag(int nPosition, const QString &sText)
Adds a tag to the Timeline.
bool setSong(std::shared_ptr< Song > pSong, bool bRelinking=true)
Sets a H2Core::Song to be used by Hydrogen.
bool sendStripIsSoloedFeedback(int nStrip)
bool sendMetronomeIsActiveFeedback()
bool setMetronomeIsActive(bool isActive)
void updatePreferences()
In case a different preferences file was loaded with Hydrogen already fully set up this function refr...
bool openSong(const QString &songPath, const QString &sRecoverSongPath="")
Opens the H2Core::Song specified in songPath.
bool locateToTick(long nTick, bool bWithJackBroadcast=true)
Relocates transport to a particular tick.
bool sendStripPanFeedback(int nStrip)
bool deleteTempoMarker(int nPosition)
Delete a tempo marker from the Timeline.
std::shared_ptr< Instrument > getStrip(int nStrip) const
bool newPattern(const QString &sPatternName)
Creates an empty pattern and adds it to the pattern list.
bool toggleStripIsMuted(int nStrip)
bool newSong(const QString &songPath)
Create an empty H2Core::Song, which will be stored in songPath.
bool savePreferences()
Saves the current state of the H2Core::Preferences.
std::shared_ptr< Drumkit > retrieveDrumkit(const QString &sDrumkitPath, bool *bIsCompressed, QString *sDrumkitDir, QString *sTemporaryFolder)
Loads the drumkit specified in sDrumkitPath.
bool sendMasterIsMutedFeedback()
bool setStripVolume(int nStrip, float fVolumeValue, bool bSelectStrip)
bool toggleStripIsSoloed(int nStrip)
bool sendStripVolumeFeedback(int nStrip)
bool activateSongMode(bool bActivate)
Switches between Song and Pattern mode of playback.
bool validateDrumkit(const QString &sDrumkitPath, bool bCheckLegacyVersions=false)
Checks whether the provided drumkit in sDrumkitPath can be found, can be loaded, and does comply with...
bool setDrumkit(const QString &sDrumkit, bool bConditional=true)
Wrapper around setDrumkit() that allows loading drumkits by name or path.
bool setStripPanSym(int nStrip, float fValue, bool bSelectStrip)
bool toggleGridCell(int nColumn, int nRow)
Fills or clears a specific grid cell in the SongEditor.
bool removePattern(int nPatternNumber)
Removes a pattern from the pattern list.
bool activateLoopMode(bool bActivate)
Toggle loop mode of playback.
bool upgradeDrumkit(const QString &sDrumkitPath, const QString &sNewPath="")
Upgrades the drumkit found at absolute path sDrumkitPath.
void insertRecentFile(const QString sFilename)
Add sFilename to the list of recent songs in Preferences::m_recentFiles.
bool setMasterIsMuted(bool isMuted)
bool activateJackTransport(bool bActivate)
(De)activates the usage of Jack transport.
bool setStripIsMuted(int nStrip, bool isMuted)
bool setMasterVolume(float masterVolumeValue)
bool activateTimeline(bool bActivate)
(De)activates the usage of the Timeline.
bool activateJackTimebaseMaster(bool bActivate)
(De)activates the usage of Jack timebase master.
bool sendStripIsMutedFeedback(int nStrip)
bool setStripIsSoloed(int nStrip, bool isSoloed)
bool sendMasterVolumeFeedback()
bool initExternalControlInterfaces()
bool saveSongAs(const QString &sNewFilename)
Saves the current H2Core::Song to the path provided in sNewFilename.
bool extractDrumkit(const QString &sDrumkitPath, const QString &sTargetDir="")
Extracts the compressed .h2drumkit file in sDrumkitPath into sTargetDir.
bool saveSong()
Saves the current H2Core::Song.
bool deleteTag(int nPosition)
Delete a tag from the Timeline.
bool sendStripPanSymFeedback(int nStrip)
bool setStripPan(int nStrip, float fValue, bool bSelectStrip)
bool quit()
Triggers the shutdown of Hydrogen.
bool addTempoMarker(int nPosition, float fBpm)
Adds a tempo marker to the Timeline.
const int m_nDefaultMidiFeedbackChannel
bool openPattern(const QString &sPath, int nPatternNumber=-1)
Opens a pattern from disk and adds it to the pattern list.
bool handleOutgoingControlChanges(std::vector< int > params, int nValue)
Pattern class is a Note container.