1 /* 2 Copyright (C) 2008, 2009 Andres Cabrera 3 mantaraya36@gmail.com 4 5 This file is part of CsoundQt. 6 7 CsoundQt is free software; you can redistribute it 8 and/or modify it under the terms of the GNU Lesser General Public 9 License as published by the Free Software Foundation; either 10 version 2.1 of the License, or (at your option) any later version. 11 12 CsoundQt is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU Lesser General Public License for more details. 16 17 You should have received a copy of the GNU Lesser General Public 18 License along with Csound; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 20 02111-1307 USA 21 */ 22 23 #ifndef OPTIONS_H 24 #define OPTIONS_H 25 26 #include <QString> 27 #include <QColor> 28 29 #include "csoundoptions.h" 30 31 class Options: public CsoundOptions{ 32 public: 33 Options(ConfigLists *configlists); 34 ~Options(); 35 36 QString theme; // Icon theme name 37 QString font; 38 float fontPointSize; 39 bool showLineNumberArea; 40 int lineEnding; // 0=Unix (LF) 1=Windows(CR+LF) 41 QString consoleFont; 42 float consoleFontPointSize; 43 QColor consoleFontColor; 44 QColor consoleBgColor; 45 QColor editorBgColor; 46 int tabWidth; 47 bool tabIndents; 48 bool colorVariables; 49 QString highlightingTheme; 50 bool autoPlay; 51 bool autoJoin; 52 bool saveChanges; 53 bool askIfTemporary; 54 bool rememberFile; 55 bool saveWidgets; 56 bool iconText; 57 bool showToolbar; 58 bool lockToolbar; 59 int toolbarIconSize; 60 bool wrapLines; 61 bool autoComplete; 62 bool autoParameterMode; 63 bool tabShortcutActive; 64 65 bool showWidgetsOnRun; 66 bool showTooltips; 67 int graphUpdateRate; 68 bool terminalFLTK; 69 bool oldFormat; // Store old MacCsound widget format 70 bool openProperties; // Open properties automatically when creating a widget 71 double fontScaling; 72 double fontOffset; 73 74 bool useAPI; 75 bool enableWidgets; 76 bool widgetsIndependent; // Widget layouts in Separate Window (instead of Dock Widget) 77 bool useInvalue; // If false use chnget 78 bool keyRepeat; 79 bool debugLiveEvents; 80 int consoleBufferSize; 81 int midiInterface; 82 QString midiInterfaceName; 83 int midiOutInterface; 84 QString midiOutInterfaceName; 85 int rtMidiApi; // "UNSPECIFIED" | "LINUX_ALSA" | "UNIX_JACK" | "MACOSX_CORE" | "WINDOWS_MM" see RtMidi.h 86 // Csound engine flags 87 bool noBuffer; 88 bool noPython; 89 bool noMessages; 90 bool noEvents; 91 92 QString csdPath; //path of active csd needed for setting -o -i paths 93 94 int menuDepth; 95 QString defaultCsd; 96 bool defaultCsdActive; 97 QString opcodexmldir; 98 bool opcodexmldirActive; 99 QString favoriteDir; 100 QString pythonDir; 101 QString pythonExecutable; 102 QString csoundExecutable; 103 QString logFile; 104 QString sdkDir; 105 QString templateDir; 106 107 typedef enum { 108 CS_ORC = 0x01, 109 CS_SCORE = 0x02, 110 PYTHON = 0x04, 111 LUA = 0x08, 112 QML = 0x0F 113 } CodeLanguage; 114 115 CodeLanguage evalLanguage; 116 // External applications 117 QString terminal; 118 QString browser; 119 QString dot; 120 QString waveeditor; 121 QString waveplayer; 122 QString pdfviewer; 123 int language; // Interface language 124 125 QString csdTemplate; 126 127 quint16 debugPort; 128 129 130 // Csound Utilities options 131 QString cvInputName; 132 QString cvOutputName; 133 QString cvSampleRate; 134 QString cvBeginTime; 135 QString cvDuration; 136 QString cvChannels; 137 138 QString hetInputName; 139 QString hetOutputName; 140 QString hetSampleRate; 141 QString hetChannel; 142 QString hetBeginTime; 143 QString hetDuration; 144 QString hetStartFrequency; 145 QString hetNumPartials; 146 QString hetMaxAmplitude; 147 QString hetMinAplitude; 148 QString hetNumBreakPoints; 149 QString hetFilterCutoff; 150 151 QString lpInputName; 152 QString lpOutputName; 153 QString lpSampleRate; 154 QString lpChannel; 155 QString lpBeginTime; 156 QString lpDuration; 157 QString lpNumPoles; 158 QString lpHopSize; 159 QString lpLowestFreq; 160 int lpVerbosity; 161 bool lpAlternateStorage; 162 163 QString pvInputName; 164 QString pvOutputName; 165 QString pvSampleRate; 166 QString pvChannel; 167 QString pvBeginTime; 168 QString pvDuration; 169 QString pvFrameSize; 170 QString pvOverlap; 171 int pvWindow; 172 QString pvBeta; 173 174 QString atsInputName; 175 QString atsOutputName; 176 QString atsBeginTime; 177 QString atsEndTime; 178 QString atsLowestFreq; 179 QString atsHighestFreq; 180 QString atsFreqDeviat; 181 QString atsWinCycle; 182 QString atsHopSize; 183 QString atsLowestMag; 184 QString atsTrackLen; 185 QString atsMinSegLen; 186 QString atsMinGapLen; 187 QString atsSmrThresh; 188 QString atsLastPkCon; 189 QString atsSmrContr; 190 int atsFileType; 191 int atsWindow; 192 }; 193 194 #endif 195