37#include <QDomDocument>
63 void set(
int _x,
int _y,
int _width,
int _height,
bool _visible, QByteArray geometry = QByteArray() ) {
551 void setColorTheme(
const std::shared_ptr<ColorTheme> pNewColorTheme );
572#if defined(H2CORE_HAVE_OSC) || _DOXYGEN_
673 const std::shared_ptr<Theme>
getTheme()
const;
674 void setTheme(
const std::shared_ptr<Theme> pTheme );
733#if defined(H2CORE_HAVE_OSC) || _DOXYGEN_
1001 return m_pTheme->getInterfaceTheme()->m_layout;
1005 m_pTheme->getInterfaceTheme()->m_layout = layout;
1009 return m_pTheme->getInterfaceTheme()->m_scalingPolicy;
1013 m_pTheme->getInterfaceTheme()->m_scalingPolicy = scalingPolicy;
1017 return m_pTheme->getInterfaceTheme()->m_iconColor;
1021 m_pTheme->getInterfaceTheme()->m_iconColor = iconColor;
1159 return m_pTheme->getInterfaceTheme()->m_sQTStyle;
1162 m_pTheme->getInterfaceTheme()->m_sQTStyle = sStyle;
1165 return m_pTheme->getFontTheme()->m_sApplicationFontFamily;
1168 m_pTheme->getFontTheme()->m_sApplicationFontFamily = family;
1172 return m_pTheme->getFontTheme()->m_sLevel2FontFamily;
1175 m_pTheme->getFontTheme()->m_sLevel2FontFamily = family;
1179 return m_pTheme->getFontTheme()->m_sLevel3FontFamily;
1182 m_pTheme->getFontTheme()->m_sLevel3FontFamily = family;
1186 return m_pTheme->getFontTheme()->m_fontSize;
1189 m_pTheme->getFontTheme()->m_fontSize = fontSize;
1193 return m_pTheme->getInterfaceTheme()->m_fMixerFalloffSpeed;
1196 m_pTheme->getInterfaceTheme()->m_fMixerFalloffSpeed = value;
1261 m_pTheme->getInterfaceTheme()->m_patternColors = patternColors;
1264 return m_pTheme->getInterfaceTheme()->m_patternColors;
1267 m_pTheme->getInterfaceTheme()->m_nVisiblePatternColors = nValue;
1270 return m_pTheme->getInterfaceTheme()->m_nVisiblePatternColors;
1273 m_pTheme->getInterfaceTheme()->m_nMaxPatternColors = nValue;
1276 return m_pTheme->getInterfaceTheme()->m_nMaxPatternColors;
1280 m_pTheme->getInterfaceTheme()->m_coloringMethod = coloringMethod;
1284 return m_pTheme->getInterfaceTheme()->m_coloringMethod;
1355 m_pTheme->setColorTheme( pNewColorTheme );
1389#if defined(H2CORE_HAVE_OSC) || _DOXYGEN_
FontSize
Enables custom scaling of the font size in the GUI.
void setMaxBars(const int bars)
float getMixerFalloffSpeed()
WindowProperties audioEngineInfoProperties
void writeWindowProperties(XMLNode parent, const QString &windowName, const WindowProperties &prop)
Write the xml nodes related to window properties.
void setRestoreLastPlaylistEnabled(bool restore)
bool m_bShowAutomationArea
QString getLastImportDrumkitDirectory() const
QString m_sPortAudioDevice
WindowProperties getAudioEngineInfoProperties()
QString m_sLastExportPatternAsDirectory
bool isPlaylistUsingRelativeFilenames()
void setLastExportMidiDirectory(QString sPath)
void setRecentFiles(const std::vector< QString > recentFiles)
void setOscFeedbackEnabled(bool val)
bool m_bShowExportDrumkitAttributionWarning
void setPatternEditorGridHeight(unsigned value)
bool m_bShowInstrumentPeaks
QString getLastSaveSongAsDirectory() const
unsigned getSongEditorGridHeight()
WindowProperties m_playlistDialogProperties
QString m_sDefaultEditor
Default text editor (used by Playlisteditor)
bool inPunchArea(int pos)
void setPatternColors(std::vector< QColor > patternColors)
void setHearNewNotes(bool value)
bool getShowDevelWarning()
QString getLastPlaylistScriptDirectory() const
bool __useTimelineBpm
Whether to use local speeds specified along the Timeline or a constant tempo for the whole Song in Hy...
int getExportSampleDepthIdx() const
void setLastAddSongToPlaylistDirectory(QString sPath)
void setShowAutomationArea(bool value)
void setMidiExportMode(int nExportMode)
JackTrackOutputMode m_JackTrackOutputMode
Specifies which audio settings will be applied to the sample supplied in the JACK per track output po...
bool m_bUseRelativeFilenamesForPlaylists
void setHideKeyboardCursor(bool b)
static Preferences * get_instance()
Returns a pointer to the current Preferences singleton stored in __instance.
const QString & getLastSongFilename()
QString getLastExportPatternAsDirectory() const
void setLadspaProperties(unsigned nFX, const WindowProperties &prop)
WindowProperties songEditorProperties
bool __playselectedinstrument
void setMixerProperties(const WindowProperties &prop)
void setExportTemplateIdx(int nExportTemplateIdx)
void setPatternEditorProperties(const WindowProperties &prop)
int getExportSampleRateIdx() const
void setShowPlaybackTrack(bool val)
void setLastOpenTab(int n)
bool m_bOscFeedbackEnabled
Whether to send the current state of Hydrogen to the OSC clients.
WindowProperties getMainFormProperties()
void setQTStyle(const QString &sStyle)
const QString & getApplicationFontFamily() const
void setLastPlaylistDirectory(QString sPath)
int getExportModeIdx() const
void setMostRecentFX(QString)
void setLastExportLilypondDirectory(QString sPath)
void setSongEditorProperties(const WindowProperties &prop)
std::vector< QString > m_recentFiles
const QString & getQTStyle()
QString getLastAddSongToPlaylistDirectory() const
QString getLastExportLilypondDirectory() const
void setPatternEditorUsingTriplets(bool value)
void setExportModeIdx(int nExportMode)
int m_bJackMasterMode
Specifies if Hydrogen should run as JACK time master.
WindowProperties mixerProperties
unsigned m_nPatternEditorGridWidth
QString m_sAudioDriver
Audio driver.
const std::shared_ptr< ColorTheme > getColorTheme() const
QStringList getRecentFX()
unsigned m_nSampleRate
Sample rate of the audio.
bool m_bShowNoteOverwriteWarning
Last song used.
bool hideKeyboardCursor()
void setShowDevelWarning(bool value)
void setTheme(const std::shared_ptr< Theme > pTheme)
WindowProperties instrumentRackProperties
QString m_sPortAudioHostAPI
void setLastImportThemeDirectory(QString sPath)
QString getLastOpenSongDirectory() const
void setLastOpenLayerDirectory(QString sPath)
void setMaxLayers(const int layers)
bool savePreferences()
Save the preferences file.
bool m_bPatternEditorUsingTriplets
int getExportTemplateIdx() const
bool m_bEnableMidiFeedback
void setVisiblePatternColors(int nValue)
int getPatternEditorGridResolution()
void setColoringMethod(InterfaceTheme::ColoringMethod coloringMethod)
const QString & getLevel3FontFamily() const
void setIconColor(InterfaceTheme::IconColor iconColor)
QString getH2ProcessName()
void setDefaultEditor(QString editor)
@ NO_JACK_TRANSPORT
Specifies whether or not to use JACK transport capabilities.
@ USE_JACK_TIME_MASTER
Specifies that Hydrogen is using in the time master mode and will thus control specific aspects of th...
@ NO_JACK_TIME_MASTER
Specifies that Hydrogen is note using in the time master mode.
@ USE_JACK_TRANSPORT
Specifies whether or not to use JACK transport capabilities.
void setFXTabVisible(bool value)
void setInstrumentRackProperties(const WindowProperties &prop)
bool isPatternEditorUsingTriplets()
InterfaceTheme::Layout getDefaultUILayout()
WindowProperties getDirectorProperties()
bool m_bOscServerEnabled
Whether to start the OscServer thread.
void setSongEditorGridWidth(unsigned value)
QString m_sMidiOutputPortName
unsigned m_nSongEditorGridHeight
void setLastPlaylistScriptDirectory(QString sPath)
void setInstrumentPeaks(bool value)
void setApplicationFontFamily(const QString &family)
QString m_sLastImportDrumkitDirectory
void setRubberBandBatchMode(int val)
unsigned getPatternEditorGridHeight()
QString getLastOpenPatternDirectory() const
void setExportSampleDepthIdx(int nExportSampleDepthIdx)
QString m_sLastExportSongDirectory
QString m_sLastOpenPatternDirectory
void setPunchInPos(unsigned pos)
static void create_instance()
If __instance equals 0, a new Preferences singleton will be created and stored in it.
int m_nMaxLayers
Maximum number of layers to be used in the Instrument editor.
unsigned m_nPatternEditorGridHeight
int getMaxPatternColors() const
void setLastExportSongDirectory(QString sPath)
WindowProperties m_directorProperties
void setExportSampleRateIdx(int nExportSampleRateIdx)
void setLevel3FontFamily(const QString &family)
void setDirectorProperties(const WindowProperties &prop)
void setShowNoteOverwriteWarning(bool bValue)
const QString & getDataDirectory()
void setPlaylistDialogProperties(const WindowProperties &prop)
InterfaceTheme::IconColor getIconColor()
void setUseRelativeFilenamesForPlaylists(bool value)
QString m_sMidiDriver
MIDI driver.
WindowProperties getMixerProperties()
void setPreferencesOverwritePath(const QString &newPath)
Setting m_sPreferencesOverwritePath.
QString m_lastSongFilename
QString getNsmSongName(void)
unsigned m_nSongEditorGridWidth
void setLastOpenSongDirectory(QString sPath)
int m_nExportSampleRateIdx
int getMidiExportMode() const
bool getShowNoteOverwriteWarning()
bool m_bShowExportDrumkitCopyleftWarning
bool showInstrumentPeaks()
QString m_lastPlaylistFilename
void setNsmClientId(const QString &nsmClientId)
QString m_sLastExportThemeDirectory
bool getWaitForSessionHandler()
bool isRestoreLastSongEnabled()
bool isRestoreLastPlaylistEnabled()
void setLastOpenPatternDirectory(QString sPath)
bool m_bLoadingSuccessful
void setMainFormProperties(const WindowProperties &prop)
void setAudioEngineInfoProperties(const WindowProperties &prop)
std::list< QString > sServerList
JackTrackOutputMode
Specifies which audio settings will be applied to the sample supplied in the JACK per track output po...
@ postFader
Applies layer, component, and instrument gain, note and instrument pan, note velocity,...
@ preFader
Only layer gain and note velocity will be applied to the samples.
bool getOscServerEnabled()
bool loadPreferences(bool bGlobal)
Load the preferences file.
int m_nPatternEditorGridResolution
bool getUseTimelineBpm()
Whether to use the bpm of the timeline.
std::vector< QString > getRecentFiles() const
const QString & getLastPlaylistFilename()
bool waitingForSessionHandler
QString m_sLastExportDrumkitDirectory
QString m_sLastExportMidiDirectory
void setLastExportDrumkitDirectory(QString sPath)
QString m_sLastImportThemeDirectory
int getRubberBandBatchMode()
void setColorTheme(const std::shared_ptr< ColorTheme > pNewColorTheme)
std::list< QString > m_patternCategories
QString getLastImportThemeDirectory() const
FontTheme::FontSize getFontSize() const
const QString & getPreferredLanguage()
bool m_bJackConnectDefaults
Toggles auto-connecting of the main stereo output ports to the system's default ports when starting t...
const QString & getDefaultEditor()
QString m_sPreferencesOverwritePath
Full path to local preferences file.
bool getLoadingSuccessful() const
unsigned m_nMaxNotes
max notes
void setLastSongFilename(const QString &filename)
bool readPrefFileforotherplaces
QString getLastExportMidiDirectory() const
void setSongEditorGridHeight(unsigned value)
const std::shared_ptr< Theme > getTheme() const
bool m_bUseLash
Show development version warning?
bool getShowAutomationArea()
QString getLastExportSongDirectory() const
Changes
Bitwise or-able options showing which part of the Preferences were altered using the PreferencesDialo...
@ GeneralTab
Any option in the General tab appeared.
@ AppearanceTab
Any option in the Appearance tab excluding colors, font size, or font family.
@ Font
Either the font size or font family have changed.
@ Colors
At least one of the colors has changed.
@ OscTab
Any option in the OSC tab appeared.
@ MidiTab
Any option in the MIDI tab appeared.
@ AudioTab
Any option in the Audio tab appeared.
void setPreferredLanguage(const QString &sLanguage)
void setPunchOutPos(unsigned pos)
QString getLastOpenLayerDirectory() const
void setOscServerPort(int oscPort)
QString m_sAlsaAudioDevice
void setOscServerEnabled(bool val)
void setFontSize(FontTheme::FontSize fontSize)
QString m_sCoreAudioDevice
bool getShowPlaybackTrack() const
bool __playsamplesonclicking
InterfaceTheme::ColoringMethod getColoringMethod() const
bool m_bMidiDiscardNoteAfterAction
void setPatternEditorGridResolution(int value)
bool m_useTheRubberbandBpmChangeEvent
rubberband bpm change queue
bool m_bUseMetronome
If set to true, samples of the metronome will be added to H2Core::AudioEngine::m_songNoteQueue and th...
void setQuantizeEvents(bool value)
QString m_sLastOpenLayerDirectory
WindowProperties mainFormProperties
void setLastSaveSongAsDirectory(QString sPath)
void setUseTimelineBpm(bool val)
Setting __useTimelineBpm.
QString m_sOSSDevice
Device used for output.
InterfaceTheme::ScalingPolicy getUIScalingPolicy()
bool m_bMidiNoteOffIgnore
std::vector< QColor > getPatternColors() const
QString getLastExportThemeDirectory() const
QString m_sLastSaveSongAsDirectory
bool m_brestoreLastPlaylist
void setNsmSongName(const QString &nsmSongName)
QString m_rubberBandCLIexecutable
Rubberband CLI.
QString m_sLastAddSongToPlaylistDirectory
JackBBTSyncMethod m_JackBBTSync
Since Hydrogen uses both fixed pattern lengths and recalculates the tick size each time it encounters...
void setLastImportDrumkitDirectory(QString sPath)
void setRestoreLastSongEnabled(bool restore)
int m_nExportSampleDepthIdx
void setLastExportThemeDirectory(QString sPath)
void setLastOpenPlaybackTrackDirectory(QString sPath)
QString getLastOpenPlaybackTrackDirectory() const
WindowProperties patternEditorProperties
WindowProperties getPatternEditorProperties()
void setMaxPatternColors(int nValue)
WindowProperties getLadspaProperties(unsigned nFX)
bool m_bJackTimebaseEnabled
External applications with a faulty JACK timebase master implementation can mess up the transport wit...
void setDefaultUILayout(InterfaceTheme::Layout layout)
JackBBTSyncMethod
Specifies the variable, which has to remain constant in order to guarantee a working synchronization ...
@ constMeasure
The measure - could be any - does not change during the song.
@ identicalBars
The length of each pattern must match the measure of the corresponding bar in the timebase master.
bool getOscFeedbackEnabled()
const QString & getLevel2FontFamily() const
int m_nMaxBars
Maximum number of bars shown in the Song Editor at once.
WindowProperties getInstrumentRackProperties()
QString m_sLastPlaylistScriptDirectory
QString getNsmClientId(void)
bool m_bShowExportSongLicenseWarning
int getVisiblePatternColors() const
float m_fMetronomeVolume
Metronome volume FIXME: remove this volume!!
QString m_sLastExportLilypondDirectory
void setMixerFalloffSpeed(float value)
int m_nOscTemporaryPort
In case m_nOscServerPort is already occupied by another client, the alternative - random - port numbe...
WindowProperties readWindowProperties(XMLNode parent, const QString &windowName, WindowProperties defaultProp)
Read the xml nodes related to window properties.
bool m_bShowExportDrumkitLicenseWarning
static QString getNullMidiPort()
Choice of m_sMidiPortName and m_sMidiOutputPortName in case no port/device was selected.
WindowProperties getSongEditorProperties()
static Preferences * __instance
Object holding the current Preferences singleton.
int m_nOscServerPort
Port number the OscServer will be started at.
bool m_bJackTrackOuts
If set to true, JackAudioDriver::makeTrackOutputs() will create two individual left and right output ...
void setLevel2FontFamily(const QString &family)
unsigned getPatternEditorGridWidth()
void setH2ProcessName(const QString &processName)
int m_bJackTransportMode
Specifies whether or not Hydrogen will use the JACK transport system.
QString m_sPreferredLanguage
QString m_sLastOpenSongDirectory
bool m_bShowPlaybackTrack
QString getLastExportDrumkitDirectory() const
std::shared_ptr< Theme > m_pTheme
void setRecordEvents(bool value)
void setLastPlaylistFilename(const QString &filename)
WindowProperties getPlaylistDialogProperties()
unsigned m_nBufferSize
Buffer size of the audio.
unsigned getSongEditorGridWidth()
QString getLastPlaylistDirectory() const
QString m_sLastPlaylistDirectory
void setUIScalingPolicy(InterfaceTheme::ScalingPolicy policy)
void setWaitForSessionHandler(bool value)
QString getPreferencesOverwritePath()
Returns m_sPreferencesOverwritePath.
bool m_bHideKeyboardCursor
void setLastExportPatternAsDirectory(QString sPath)
QString m_sLastOpenPlaybackTrackDirectory
void setPatternEditorGridWidth(unsigned value)
WindowProperties m_ladspaProperties[MAX_FX]
void set(int _x, int _y, int _width, int _height, bool _visible, QByteArray geometry=QByteArray())
XMLNode is a subclass of QDomNode with read and write values methods.
#define MAX_FX
Maximum number of effects.