├── .gitignore ├── Makefile ├── README.md ├── ToDo list for Releases.txt ├── Version history.txt ├── extension ├── Addons.xcu ├── Language │ ├── deutsch.ini │ ├── english.ini │ ├── espanol.ini │ └── francais.ini ├── META-INF │ └── manifest.xml ├── OOoLilyPond │ ├── Batch.xba │ ├── Config.xba │ ├── Editor.xba │ ├── GUI_Ask.xdl │ ├── GUI_Batch.xdl │ ├── GUI_Config.xdl │ ├── GUI_Editor.xdl │ ├── GUI_Out.xdl │ ├── GUI_Tmpl.xdl │ ├── LilyPond.xba │ ├── Messages.xba │ ├── OOoLilyPond.xba │ ├── Templates.xba │ ├── Tools.xba │ ├── Vars.xba │ ├── dialog.xlb │ └── script.xlb ├── Office │ └── UI │ │ ├── BaseWindowState.xcu │ │ ├── BasicIDEWindowState.xcu │ │ ├── CalcWindowState.xcu │ │ ├── DrawWindowState.xcu │ │ ├── ImpressWindowState.xcu │ │ ├── MathWindowState.xcu │ │ ├── StartModuleWindowState.xcu │ │ └── WriterWindowState.xcu ├── description.xml ├── pkg-desc │ └── pkg-description.txt └── templates │ └── 2.12 │ ├── Default [SVG -dcrop].ly │ ├── Default [SVG].ly │ ├── Default.ly │ ├── Deutsch [SVG -dcrop].ly │ ├── Deutsch [SVG].ly │ ├── Deutsch.ly │ ├── Direct to LilyPond [SVG -dcrop].ly │ ├── Direct to LilyPond [SVG].ly │ ├── Direct to LilyPond.ly │ ├── Fret Board [SVG -dcrop].ly │ ├── Fret Board [SVG].ly │ ├── Fret Board.ly │ ├── Gitarrengriffe [SVG -dcrop].ly │ ├── Gitarrengriffe [SVG].ly │ ├── Gitarrengriffe.ly │ ├── Italiano [SVG -dcrop].ly │ ├── Italiano [SVG].ly │ ├── Italiano.ly │ ├── Piano [SVG -dcrop].ly │ ├── Piano [SVG].ly │ ├── Piano.ly │ ├── Relative [SVG -dcrop].ly │ ├── Relative [SVG].ly │ ├── Relative.ly │ ├── School Demo [SVG -dcrop].ly │ ├── School Demo [SVG].ly │ ├── School Demo.ly │ ├── School Piano Demo [SVG -dcrop].ly │ ├── School Piano Demo [SVG].ly │ ├── School Piano Demo.ly │ ├── Voice Exercise [SVG -dcrop].ly │ ├── Voice Exercise [SVG].ly │ └── Voice Exercise.ly ├── old-README.md ├── translation ├── de.yaml ├── fr.yaml ├── readme.md └── translate.py └── update ├── ooolilypond-update.xml ├── readme.md └── release-notes.txt /.gitignore: -------------------------------------------------------------------------------- 1 | *.oxt 2 | translation/extension-* 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Make file for the extension 2 | # Please type `make help` for usage information. 3 | 4 | VERSION := $(shell git describe --abbrev=0 --tags) 5 | 6 | all: clean oxt install 7 | 8 | clean: 9 | unopkg remove ooolilypond*.oxt || exit 0 10 | rm -f ooolilypond*.oxt 11 | rm -rf translation/extension-* 12 | 13 | oxt: 14 | cd extension && zip -r ../ooolilypond-$(VERSION).oxt * 15 | 16 | install: 17 | unopkg add ooolilypond-$(VERSION).oxt 18 | 19 | # translation 20 | 21 | de: clean oxtde installde 22 | 23 | oxtde: 24 | translation/translate.py de 25 | cd translation/extension-de && zip -r ../../ooolilypond-$(VERSION)-de.oxt * 26 | 27 | installde: 28 | unopkg add ooolilypond-$(VERSION)-de.oxt 29 | 30 | help: 31 | @echo "make reinstall extension from working directory" 32 | @echo "make clean uninstall all installed ooolilypond extensions" 33 | @echo "make oxt build oxt file" 34 | @echo "make install install oxt file in LibreOffice" 35 | @echo "make de reinstall the German extension from working directory" 36 | @echo "make oxtde translate and build German oxt file" 37 | @echo "make installde install German oxt file in LibreOffice" 38 | 39 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Wiki: [Home](https://github.com/openlilylib/LO-ly/wiki#ooolilypond) | [Download](https://github.com/openlilylib/LO-ly/wiki/Downloads#downloads) | [Installation](https://github.com/openlilylib/LO-ly/wiki/Installation#installation) | [Tutorial](https://github.com/openlilylib/LO-ly/wiki/Tutorial#tutorial) | [Advanced features](https://github.com/openlilylib/LO-ly/wiki/Advanced-features#advanced-features) | [Reference](https://github.com/openlilylib/LO-ly/wiki/Editor-(main-window-reference)#editor-main-window-reference) | [Configuration](https://github.com/openlilylib/LO-ly/wiki/Config#configuration-dialogue) 2 | 3 | # OOoLilyPond 4 | 5 | | *ANNOUNCEMENT* | 6 | | :---: | 7 | | **OOoLilyPond has moved to a new repository:** | 8 | | **https://github.com/OOoLilyPond** | 9 | | **All past/present/future development can be found at the new location. The page you are viewing right here contains all development up to V. 1.0.1, but it will no longer be maintained.** | 10 | 11 | OOoLilyPond (OLy) is a LibreOffice/OpenOffice extension to include LilyPond music fragments in text documents. 12 | 13 | ![editor object](https://raw.githubusercontent.com/KlausBlum/OLy-resources/master/images/editor-object-02.gif) 14 | 15 | ## Installation 16 | 17 | * Being a [LibreOffice]/[OpenOffice] extension, you need a version of LibreOffice / OpenOffice installed on your computer, first. 18 | * Second, the music engraving software [LilyPond] must be installed on your system. 19 | * Then just download the latest OLy release from the [download] page. 20 | * The extension can be installed either by opening it with LibreOffice or by following these steps in the menu: 21 | 22 | *Extras > Extension Manager… > Add…* 23 | 24 | and then choosing the downloaded extension file (.oxt). 25 | 26 | Your toolbars in Writer, Impress and Draw should now have a new "OLy" button which launches the extension. 27 | 28 | **You can find a detailed documentation [here in the wiki](https://github.com/openlilylib/LO-ly/wiki/Installation#installation).** 29 | 30 | ## Usage 31 | 32 | [LilyPond] is a powerful musical typesetting software that compiles given source code into graphical output, just like LaTeX does with mathematical formulas. 33 | 34 | OOoLilyPond enables you to enter LilyPond code from within your Office document. 35 | Both the resulting image and its source code will be embedded within the document. 36 | No need to keep any additional files other than the Writer/Draw/Impress document itself. 37 | 38 | To create a new OLy object, just click the "OLy" button and an editor window will open. Enter some LilyPond code and click the "LilyPond" button. After successful compiling, the editor window will close and the resulting image will be visible in your document. 39 | 40 | To edit an existing object, select it first and then click the "OLy" button. In the editor window you will have access to your code again. 41 | 42 | If you want to get to know LilyPond, a good place to start is the [introduction] into LilyPond. 43 | 44 | ### Compatibility 45 | 46 | OOoLilyPond (OLy) works with recent versions of LibreOffice and OpenOffice. Older versions should work as well. It has even been tested with OpenOffice 2.4 without issues. 47 | 48 | Update: Some partial incompatibilities have occured in LibreOffice 6.1.0 to 6.1.4 - see [Issue 22]. 49 | 50 | Any content (LilyPond code, templates, OLy configuration files) created with/for older OLy versions (OLy 0.3.x, OLy 0.4.x, OLy 0.5.x) will work with OLy 1.0.x, but not necessarily vice versa. 51 | 52 | 53 | [LibreOffice]: http://libreoffice.org/ 54 | [OpenOffice]: http://www.openoffice.org/ 55 | [LilyPond]: http://lilypond.org 56 | [download]: https://github.com/openlilylib/LO-ly/wiki/Downloads#downloads 57 | [introduction]: http://lilypond.org/introduction.html 58 | [Introduction into OOoLilyPond]: http://lilypondblog.org/2017/04/ooolilypond-creating-musical-snippets-in-libreoffice-documents/ 59 | [Scores of Beauty]: http://lilypondblog.org/ 60 | [Issue 22]: https://github.com/openlilylib/LO-ly/issues/22#issuecomment-462500338 61 | 62 | ### Contributors 63 | 64 | [Urs Liska](https://github.com/uliska) (infrastructure, GitHub repo) 65 | [Joram Berger](https://github.com/joram-berger) (infrastructure, feature ideas, improvements, translation) 66 | [Hannes E. Schäuble](https://github.com/edgar79) (improvements and fixes) 67 | [Ipsilon Fede](https://github.com/yfede) (feature ideas) 68 | [tapanis](https://github.com/tapanis) (error reports) 69 | Valentin Villenave (translation) 70 | Olivier Miakinen (translation) 71 | Fernando Villagran (translation) 72 | 73 | ### Authors 74 | 75 | Copyright © 2005 Geoffroy Piroux 76 | Copyright © 2009 Samuel Hartmann 77 | Copyright © 2017 Klaus Blum (current maintainer) 78 | 79 | ![a](https://raw.githubusercontent.com/KlausBlum/OLy-resources/master/images/score-a.png)![b](https://raw.githubusercontent.com/KlausBlum/OLy-resources/master/images/score-b.png)![c](https://raw.githubusercontent.com/KlausBlum/OLy-resources/master/images/score-c.png)![d](https://raw.githubusercontent.com/KlausBlum/OLy-resources/master/images/score-d.png)![e](https://raw.githubusercontent.com/KlausBlum/OLy-resources/master/images/score-e.png)![f](https://raw.githubusercontent.com/KlausBlum/OLy-resources/master/images/score-f.png) 80 | 81 | ## License 82 | 83 | This program is free software. It is licensed under the [GPL3]. 84 | 85 | [GPL3]: https://www.gnu.org/licenses/gpl.html "GPL3" 86 | -------------------------------------------------------------------------------- /ToDo list for Releases.txt: -------------------------------------------------------------------------------- 1 | ToDo list for new Releases: 2 | 3 | ----- Prior to creating Release: ----- 4 | (all that can be put into a dedicated branch) 5 | 6 | Version history.txt 7 | - add current version info 8 | 9 | /extension/description.xml 10 | - update version number 11 | 12 | ----- Create Release: ----- 13 | 14 | - create OXT file (from the above branch) 15 | * create ZIP file only with the contents 16 | of the "extension" subfolder 17 | and rename to *.OXT 18 | * for the OpenOffice version, use 19 | Addons.xcu from OLy 0.5.7 20 | 21 | - add release-notes.txt 22 | - add same text as Release description 23 | 24 | - now publish Release 25 | 26 | ----- After creating Release: ----- 27 | 28 | /update/ooolilypond-update.xml 29 | - update version number 30 | - update download link 31 | 32 | /update/release-notes.txt 33 | - add current version info 34 | 35 | (branch can now be merged into master) 36 | 37 | - update links in /wiki/downloads 38 | -------------------------------------------------------------------------------- /Version history.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openlilylib/LO-ly/b6046f05f2e3545fb993f0e8f6e5b0312396b04c/Version history.txt -------------------------------------------------------------------------------- /extension/Addons.xcu: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | com.sun.star.text.TextDocument,com.sun.star.drawing.DrawingDocument,com.sun.star.presentation.PresentationDocument 13 | 14 | 15 | vnd.sun.star.script:OOoLilyPond.OOoLilyPond.OOoLilyPond?language=Basic&location=application 16 | 17 | 18 | OLy 19 | 20 | 21 | _self 22 | 23 | 24 | 25 | 26 | com.sun.star.text.TextDocument 27 | 28 | 29 | vnd.sun.star.script:OOoLilyPond.OOoLilyPond.OOoLilyPondBatch?language=Basic&location=application 30 | 31 | 32 | Batch 33 | 34 | 35 | _self 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | com.sun.star.text.TextDocument,com.sun.star.drawing.DrawingDocument,com.sun.star.presentation.PresentationDocument 44 | 45 | 46 | vnd.sun.star.script:OOoLilyPond.OOoLilyPond.OOoLilyPond?language=Basic&location=application 47 | 48 | 49 | OOoLilyPond 50 | 51 | 52 | _self 53 | 54 | 55 | 56 | 57 | com.sun.star.text.TextDocument 58 | 59 | 60 | vnd.sun.star.script:OOoLilyPond.OOoLilyPond.OOoLilyPondBatch?language=Basic&location=application 61 | 62 | 63 | OOoLilyPond-Batch 64 | 65 | 66 | _self 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /extension/META-INF/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /extension/OOoLilyPond/Batch.xba: -------------------------------------------------------------------------------- 1 | 2 | 3 | ' Subs and Functions related with batch processing of all existing OLy objects in a Writer document 4 | 5 | Option Explicit 6 | 7 | Private iAskDialogReturnValue As Integer 8 | 9 | 10 | Function ConfirmBatchOperation () As Integer 11 | ' 1 = Abort 12 | ' 2 = No 13 | ' 3 = Yes 14 | ' 4 = All 15 | 16 | iAskDialogReturnValue = 2 17 | oAskDialog.Execute() 18 | ConfirmBatchOperation = iAskDialogReturnValue 19 | End Function 20 | 21 | 22 | Sub AskDlgAbortButton () 23 | iAskDialogReturnValue = 1 24 | oAskDialog.EndExecute() 25 | End Sub 26 | 27 | Sub AskDlgNoButton () 28 | iAskDialogReturnValue = 2 29 | oAskDialog.EndExecute() 30 | End Sub 31 | 32 | Sub AskDlgYesButton () 33 | iAskDialogReturnValue = 3 34 | oAskDialog.EndExecute() 35 | End Sub 36 | 37 | Sub AskDlgAllButton () 38 | iAskDialogReturnValue = 4 39 | oAskDialog.EndExecute() 40 | End Sub 41 | 42 | 43 | Sub PerformBatchProcessing () 44 | ' This function is called when the "Start" button in the Batch dialog is pressed. 45 | ' It creates a list of all OOoLilyPond objects, 46 | ' checks if they match the search criteria, 47 | ' performs the specified replacements 48 | ' and recompiles them without opening the editor dialog. 49 | Dim oDrawPage As Object 50 | Dim oCurrentObject As Object 51 | Dim oProgressBar As Object 52 | Dim iCount As Integer 53 | Dim i As Integer 54 | Dim iLastObject As Integer 55 | 56 | Dim oGraphic As Object 57 | ' Dim oDocCtrl As Object 58 | Dim oGraphicObjects () 59 | Dim sIdentifiers () 60 | Dim sImageNums () 61 | Dim sCurrentImageNum As String 62 | Dim sCurrentIdentifier As String 63 | Dim iPosInList As Integer 64 | Dim iAnswer As Integer 65 | Dim bAsk As Boolean ' checkbox state from Batch dialog 66 | Dim bCreateBackup As Boolean ' checkbox state from Batch dialog 67 | Dim bSaveConfig As Boolean 68 | Dim sURL As String 69 | 70 | 71 | oBatchDialog.getControl ("Process").setEnable (False) ' avoid multiple button presses 72 | 73 | bSaveConfig = False 74 | 75 | bAsk = CheckBoxStateToBool (oBatchDialog.getControl("bAsk").getState()) 76 | if bAsk <> bAskForEachObjectDefault Then 77 | bAskForEachObjectDefault = bAsk 78 | bSaveConfig = True 79 | End If 80 | 81 | bCreateBackup = False 82 | sURL = oDoc.getURL() ' see GetRelativeIncludeStatement () 83 | If (Not IsNull (sURL)) And Len (sURL) > 0 Then 84 | bCreateBackup = CheckBoxStateToBool (oBatchDialog.getControl("CreateBackup").getState()) 85 | If bCreateBackup <> bCreateBackupDefault Then 86 | bCreateBackupDefault = bCreateBackup 87 | bSaveConfig = True 88 | End If 89 | End If 90 | 91 | bKeepCrop = CheckBoxStateToBool (oBatchDialog.getControl("bKeepCrop").getState()) 92 | if bKeepCrop <> bBatchKeepCropDefault Then 93 | bBatchKeepCropDefault = bKeepCrop 94 | bSaveConfig = True 95 | End If 96 | 97 | If bSaveConfig Then SaveConfig() 98 | 99 | If bCreateBackup Then CreateBackup ("_" & TimeStamp ()) 100 | 101 | oBatchDialog.EndExecute() 102 | oAskDialog = createUnoDialog (DialogLibraries.GetByName (constOLyLibraryName).GetByName("GUI_Ask")) 103 | ReadDialogStringsFromVar (oAskDialog, sAskDialogStrings, "") 104 | 105 | oDrawPage = oDoc.DrawPage 106 | iCount = oDrawPage.Count 107 | oGraphicObjects = DimArray (iCount) 108 | sIdentifiers = DimArray (iCount) 109 | sImageNums = DimArray (iCount) 110 | iLastObject = -1 111 | ' Prepare list of objects to be processed: 112 | For i = 0 to iCount - 1 113 | oCurrentObject = oDrawPage.getByIndex (i) 114 | If IsOLyObject (oCurrentObject) Then 115 | sCurrentIdentifier = GetObjectIdentifier (oCurrentObject) 116 | If sCurrentIdentifier = "" Then ' not a multi-image object 117 | iLastObject = iLastObject + 1 118 | oGraphicObjects (iLastObject) = oCurrentObject 119 | sIdentifiers (iLastObject) = "" 120 | sImageNums (iLastObject) = "" 121 | Else ' multi-image object 122 | sCurrentImageNum = GetObjectImageNum (oCurrentObject) 123 | iPosInList = PosInArray (sIdentifiers, sCurrentIdentifier, iLastObject) 124 | If iPosInList = -1 Then ' array does not yet contain a sibling 125 | iLastObject = iLastObject + 1 126 | oGraphicObjects (iLastObject) = oCurrentObject 127 | sIdentifiers (iLastObject) = sCurrentIdentifier 128 | sImageNums (iLastObject) = sCurrentImageNum 129 | Else ' array already contains a sibling 130 | ' Dim sImNum As String ' obsolete, just for debugging 131 | ' sImNum = sImageNums (iPosInList) 132 | If HasHigherValue (sImageNums (iPosInList), sCurrentImageNum) Then 133 | oGraphicObjects (iPosInList) = oCurrentObject ' replace objects with higher ImageNum 134 | sIdentifiers (iPosInList) = sCurrentIdentifier 135 | sImageNums (iPosInList) = sCurrentImageNum 136 | End If 137 | End If 138 | End If 139 | End If 140 | next i 141 | 142 | oProgressBar = oDocCtrl.StatusIndicator 143 | oProgressBar.start (oMessages.getPropertyValue ("sMsgBatchProcessing"), iLastObject + 1) 144 | If bAsk Then 145 | iAnswer = 2 ' "No" 146 | iAskDialogReturnValue = 2 147 | Else 148 | iAnswer = 4 ' "All" 149 | iAskDialogReturnValue = 4 150 | End If 151 | 152 | ' now process objects from the list: 153 | For i = 0 to iLastObject 154 | 155 | oProgressBar.setValue (i + 1) 156 | oProgressBar.setText (oMessages.getPropertyValue ("sMsgBatchProcessing") & i + 1 & "/" & iLastObject + 1) 157 | 158 | ' Objects from OLy versions prior to 1.0.0 have no Custom 3 and 4 values. 159 | ' This might only be a problem when an existing template is changed to use these fields. 160 | ' To be on the safe side, provide the default values from the template: 161 | bUseDefaultCustom3 = True 162 | bUseDefaultCustom4 = True 163 | 164 | oCurrentGraphicObject = oGraphicObjects (i) ' global variable 165 | oDocCtrl.select (oCurrentGraphicObject) 166 | If ReadSelectionObject () Then ' create Cursor and read Attributes if Object is selected 167 | ' Now we know which template to use 168 | ReadTemplate (True) 169 | ' if bUseDefaultCustom3 or 4 are still False, fill in the default values: 170 | if bUseDefaultCustom3 Then sCustom3 = sDefaultCustom3 171 | if bUseDefaultCustom4 Then sCustom4 = sDefaultCustom4 172 | 173 | bSaveAsSeparateImages = bHasSeparateImages 174 | If oBatchDialog.getControl("SeparateImages_Yes").getState() Then bSaveAsSeparateImages = True 175 | If oBatchDialog.getControl("SeparateImages_No").getState() Then bSaveAsSeparateImages = False 176 | bIncludeTemplate = bContainsTemplate 177 | If oBatchDialog.getControl("IncludeTemplate_Yes").getState() Then bIncludeTemplate = True 178 | If oBatchDialog.getControl("IncludeTemplate_No").getState() Then bIncludeTemplate = False 179 | 180 | If MeetsCondition ("A") And MeetsCondition ("B") Then 181 | If (iAnswer = 4) And (iAskDialogReturnValue = 3) Then iAnswer = 3 ' Leave a chance to abort if errors have occured 182 | If iAnswer < 4 Then iAnswer = ConfirmBatchOperation () 183 | If iAnswer < 2 Then Exit For ' "Abort" 184 | If iAnswer > 2 Then ' "Yes" or "All" 185 | PerformReplacement ("A") 186 | PerformReplacement ("B") 187 | Make (true) 188 | End If 189 | End If 190 | End If 191 | next i 192 | oProgressBar.end() 193 | End Sub 194 | 195 | 196 | Function MeetsCondition (sID As String) As Boolean 197 | ' Indicates if the current OLy object meets the condition set in a rule in the Batch dialogue. 198 | ' sID = "A": rule 1 199 | ' sID = "B": rule 2 200 | 201 | Dim sSearchField As String 202 | 203 | On Error Goto ErrorHandler ' might happen if an argument for getControl() is invalid 204 | 205 | If oBatchDialog.getControl ("NoCondition_" & sID).getState() Then 206 | MeetsCondition = True 207 | Exit Function 208 | End If 209 | 210 | sSearchField = "" 211 | 212 | Select Case oBatchDialog.getControl ("sSearchField_" & sID).getText() 213 | Case "Code" 214 | sSearchField = sCode 215 | Case "Staff Size" 216 | If bStaffSizeFieldExists Then sSearchField = sStaffSize 217 | Case "Line Width" 218 | If bLineWidthFieldExists Then sSearchField = sLineWidth 219 | Case "Custom 1" 220 | If bCustom1FieldExists Then sSearchField = sCustom1 221 | Case "Custom 2" 222 | If bCustom2FieldExists Then sSearchField = sCustom2 223 | Case "Custom 3" 224 | If bCustom3FieldExists Then sSearchField = sCustom3 225 | Case "Custom 4" 226 | If bCustom4FieldExists Then sSearchField = sCustom4 227 | Case "Template name" 228 | sSearchField = sTemplate 229 | Case "Option 1" 230 | If bOption1FieldExists Then sSearchField = LyBoolToString (bOption1) 231 | Case "Option 2" 232 | If bOption2FieldExists Then sSearchField = LyBoolToString (bOption2) 233 | Case "Option 3" 234 | If bOption3FieldExists Then sSearchField = LyBoolToString (bOption3) 235 | Case "Option 4" 236 | If bOption4FieldExists Then sSearchField = LyBoolToString (bOption4) 237 | Case "(Staff Size label)" 238 | If bStaffSizeLabelExists Then sSearchField = sStaffSizeLabel 239 | Case "(Line Width label)" 240 | If bLineWidthLabelExists Then sSearchField = sLineWidthLabel 241 | Case "(Custom 1 label)" 242 | If bCustom1LabelExists Then sSearchField = sCustom1Label 243 | Case "(Custom 2 label)" 244 | If bCustom2LabelExists Then sSearchField = sCustom2Label 245 | Case "(Custom 3 label)" 246 | If bCustom3LabelExists Then sSearchField = sCustom3Label 247 | Case "(Custom 4 label)" 248 | If bCustom4LabelExists Then sSearchField = sCustom4Label 249 | Case "(Option 1 label)" 250 | If bOption1LabelExists Then sSearchField = sOption1Label 251 | Case "(Option 2 label)" 252 | If bOption2LabelExists Then sSearchField = sOption2Label 253 | Case "(Option 3 label)" 254 | If bOption3LabelExists Then sSearchField = sOption3Label 255 | Case "(Option 4 label)" 256 | If bOption4LabelExists Then sSearchField = sOption4Label 257 | End Select 258 | 259 | If oBatchDialog.getControl ("ConditionContains_" & sID).getState() Then 260 | Dim iSearchMode As Integer 261 | iSearchMode = 0 262 | If CheckBoxStateToBool (oBatchDialog.getControl ("IgnoreCase_" & sID).getState()) Then iSearchMode = 1 263 | MeetsCondition = (InStr (1, sSearchField, oBatchDialog.getControl ("sSearch_" & sID).getText(), iSearchMode) > 0) 264 | Exit Function 265 | End If 266 | 267 | If oBatchDialog.getControl ("ConditionIs_" & sID).getState() Then 268 | MeetsCondition = (sSearchField = oBatchDialog.getControl ("sSearch_" & sID).getText()) 269 | Exit Function 270 | End If 271 | 272 | ErrorHandler: 273 | MeetsCondition = False 274 | End Function 275 | 276 | 277 | Sub PerformReplacement (sID As String) 278 | ' Perform the changes set in a rule in the Batch dialogue. 279 | ' sID = "A": rule 1 280 | ' sID = "B": rule 2 281 | 282 | Dim sReplaceString As String 283 | 284 | On Error Goto ErrorHandler ' might happen if an argument for getControl() is invalid 285 | 286 | If oBatchDialog.getControl ("NoChange_" & sID).getState() Then 287 | Exit Sub 288 | End If 289 | 290 | If oBatchDialog.getControl ("SetUseDefault_" & sID).getState() Then 291 | Select Case oBatchDialog.getControl ("sSearchField_" & sID).getText() 292 | Case "Code" 293 | sCode = sDefaultCode 294 | bUseDefaultCode = True 295 | Case "Staff Size" 296 | sStaffSize = sDefaultStaffSize 297 | bUseDefaultStaffSize = True 298 | Case "Line Width" 299 | sLineWidth = sDefaultLineWidth 300 | bUseDefaultLineWidth = True 301 | Case "Custom 1" 302 | sCustom1 = sDefaultCustom1 303 | bUseDefaultCustom1 = True 304 | Case "Custom 2" 305 | sCustom2 = sDefaultCustom2 306 | bUseDefaultCustom2 = True 307 | Case "Custom 3" 308 | sCustom3 = sDefaultCustom3 309 | bUseDefaultCustom3 = True 310 | Case "Custom 4" 311 | sCustom4 = sDefaultCustom4 312 | bUseDefaultCustom4 = True 313 | Case "Template name" 314 | sTemplate = sWriterDefaultTemplate 315 | ReadTemplate (True) 316 | Case "Option 1" 317 | If bOption1FieldExists Then bOption1 = bDefaultOption1 318 | Case "Option 2" 319 | If bOption2FieldExists Then bOption2 = bDefaultOption2 320 | Case "Option 3" 321 | If bOption3FieldExists Then bOption3 = bDefaultOption3 322 | Case "Option 4" 323 | If bOption4FieldExists Then bOption4 = bDefaultOption4 324 | End Select 325 | Exit Sub 326 | End If 327 | 328 | sReplaceString = oBatchDialog.getControl ("sReplace_" & sID).getText() 329 | 330 | If oBatchDialog.getControl ("ReplaceWholeField_" & sID).getState() Then 331 | Select Case oBatchDialog.getControl ("sSearchField_" & sID).getText() 332 | Case "Code" 333 | sCode = sReplaceString 334 | bUseDefaultCode = False 335 | Case "Staff Size" 336 | sStaffSize = sReplaceString 337 | bUseDefaultStaffSize = False 338 | Case "Line Width" 339 | sLineWidth = sReplaceString 340 | bUseDefaultLineWidth = False 341 | Case "Custom 1" 342 | sCustom1 = sReplaceString 343 | bUseDefaultCustom1 = False 344 | Case "Custom 2" 345 | sCustom2 = sReplaceString 346 | bUseDefaultCustom2 = False 347 | Case "Custom 3" 348 | sCustom3 = sReplaceString 349 | bUseDefaultCustom3 = False 350 | Case "Custom 4" 351 | sCustom4 = sReplaceString 352 | bUseDefaultCustom4 = False 353 | Case "Template name" 354 | sTemplate = sReplaceString 355 | ReadTemplate (True) 356 | Case "Option 1" 357 | If bOption1FieldExists Then bOption1 = LyStringToBool (sReplaceString) 358 | Case "Option 2" 359 | If bOption2FieldExists Then bOption2 = LyStringToBool (sReplaceString) 360 | Case "Option 3" 361 | If bOption3FieldExists Then bOption3 = LyStringToBool (sReplaceString) 362 | Case "Option 4" 363 | If bOption4FieldExists Then bOption4 = LyStringToBool (sReplaceString) 364 | End Select 365 | Exit Sub 366 | End If 367 | 368 | Dim ISearchMode As Integer 369 | iSearchMode = 0 370 | If CheckBoxStateToBool (oBatchDialog.getControl ("IgnoreCase_" & sID).getState()) Then iSearchMode = 1 371 | 372 | If oBatchDialog.getControl ("ReplaceSearchedString_" & sID).getState() Then 373 | Select Case oBatchDialog.getControl ("sSearchField_" & sID).getText() 374 | Case "Code" 375 | ReplaceSubStrings (sCode, oBatchDialog.getControl ("sSearch_" & sID).getText(), sReplaceString, iSearchMode) 376 | bUseDefaultCode = False 377 | Case "Staff Size" 378 | ReplaceSubStrings (sStaffSize, oBatchDialog.getControl ("sSearch_" & sID).getText(), sReplaceString, iSearchMode) 379 | bUseDefaultStaffSize = False 380 | Case "Line Width" 381 | ReplaceSubStrings (sLineWidth, oBatchDialog.getControl ("sSearch_" & sID).getText(), sReplaceString, iSearchMode) 382 | bUseDefaultLineWidth = False 383 | Case "Custom 1" 384 | ReplaceSubStrings (sCustom1, oBatchDialog.getControl ("sSearch_" & sID).getText(), sReplaceString, iSearchMode) 385 | bUseDefaultCustom1 = False 386 | Case "Custom 2" 387 | ReplaceSubStrings (sCustom2, oBatchDialog.getControl ("sSearch_" & sID).getText(), sReplaceString, iSearchMode) 388 | bUseDefaultCustom2 = False 389 | Case "Custom 3" 390 | ReplaceSubStrings (sCustom3, oBatchDialog.getControl ("sSearch_" & sID).getText(), sReplaceString, iSearchMode) 391 | bUseDefaultCustom3 = False 392 | Case "Custom 4" 393 | ReplaceSubStrings (sCustom4, oBatchDialog.getControl ("sSearch_" & sID).getText(), sReplaceString, iSearchMode) 394 | bUseDefaultCustom4 = False 395 | Case "Template name" 396 | ReplaceSubStrings (sTemplate, oBatchDialog.getControl ("sSearch_" & sID).getText(), sReplaceString, iSearchMode) 397 | ReadTemplate (True) 398 | ' "Option 1" ... "Option 4" not available 399 | End Select 400 | Exit Sub 401 | End If 402 | 403 | ErrorHandler: 404 | End Sub 405 | 406 | 407 | Sub GrayOutBatchOptions_A 408 | ' Is called when Search field has been changed in Rule 1 409 | GrayOutBatchOptions ("A") 410 | End Sub 411 | 412 | Sub GrayOutBatchOptions_B 413 | ' Is called when Search field has been changed in Rule 2 414 | GrayOutBatchOptions ("B") 415 | End Sub 416 | 417 | 418 | Sub GrayOutBatchOptions (sID As String) 419 | ' Grey out the radio buttons in the Batch dialogue that should not be available 420 | ' sID = "A": rule 1 421 | ' sID = "B": rule 2 422 | 423 | Dim sControlStr As String 424 | 425 | On Error GoTo ErrorHandler 426 | sControlStr = Left (oBatchDialog.getControl ("sSearchField_" & sID).getText(), 1) 427 | If sControlStr = "(" Then ' contains "...label" 428 | oBatchDialog.getControl("NoChange_" & sID).setState (True) 429 | oBatchDialog.getControl("SetUseDefault_" & sID).setEnable (False) 430 | oBatchDialog.getControl("ReplaceWholeField_" & sID).setEnable (False) 431 | oBatchDialog.getControl("ReplaceSearchedString_" & sID).setEnable (False) 432 | oBatchDialog.getControl("ConditionContains_" & sID).setEnable (True) 433 | Else ' nothing with "...label" 434 | oBatchDialog.getControl("SetUseDefault_" & sID).setEnable (True) 435 | oBatchDialog.getControl("ReplaceWholeField_" & sID).setEnable (True) 436 | If sControlStr = "O" Then ' begins with "Option..." 437 | If oBatchDialog.getControl("ConditionContains_" & sID).getState () Then 438 | oBatchDialog.getControl("ConditionIs_" & sID).setState (True) 439 | End If 440 | If oBatchDialog.getControl("ReplaceSearchedString_" & sID).getState () Then 441 | oBatchDialog.getControl("ReplaceWholeField_" & sID).setState (True) 442 | End If 443 | oBatchDialog.getControl("ConditionContains_" & sID).setEnable (False) 444 | oBatchDialog.getControl("ReplaceSearchedString_" & sID).setEnable (False) 445 | Else ' not an "Option..." checkbox 446 | oBatchDialog.getControl("ConditionContains_" & sID).setEnable (True) 447 | oBatchDialog.getControl("ReplaceSearchedString_" & sID).setEnable (Len (oBatchDialog.getControl ("sSearch_" & sID).getText()) > 0) 448 | ' True if sSearch... contains at least one character 449 | End If 450 | End If 451 | ErrorHandler: 452 | End Sub 453 | 454 | 455 | -------------------------------------------------------------------------------- /extension/OOoLilyPond/GUI_Ask.xdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /extension/OOoLilyPond/GUI_Batch.xdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /extension/OOoLilyPond/GUI_Config.xdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | -------------------------------------------------------------------------------- /extension/OOoLilyPond/GUI_Editor.xdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /extension/OOoLilyPond/GUI_Out.xdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /extension/OOoLilyPond/GUI_Tmpl.xdl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /extension/OOoLilyPond/Vars.xba: -------------------------------------------------------------------------------- 1 | 2 | 3 | Option Explicit 4 | 5 | ' Constants for general file names, will be defined in PrivateConstants() 6 | Private constOLyFileName As String ' beginning of File Name for temporary files 7 | Private constOLyLibraryName As String ' name of the macro library among the OpenOffice / LibreOffice macros 8 | Private constOLyWinConfigFileName As String ' Config file name for Windows version 9 | Private constOLyWinConfigFolderName As String ' Folder name where Config file and the Template subfolder are located (Windows version) 10 | 11 | Private oMessages As Variant ' PropertyBag for all message box strings and stuff related to them 12 | 13 | Private sEditorDialogStrings As String 14 | Private sTemplateDialogStrings As String 15 | Private sConfigDialogStrings As String 16 | Private sOutputDialogStrings As String 17 | Private sBatchDialogStrings As String 18 | Private sBatchDialogRuleSetStrings As String 19 | Private sAskDialogStrings As String 20 | 21 | ' Paths 22 | Private sConfigFile As String 23 | Private sLilyPondExecutable As String 24 | Private sTemplatePath As String 25 | Private sLanguagePath As String 26 | Private sExtEditorExecutable As String 27 | Private sIncludeStatement As String 28 | Private sEditorFontName As String 29 | Private sEditorFontSize As String 30 | Private sPdfToSvgPrologue As String 31 | Private sPdfToSvgEpilogue As String 32 | Private sTmpPath As String 33 | Private sTempLyFilePath As String ' Path for tremp. file sent to external editor (sTmpPath or document path) 34 | Private bTempLyFileCreated As Boolean 35 | 36 | ' Settings 37 | Private sFormat As String 38 | Private sExtension As String ' needed because sFormat = "pdf to svg" means sExtension = "svg" 39 | Private iGraphicDPI As Integer 40 | Private bTransparentBackground As Boolean 41 | Private sWriterDefaultTemplate As String 42 | Private sImpressDefaultTemplate As String 43 | Private iWriterDefaultAnchor As Integer 44 | Private iWriterDefaultWrap As Integer 45 | Private bIgnoreWarnings As Boolean 46 | Private bWriterInsertViaClipboard As Boolean 47 | Private bImpressInsertViaClipboard As Boolean 48 | Private bWriterKeepCrop As Boolean 49 | Private bImpressKeepCrop As Boolean 50 | Private sLanguageFileName As String 51 | Private bKeepTempFiles As Boolean 52 | Private bTempLyFileInDocFolder As Boolean ' save temp. LY file for ext. editor into LO document folder? 53 | Private bIncludeTemplate As Boolean 54 | Private bContainsTemplate As Boolean 55 | Private bTemplateSaved As Boolean 56 | Private sTemplateLocationLabel As String ' <> "" if template not in standard template folder 57 | Private sTemplateLocationHelptext As String 58 | Private bNewObjectsAsSeparateImages As Boolean ' Config Dialog: default for new objects 59 | Private bHasSeparateImages As Boolean ' selected object consists of separate images? 60 | Private bSaveAsSeparateImages As Boolean ' save current snippet as separate images? 61 | Private iFrom As Integer ' if > 0: first image to be inserted 62 | Private iTo As Integer ' if > 0: last image to be inserted 63 | Private bUseSecondSvgParam As Boolean ' insert "filename.svg" into PdfToSvg command or not? 64 | Private bAskForEachObjectDefault As Boolean ' remembered state for "Ask for each object" from Batch dialog 65 | Private bCreateBackupDefault As Boolean ' remembered state for "Create backup" from Batch dialog 66 | Private bBatchKeepCropDefault As Boolean ' remembered state for "Keep size & crop settings" from Batch dialog 67 | 68 | 69 | ' Environment 70 | Private sOSType As String 71 | Private bInWriter As Boolean 72 | Private sLilyPondVersionMajor As String 73 | Private sLilyPondVersionMinor As String 74 | 75 | ' Dialog Objects 76 | Private oEditorDialog As Object ' OOoLilyPond Editor Dialog (Main Dialog) 77 | Private oTemplateEditorDialog As Object ' Template Editor Dialog 78 | Private oConfigDialog As Object ' Configuration Dialog 79 | Private oOutputDialog As Object ' LilyPond Output Dialog 80 | Private oBatchDialog As Object ' Batch Processing Dialog 81 | Private oAskDialog As Object ' Confirmation Dialog during batch processing 82 | 83 | ' OOoLilyPond object data 84 | Private sTemplate As String ' The name of the template used 85 | Private sCode As String ' The LilyPond code snippet 86 | Private sLineWidth As String 87 | Private sStaffSize As String 88 | Private sCustom1 As String 89 | Private sCustom2 As String 90 | Private sCustom3 As String 91 | Private sCustom4 As String 92 | Private bOption1 As Boolean 93 | Private bOption2 As Boolean 94 | Private bOption3 As Boolean 95 | Private bOption4 As Boolean 96 | 97 | ' code segments to be switched on/off by bOption1 ... bOption4 98 | Private sOption1True As String 99 | Private sOption2True As String 100 | Private sOption3True As String 101 | Private sOption4True As String 102 | Private sOption1False As String 103 | Private sOption2False As String 104 | Private sOption3False As String 105 | Private sOption4False As String 106 | 107 | ' OOoLilyPond object default data 108 | Private sDefaultCode As String 109 | Private sDefaultLineWidth As String 110 | Private sDefaultStaffSize As String 111 | Private sDefaultCustom1 As String 112 | Private sDefaultCustom2 As String 113 | Private sDefaultCustom3 As String 114 | Private sDefaultCustom4 As String 115 | Private bDefaultOption1 As Boolean 116 | Private bDefaultOption2 As Boolean 117 | Private bDefaultOption3 As Boolean 118 | Private bDefaultOption4 As Boolean 119 | 120 | Private sDefaultLineWidthLabel As String 121 | Private sDefaultStaffSizeLabel As String 122 | Private sDefaultCustom1Label As String 123 | Private sDefaultCustom2Label As String 124 | Private sDefaultCustom3Label As String 125 | Private sDefaultCustom4Label As String 126 | Private sDefaultOption1Label As String 127 | Private sDefaultOption2Label As String 128 | Private sDefaultOption3Label As String 129 | Private sDefaultOption4Label As String 130 | 131 | Private sLineWidthLabel As String 132 | Private sStaffSizeLabel As String 133 | Private sCustom1Label As String 134 | Private sCustom2Label As String 135 | Private sCustom3Label As String 136 | Private sCustom4Label As String 137 | Private sOption1Label As String 138 | Private sOption2Label As String 139 | Private sOption3Label As String 140 | Private sOption4Label As String 141 | 142 | Private iAnchor As Integer 143 | Private iOriginalAnchor As Integer 144 | Private iAnchorPageNo As Integer 145 | Private iWrap As Integer 146 | 147 | ' Use Default Flags 148 | Private bUseDefaultCode As Boolean 149 | Private bUseDefaultStaffSize As Boolean 150 | Private bUseDefaultLineWidth As Boolean 151 | Private bUseDefaultCustom1 As Boolean 152 | Private bUseDefaultCustom2 As Boolean 153 | Private bUseDefaultCustom3 As Boolean 154 | Private bUseDefaultCustom4 As Boolean 155 | Private bUseLineWidthFromTemplate As String 156 | Private bUseStaffSizeFromTemplate As String 157 | 158 | ' Code related strings 159 | Private sTemplateCode As String ' String containing the template 160 | Private sLanguageCode As String ' String containing the language file 161 | Private sLilyPondCode As String ' The input sent to LilyPond 162 | Private iCodeStartPos As Integer ' Position of Code Snipped within sLilyPondCode 163 | Private iLineWidthStartPos As Integer 164 | Private iStaffSizeStartPos As Integer 165 | Private iCustom1StartPos As Integer 166 | Private iCustom2StartPos As Integer 167 | Private iCustom3StartPos As Integer 168 | Private iCustom4StartPos As Integer 169 | 170 | ' Selected shape's variables... 171 | Private oShapeSize As Object 172 | Private oShapePosition As Object 173 | Private oShapeCrop As Object 174 | Private bShapeIsSelected As Boolean 175 | Private bKeepCrop As Boolean 176 | 177 | ' SimpleFileAccess Service 178 | Private oFileAccess As Object 179 | 180 | ' Error Messages 181 | Private iErrRow(1000) As Integer 'row of error 182 | Private iErrCol(1000) As Integer 'column of error 183 | Private iErrClass(1000) As Integer '1 = warning, 2 = error 184 | Private sErrMsg(1000) As String 'error messages 185 | Private lErrMsgHighlightColor As Long ' background color for error message label when highlighted 186 | Private iNErr As Integer 'number of errors 187 | Private iErrNum As Integer 'number of error actually displayed 188 | Private sLanguageEntryErrors As String ' collection of errors while reading a language file 189 | Private iLanguageEntryErrors As Integer ' number of errors while reading a language file 190 | 191 | 192 | ' Flags used for graying out the input fields 193 | Private bLineWidthFieldExists As Boolean 194 | Private bStaffSizeFieldExists As Boolean 195 | Private bCustom1FieldExists As Boolean 196 | Private bCustom2FieldExists As Boolean 197 | Private bCustom3FieldExists As Boolean 198 | Private bCustom4FieldExists As Boolean 199 | Private bOption1FieldExists As Boolean 200 | Private bOption2FieldExists As Boolean 201 | Private bOption3FieldExists As Boolean 202 | Private bOption4FieldExists As Boolean 203 | 204 | Private bLineWidthLabelExists As Boolean 205 | Private bStaffSizeLabelExists As Boolean 206 | Private bCustom1LabelExists As Boolean 207 | Private bCustom2LabelExists As Boolean 208 | Private bCustom3LabelExists As Boolean 209 | Private bCustom4LabelExists As Boolean 210 | Private bOption1LabelExists As Boolean 211 | Private bOption2LabelExists As Boolean 212 | Private bOption3LabelExists As Boolean 213 | Private bOption4LabelExists As Boolean 214 | 215 | ' some global objects: 216 | Private oDoc As Object ' ThisComponent 217 | Private oDocCtrl As Object ' ThisComponent.CurrentController 218 | ' Private oSelection As Object 219 | Private oCurrentGraphicObject As Object 220 | Private oCurrentCursor As Object 221 | 222 | Private sGlobalIdentifier As String 223 | Private sGlobalImageNum As String 224 | 225 | ' PrivateConstants do not exist therefore use variables instead 226 | ' and set the values by calling this function in Main(). 227 | Private iMsgBox_O, iMsgBox_OC, iMsgBox_AR, iMsgBox_YNC, iMsgBox_YN, iMsgBox_RC, iMsgBox_S, iMsgBox_Q, iMsgBox_E, iMsgBox_I, iMsgBox_1, iMsgBox_2, iMsgBox_3 As Integer 228 | Private iAnswer_OK, iAnswer_Cancel, iAnswer_Abort, iAnswer_Retry, iAnswer_Ignore, iAnswer_Yes, iAnswer_No 229 | Private iMaxLanguageEntryError As Integer 230 | Sub PrivateConstants() 231 | ' MsgBox Options 232 | iMsgBox_O = 0 ' Display OK button only. 233 | iMsgBox_OC = 1 ' Display OK and Cancel buttons. 234 | iMsgBox_AR = 2 ' Display Abort, Retry, and Ignore buttons. 235 | iMsgBox_YNC = 3 ' Display Yes, No and Cancel buttons. 236 | iMsgBox_YN = 4 ' Display Yes and No buttons. 237 | iMsgBox_RC = 5 ' Display Retry and Cancel buttons. 238 | iMsgBox_S = 16 ' Add the Stop icon to the dialog. 239 | iMsgBox_Q = 32 ' Add the Question icon to the dialog. 240 | iMsgBox_E = 48 ' Add the Exclamation icon to the dialog. 241 | iMsgBox_I = 64 ' Add the Information icon to the dialog. 242 | iMsgBox_1 = 128 ' First button in the dialog as default button. 243 | iMsgBox_2 = 256 ' Second button in the dialog as default button. 244 | iMsgBox_3 = 512 ' Third button in the dialog as default button. 245 | ' MsgBox Answers 246 | iAnswer_OK=1 247 | iAnswer_Cancel=2 248 | iAnswer_Abort=3 249 | iAnswer_Retry=4 250 | iAnswer_Ignore=5 251 | iAnswer_Yes=6 252 | iAnswer_No=7 253 | 254 | ' Constants for general file names: 255 | ' constOLyFileName = "LoLilyPond" ' beginning of File Name for temporary files 256 | constOLyFileName = "OOoLilyPond" ' beginning of File Name for temporary files 257 | constOLyLibraryName = "OOoLilyPond" ' name of the macro library among the OpenOffice / LibreOffice macros 258 | ' constOLyWinConfigFileName = "lolilypond-config" ' Config file name for Windows version 259 | constOLyWinConfigFileName = "ooolilypond-config" ' Config file name for Windows version 260 | constOLyWinConfigFolderName = "OOoLilyPond" ' Folder name where Config file and the Template subfolder are located (Windows version) 261 | 262 | iMaxLanguageEntryError = 6 ' maximal number of Language file entry errors to be displayed in message box 263 | lErrMsgHighlightColor = &Hf4b0b0 264 | 265 | End Sub 266 | 267 | -------------------------------------------------------------------------------- /extension/OOoLilyPond/dialog.xlb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /extension/OOoLilyPond/script.xlb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /extension/Office/UI/BaseWindowState.xcu: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | OOoLilyPond 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /extension/Office/UI/BasicIDEWindowState.xcu: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | OOoLilyPond 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /extension/Office/UI/CalcWindowState.xcu: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | OOoLilyPond 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /extension/Office/UI/DrawWindowState.xcu: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | OOoLilyPond 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /extension/Office/UI/ImpressWindowState.xcu: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | OOoLilyPond 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /extension/Office/UI/MathWindowState.xcu: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | OOoLilyPond 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /extension/Office/UI/StartModuleWindowState.xcu: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | OOoLilyPond 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /extension/Office/UI/WriterWindowState.xcu: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | OOoLilyPond 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /extension/description.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | OOoLilyPond 17 | 18 | 19 | 20 | Samuel Hartmann, Klaus Blum et al. 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /extension/pkg-desc/pkg-description.txt: -------------------------------------------------------------------------------- 1 | OOoLilyPond enables the inclusion of music notation 2 | in OpenOffice.org or LibreOffice Writer, Draw and Impress documents. 3 | The music expression is entered as a text code and then 4 | translated to an image (png, eps or svg) using LilyPond. 5 | 6 | https://github.com/OOoLilyPond 7 | http://lilypond.org 8 | 9 | Copyright (c) 2006-2009 Samuel Hartmann 10 | (samuel_hartmann@users.sourceforge.net) 11 | (c) 2017 Klaus Blum 12 | (ooolilypond@web.de) 13 | -------------------------------------------------------------------------------- /extension/templates/2.12/Default [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | \transpose %{OOoLilyPondCustom1%}c c'%{OOoLilyPondEnd%} 2 | { 3 | %{OOoLilyPondCode%}% For getting started read (copy URL into your web browser): 4 | % https://github.com/openlilylib/LO-ly 5 | % http://lilypond.org/doc/stable/Documentation/learning/simple-notation% 6 | % 7 | % Use the "Custom 1" to transpose your music expression. E. g. try "e a'". 8 | 9 | \key e \major e8 fis gis e fis8 b,4. | e2\fermata \bar "|." 10 | %{OOoLilyPondEnd%} 11 | } 12 | 13 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 14 | #(define version-seen #t) 15 | 16 | \paper { 17 | ragged-right = ##t 18 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 19 | 20 | #(define fonts 21 | (make-pango-font-tree 22 | "TeXGyreSchola" ; adjust this font name according to your needs 23 | "TeXGyreHeros" ; adjust this font name according to your needs 24 | "TeXGyreCursor" ; adjust this font name according to your needs 25 | (/ staff-height pt 20))) 26 | } % Those 3 font families have to be installed on your system 27 | 28 | \layout { 29 | indent = #0 30 | \context { 31 | \Score 32 | \remove "Bar_number_engraver" 33 | } 34 | } 35 | 36 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Default [SVG].ly: -------------------------------------------------------------------------------- 1 | \transpose %{OOoLilyPondCustom1%}c c'%{OOoLilyPondEnd%} 2 | { 3 | %{OOoLilyPondCode%}% For getting started read (copy URL into your web browser): 4 | % https://github.com/openlilylib/LO-ly 5 | % http://lilypond.org/doc/stable/Documentation/learning/simple-notation% 6 | 7 | % Use the "Custom 1" to transpose your music expression. E. g. try "e a'". 8 | % Use the "Custom 2" field for image height of your musical snippet. 9 | 10 | \key e \major e8 fis gis e fis8 b,4. | e2\fermata \bar "|." 11 | %{OOoLilyPondEnd%} 12 | } 13 | 14 | % ------------------------------------------------------- 15 | 16 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 17 | #(define version-seen #t) 18 | 19 | \paper { 20 | paper-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 21 | paper-height = %{OOoLilyPondCustom2%}6 \cm%{OOoLilyPondEnd%} 22 | indent = #0 23 | short-indent = \indent 24 | ragged-right = ##t 25 | 26 | left-margin = 0 27 | right-margin = 0 28 | top-margin = 0 29 | bottom-margin = 0 30 | print-page-number = ##f 31 | 32 | page-count = 1 33 | 34 | #(define fonts 35 | (make-pango-font-tree 36 | "TeXGyreSchola" ; adjust this font name according to your needs 37 | "TeXGyreHeros" ; adjust this font name according to your needs 38 | "TeXGyreCursor" ; adjust this font name according to your needs 39 | (/ staff-height pt 20))) 40 | } % Those 3 font families have to be installed on your system 41 | 42 | \header { 43 | tagline = ##f 44 | } 45 | 46 | \layout { 47 | \context { 48 | \Score 49 | \remove "Bar_number_engraver" 50 | } 51 | } 52 | 53 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} 54 | % %{OOoLilyPondCustom2Label%}Image height:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Default.ly: -------------------------------------------------------------------------------- 1 | \transpose %{OOoLilyPondCustom1%}c c'%{OOoLilyPondEnd%} 2 | { 3 | %{OOoLilyPondCode%}% For getting started read (copy URL into your web browser): 4 | % https://github.com/openlilylib/LO-ly 5 | % http://lilypond.org/doc/stable/Documentation/learning/simple-notation% 6 | % 7 | % Use the "Custom 1" to transpose your music expression. E. g. try "e a'". 8 | 9 | \key e \major e8 fis gis e fis8 b,4. | e2\fermata \bar "|." 10 | %{OOoLilyPondEnd%} 11 | } 12 | 13 | \include "lilypond-book-preamble.ly" 14 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 15 | 16 | \paper { 17 | ragged-right = ##t 18 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 19 | } 20 | 21 | \layout { 22 | indent = #0 23 | \context { 24 | \Score 25 | \remove "Bar_number_engraver" 26 | } 27 | } 28 | 29 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Deutsch [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | \language "deutsch" 2 | \transpose %{OOoLilyPondCustom1%}c c'%{OOoLilyPondEnd%} 3 | { 4 | %{OOoLilyPondCode%}% Hilfen zum Einstieg (URL in Web-Browser kopieren): 5 | % https://github.com/openlilylib/LO-ly (Englisch) 6 | % http://lilypond.org/doc/stable/Documentation/learning/simple-notation% 7 | 8 | \key e \major e8 fis gis e fis h,4. | e2\fermata \bar "|." 9 | %{OOoLilyPondEnd%} 10 | } 11 | 12 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 13 | #(define version-seen #t) 14 | 15 | \paper { 16 | ragged-right = ##t 17 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 18 | 19 | #(define fonts 20 | (make-pango-font-tree 21 | "TeXGyreSchola" ; adjust this font name according to your needs 22 | "TeXGyreHeros" ; adjust this font name according to your needs 23 | "TeXGyreCursor" ; adjust this font name according to your needs 24 | (/ staff-height pt 20))) 25 | } % Those 3 font families have to be installed on your system 26 | 27 | \layout { 28 | indent = #0 29 | \context { 30 | \Score 31 | \remove "Bar_number_engraver" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /extension/templates/2.12/Deutsch [SVG].ly: -------------------------------------------------------------------------------- 1 | \language "deutsch" 2 | \transpose %{OOoLilyPondCustom1%}c c'%{OOoLilyPondEnd%} 3 | { 4 | %{OOoLilyPondCode%}% Hilfen zum Einstieg (URL in Web-Browser kopieren): 5 | % https://github.com/openlilylib/LO-ly (Englisch) 6 | % http://lilypond.org/doc/stable/Documentation/learning/simple-notation% 7 | 8 | \key e \major e8 fis gis e fis h,4. | e2\fermata \bar "|." 9 | %{OOoLilyPondEnd%} 10 | } 11 | 12 | % ------------------------------------------------------- 13 | 14 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 15 | #(define version-seen #t) 16 | 17 | \paper { 18 | paper-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 19 | paper-height = %{OOoLilyPondCustom2%}6 \cm%{OOoLilyPondEnd%} 20 | indent = #0 21 | short-indent = \indent 22 | ragged-right = ##t 23 | 24 | left-margin = 0 25 | right-margin = 0 26 | top-margin = 0 27 | bottom-margin = 0 28 | print-page-number = ##f 29 | 30 | page-count = 1 31 | 32 | #(define fonts 33 | (make-pango-font-tree 34 | "TeXGyreSchola" ; hier den Namen der Schriftart eingeben, die Sie auf Ihrem System verwenden möchten 35 | "TeXGyreHeros" ; hier den Namen der Schriftart eingeben, die Sie auf Ihrem System verwenden möchten 36 | "TeXGyreCursor" ; hier den Namen der Schriftart eingeben, die Sie auf Ihrem System verwenden möchten 37 | (/ staff-height pt 20))) 38 | } % Diese 3 Schriftarten müssen auf Ihrem System installiert sein! 39 | 40 | \header { 41 | tagline = ##f 42 | } 43 | 44 | \layout { 45 | \context { 46 | \Score 47 | \remove "Bar_number_engraver" 48 | } 49 | } 50 | 51 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} 52 | % %{OOoLilyPondCustom2Label%}Image height:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Deutsch.ly: -------------------------------------------------------------------------------- 1 | \language "deutsch" 2 | \transpose %{OOoLilyPondCustom1%}c c'%{OOoLilyPondEnd%} 3 | { 4 | %{OOoLilyPondCode%}% Hilfen zum Einstieg (URL in Web-Browser kopieren): 5 | % https://github.com/openlilylib/LO-ly (Englisch) 6 | % http://lilypond.org/doc/stable/Documentation/learning/simple-notation% 7 | 8 | \key e \major e8 fis gis e fis h,4. | e2\fermata \bar "|." 9 | %{OOoLilyPondEnd%} 10 | } 11 | 12 | \include "lilypond-book-preamble.ly" 13 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 14 | 15 | \paper { 16 | ragged-right = ##t 17 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 18 | } 19 | 20 | \layout { 21 | indent = #0 22 | \context { 23 | \Score 24 | \remove "Bar_number_engraver" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /extension/templates/2.12/Direct to LilyPond [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | % This template file is exactly the same as "Direct to LilyPond [SVG].ly" 2 | 3 | %{OOoLilyPondCode%}% By using this template you can use the full power of LilyPond. 4 | % For more information plase read the LilyPond documentation: 5 | % http://lilypond.org/doc/stable/Documentation/notation/index 6 | 7 | \include "deutsch.ly" 8 | #(set-global-staff-size 20) 9 | 10 | \paper { 11 | paper-width = 17\cm 12 | paper-height = 8\cm 13 | 14 | ragged-right = ##t 15 | 16 | left-margin = 0 17 | right-margin = 0 18 | top-margin = 0 19 | bottom-margin = 0 20 | print-page-number = ##f 21 | 22 | page-count = 1 23 | } 24 | 25 | \header { 26 | tagline = ##f 27 | } 28 | 29 | \layout { 30 | indent = #0 31 | short-indent = \indent 32 | \context { 33 | \Score 34 | \remove "Bar_number_engraver" 35 | } 36 | } 37 | 38 | { 39 | \key e \major e'8 fis' gis' e' fis'4 h | e'2\fermata \bar "|." 40 | } 41 | % ------------------------------------------------------------------------------- 42 | 43 | #(define version-seen #t) 44 | 45 | \paper { 46 | #(define fonts 47 | (make-pango-font-tree 48 | "TeXGyreSchola" ; adjust this font name according to your needs 49 | "TeXGyreHeros" ; adjust this font name according to your needs 50 | "TeXGyreCursor" ; adjust this font name according to your needs 51 | (/ staff-height pt 20))) 52 | } % Those 3 font families have to be installed on your system 53 | %{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Direct to LilyPond [SVG].ly: -------------------------------------------------------------------------------- 1 | %{OOoLilyPondCode%}% By using this template you can use the full power of LilyPond. 2 | % For more information plase read the LilyPond documentation: 3 | % http://lilypond.org/doc/stable/Documentation/notation/index 4 | 5 | \include "deutsch.ly" 6 | #(set-global-staff-size 20) 7 | 8 | \paper { 9 | paper-width = 17\cm 10 | paper-height = 8\cm 11 | 12 | ragged-right = ##t 13 | 14 | left-margin = 0 15 | right-margin = 0 16 | top-margin = 0 17 | bottom-margin = 0 18 | print-page-number = ##f 19 | 20 | page-count = 1 21 | } 22 | 23 | \header { 24 | tagline = ##f 25 | } 26 | 27 | \layout { 28 | indent = #0 29 | short-indent = \indent 30 | \context { 31 | \Score 32 | \remove "Bar_number_engraver" 33 | } 34 | } 35 | 36 | { 37 | \key e \major e'8 fis' gis' e' fis'4 h | e'2\fermata \bar "|." 38 | } 39 | % ------------------------------------------------------------------------------- 40 | 41 | #(define version-seen #t) 42 | 43 | \paper { 44 | #(define fonts 45 | (make-pango-font-tree 46 | "TeXGyreSchola" ; adjust this font name according to your needs 47 | "TeXGyreHeros" ; adjust this font name according to your needs 48 | "TeXGyreCursor" ; adjust this font name according to your needs 49 | (/ staff-height pt 20))) 50 | } % Those 3 font families have to be installed on your system 51 | %{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Direct to LilyPond.ly: -------------------------------------------------------------------------------- 1 | %{OOoLilyPondCode%}% By using this template you can use the full power of LilyPond. 2 | % For more information plase read the LilyPond documentation: 3 | % http://lilypond.org/doc/stable/Documentation/notation/index 4 | 5 | \include "lilypond-book-preamble.ly" 6 | \include "deutsch.ly" 7 | #(set-global-staff-size 20) 8 | 9 | \paper { 10 | ragged-right = ##t 11 | line-width = 17\cm 12 | } 13 | 14 | \layout { 15 | indent = #0 16 | \context { 17 | \Score 18 | \remove "Bar_number_engraver" 19 | } 20 | } 21 | 22 | { 23 | \key e \major e'8 fis' gis' e' fis'4 h | e'2\fermata \bar "|." 24 | } 25 | %{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Fret Board [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | \include "predefined-guitar-fretboards.ly" 2 | 3 | % add your own diagrams here: 4 | % \storePredefinedDiagram \chordmode {c:9} 5 | % #guitar-tuning 6 | % #"x;3-2;2-1;3-3;3-4;x;" 7 | 8 | mychords = \chordmode{ 9 | %{OOoLilyPondCode%}% For documentation about fret diagrams visit: 10 | % http://lilypond.org/doc/stable/Documentation/notation/fretted-string-instruments 11 | 12 | c c:m c:aug c:dim \break 13 | c:7 c:maj c:m7 14 | %{OOoLilyPondEnd%} 15 | } 16 | 17 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 18 | << 19 | \context ChordNames { 20 | \mychords 21 | } 22 | \context FretBoards { 23 | \mychords 24 | } 25 | >> 26 | 27 | 28 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 29 | #(define version-seen #t) 30 | 31 | \paper { 32 | ragged-right = ##t 33 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 34 | 35 | #(define fonts 36 | (make-pango-font-tree 37 | "TeXGyreSchola" ; adjust this font name according to your needs 38 | "TeXGyreHeros" ; adjust this font name according to your needs 39 | "TeXGyreCursor" ; adjust this font name according to your needs 40 | (/ staff-height pt 20))) 41 | } % Those 3 font families have to be installed on your system 42 | 43 | \layout { 44 | indent = #0 45 | \context { 46 | \Score 47 | \remove "Bar_number_engraver" 48 | } 49 | } 50 | 51 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Fret Board [SVG].ly: -------------------------------------------------------------------------------- 1 | \include "predefined-guitar-fretboards.ly" 2 | 3 | % add your own diagrams here: 4 | % \storePredefinedDiagram \chordmode {c:9} 5 | % #guitar-tuning 6 | % #"x;3-2;2-1;3-3;3-4;x;" 7 | 8 | mychords = \chordmode{ 9 | %{OOoLilyPondCode%}% For documentation about fret diagrams visit: 10 | % http://lilypond.org/doc/stable/Documentation/notation/fretted-string-instruments 11 | 12 | % Use the "Custom 2" field for image height of your musical snippet. 13 | 14 | c c:m c:aug c:dim \break 15 | c:7 c:maj c:m7 16 | %{OOoLilyPondEnd%} 17 | } 18 | 19 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 20 | << 21 | \context ChordNames { 22 | \mychords 23 | } 24 | \context FretBoards { 25 | \mychords 26 | } 27 | >> 28 | 29 | 30 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 31 | #(define version-seen #t) 32 | 33 | \paper { 34 | paper-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 35 | paper-height = %{OOoLilyPondCustom2%}6 \cm%{OOoLilyPondEnd%} 36 | indent = #0 37 | short-indent = \indent 38 | ragged-right = ##t 39 | 40 | left-margin = 0 41 | right-margin = 0 42 | top-margin = 0 43 | bottom-margin = 0 44 | print-page-number = ##f 45 | 46 | page-count = 1 47 | 48 | #(define fonts 49 | (make-pango-font-tree 50 | "TeXGyreSchola" ; adjust this font name according to your needs 51 | "TeXGyreHeros" ; adjust this font name according to your needs 52 | "TeXGyreCursor" ; adjust this font name according to your needs 53 | (/ staff-height pt 20))) 54 | } % Those 3 font families have to be installed on your system 55 | 56 | \header { 57 | tagline = ##f 58 | } 59 | 60 | \layout { 61 | \context { 62 | \Score 63 | \remove "Bar_number_engraver" 64 | } 65 | } 66 | 67 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} 68 | % %{OOoLilyPondCustom2Label%}Image height:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Fret Board.ly: -------------------------------------------------------------------------------- 1 | \include "predefined-guitar-fretboards.ly" 2 | 3 | % add your own diagrams here: 4 | % \storePredefinedDiagram \chordmode {c:9} 5 | % #guitar-tuning 6 | % #"x;3-2;2-1;3-3;3-4;x;" 7 | 8 | mychords = \chordmode{ 9 | %{OOoLilyPondCode%}% For documentation about fret diagrams visit: 10 | % http://lilypond.org/doc/stable/Documentation/notation/fretted-string-instruments 11 | 12 | c c:m c:aug c:dim \break 13 | c:7 c:maj c:m7 14 | %{OOoLilyPondEnd%} 15 | } 16 | 17 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 18 | << 19 | \context ChordNames { 20 | \mychords 21 | } 22 | \context FretBoards { 23 | \mychords 24 | } 25 | >> 26 | 27 | 28 | 29 | \include "lilypond-book-preamble.ly" 30 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 31 | 32 | \paper { 33 | ragged-right = ##t 34 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 35 | } 36 | 37 | \layout { 38 | indent = #0 39 | \context { 40 | \Score 41 | \remove "Bar_number_engraver" 42 | } 43 | } 44 | 45 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Gitarrengriffe [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | \include "predefined-guitar-fretboards.ly" 2 | \include "deutsch.ly" 3 | 4 | % Eigene Griffbilder können hier ergänzt werden: 5 | % \storePredefinedDiagram \chordmode {c:9} 6 | % #guitar-tuning 7 | % #"x;3-2;2-1;3-3;3-4;x;" 8 | 9 | mychords = \chordmode{ 10 | %{OOoLilyPondCode%}%% Für Dokumentation zu Bund-Diagrammen siehe: 11 | % http://lilypond.org/doc/stable/Documentation/notation/fretted-string-instruments 12 | 13 | c d:m e:aug f:dim \break 14 | g:7 a:maj h:m7%{OOoLilyPondEnd%} 15 | } 16 | 17 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 18 | << 19 | \context ChordNames { \germanChords 20 | \mychords 21 | } 22 | \context FretBoards { 23 | \mychords 24 | } 25 | >> 26 | 27 | 28 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 29 | #(define version-seen #t) 30 | 31 | \paper { 32 | ragged-right = ##t 33 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 34 | 35 | #(define fonts 36 | (make-pango-font-tree 37 | "TeXGyreSchola" ; adjust this font name according to your needs 38 | "TeXGyreHeros" ; adjust this font name according to your needs 39 | "TeXGyreCursor" ; adjust this font name according to your needs 40 | (/ staff-height pt 20))) 41 | } % Those 3 font families have to be installed on your system 42 | 43 | \layout { 44 | indent = #0 45 | \context { 46 | \Score 47 | \remove "Bar_number_engraver" 48 | } 49 | } 50 | 51 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Gitarrengriffe [SVG].ly: -------------------------------------------------------------------------------- 1 | \include "predefined-guitar-fretboards.ly" 2 | \include "deutsch.ly" 3 | 4 | % Eigene Griffbilder können hier ergänzt werden: 5 | % \storePredefinedDiagram \chordmode {c:9} 6 | % #guitar-tuning 7 | % #"x;3-2;2-1;3-3;3-4;x;" 8 | 9 | mychords = \chordmode{ 10 | %{OOoLilyPondCode%}%% Für Dokumentation zu Bund-Diagrammen siehe: 11 | % http://lilypond.org/doc/stable/Documentation/notation/fretted-string-instruments 12 | 13 | c d:m e:aug f:dim \break 14 | g:7 a:maj h:m7%{OOoLilyPondEnd%} 15 | } 16 | 17 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 18 | << 19 | \context ChordNames { \germanChords 20 | \mychords 21 | } 22 | \context FretBoards { 23 | \mychords 24 | } 25 | >> 26 | 27 | 28 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 29 | #(define version-seen #t) 30 | 31 | \paper { 32 | paper-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 33 | paper-height = %{OOoLilyPondCustom2%}6 \cm%{OOoLilyPondEnd%} 34 | indent = #0 35 | short-indent = \indent 36 | ragged-right = ##t 37 | 38 | left-margin = 0 39 | right-margin = 0 40 | top-margin = 0 41 | bottom-margin = 0 42 | print-page-number = ##f 43 | 44 | page-count = 1 45 | 46 | #(define fonts 47 | (make-pango-font-tree 48 | "TeXGyreSchola" ; hier den Namen der Schriftart eingeben, die Sie auf Ihrem System verwenden möchten 49 | "TeXGyreHeros" ; hier den Namen der Schriftart eingeben, die Sie auf Ihrem System verwenden möchten 50 | "TeXGyreCursor" ; hier den Namen der Schriftart eingeben, die Sie auf Ihrem System verwenden möchten 51 | (/ staff-height pt 20))) 52 | } % Diese 3 Schriftarten müssen auf Ihrem System installiert sein! 53 | 54 | \header { 55 | tagline = ##f 56 | } 57 | 58 | \layout { 59 | \context { 60 | \Score 61 | \remove "Bar_number_engraver" 62 | } 63 | } 64 | 65 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} 66 | % %{OOoLilyPondCustom2Label%}Image height:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Gitarrengriffe.ly: -------------------------------------------------------------------------------- 1 | \include "predefined-guitar-fretboards.ly" 2 | \include "deutsch.ly" 3 | 4 | % Eigene Griffbilder können hier ergänzt werden: 5 | % \storePredefinedDiagram \chordmode {c:9} 6 | % #guitar-tuning 7 | % #"x;3-2;2-1;3-3;3-4;x;" 8 | 9 | mychords = \chordmode{ 10 | %{OOoLilyPondCode%}%% Für Dokumentation zu Bund-Diagrammen siehe: 11 | % http://lilypond.org/doc/stable/Documentation/notation/fretted-string-instruments 12 | 13 | c d:m e:aug f:dim \break 14 | g:7 a:maj h:m7%{OOoLilyPondEnd%} 15 | } 16 | 17 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 18 | << 19 | \context ChordNames { \germanChords 20 | \mychords 21 | } 22 | \context FretBoards { 23 | \mychords 24 | } 25 | >> 26 | 27 | 28 | 29 | \include "lilypond-book-preamble.ly" 30 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 31 | 32 | \paper { 33 | ragged-right = ##t 34 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 35 | } 36 | 37 | \layout { 38 | indent = #0 39 | \context { 40 | \Score 41 | \remove "Bar_number_engraver" 42 | } 43 | } 44 | 45 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Italiano [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | \language "italiano" 2 | \transpose %{OOoLilyPondCustom1%}do do'%{OOoLilyPondEnd%} 3 | { 4 | %{OOoLilyPondCode%}% For getting started read (copy URL into your web browser): 5 | % https://github.com/openlilylib/LO-ly 6 | % http://lilypond.org/doc/stable/Documentation/learning/simple-notation% 7 | 8 | \key mi \major mi8 fad sold mi fad si,4. | mi2\fermata \bar "|." 9 | %{OOoLilyPondEnd%} 10 | } 11 | 12 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 13 | #(define version-seen #t) 14 | 15 | \paper { 16 | ragged-right = ##t 17 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 18 | 19 | #(define fonts 20 | (make-pango-font-tree 21 | "TeXGyreSchola" ; adjust this font name according to your needs 22 | "TeXGyreHeros" ; adjust this font name according to your needs 23 | "TeXGyreCursor" ; adjust this font name according to your needs 24 | (/ staff-height pt 20))) 25 | } % Those 3 font families have to be installed on your system 26 | 27 | \layout { 28 | indent = #0 29 | \context { 30 | \Score 31 | \remove "Bar_number_engraver" 32 | } 33 | } 34 | 35 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Italiano [SVG].ly: -------------------------------------------------------------------------------- 1 | \language "italiano" 2 | \transpose %{OOoLilyPondCustom1%}do do'%{OOoLilyPondEnd%} 3 | { 4 | %{OOoLilyPondCode%}% For getting started read (copy URL into your web browser): 5 | % https://github.com/openlilylib/LO-ly 6 | % http://lilypond.org/doc/stable/Documentation/learning/simple-notation% 7 | 8 | \key mi \major mi8 fad sold mi fad si,4. | mi2\fermata \bar "|."%{OOoLilyPondEnd%} 9 | } 10 | 11 | % ------------------------------------------------------- 12 | 13 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 14 | #(define version-seen #t) 15 | 16 | 17 | \paper { 18 | paper-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 19 | paper-height = %{OOoLilyPondCustom2%}6 \cm%{OOoLilyPondEnd%} 20 | indent = #0 21 | short-indent = \indent 22 | ragged-right = ##t 23 | 24 | left-margin = 0 25 | right-margin = 0 26 | top-margin = 0 27 | bottom-margin = 0 28 | print-page-number = ##f 29 | 30 | page-count = 1 31 | 32 | #(define fonts 33 | (make-pango-font-tree 34 | "TeXGyreSchola" ; adjust this font name according to your needs 35 | "TeXGyreHeros" ; adjust this font name according to your needs 36 | "TeXGyreCursor" ; adjust this font name according to your needs 37 | (/ staff-height pt 20))) 38 | } % Those 3 font families have to be installed on your system 39 | 40 | \header { 41 | tagline = ##f 42 | } 43 | 44 | \layout { 45 | \context { 46 | \Score 47 | \remove "Bar_number_engraver" 48 | } 49 | } 50 | 51 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} 52 | % %{OOoLilyPondCustom2Label%}Image height:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Italiano.ly: -------------------------------------------------------------------------------- 1 | \language "italiano" 2 | \transpose %{OOoLilyPondCustom1%}do do'%{OOoLilyPondEnd%} 3 | { 4 | %{OOoLilyPondCode%}% For getting started read (copy URL into your web browser): 5 | % https://github.com/openlilylib/LO-ly 6 | % http://lilypond.org/doc/stable/Documentation/learning/simple-notation% 7 | 8 | \key mi \major mi8 fad sold mi fad si,4. | mi2\fermata \bar "|." 9 | %{OOoLilyPondEnd%} 10 | } 11 | 12 | \include "lilypond-book-preamble.ly" 13 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 14 | 15 | \paper { 16 | ragged-right = ##t 17 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 18 | } 19 | 20 | \layout { 21 | indent = #0 22 | \context { 23 | \Score 24 | \remove "Bar_number_engraver" 25 | } 26 | } 27 | 28 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Piano [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 2 | #(define version-seen #t) 3 | 4 | \paper { 5 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 6 | 7 | #(define fonts 8 | (make-pango-font-tree 9 | "TeXGyreSchola" ; adjust this font name according to your needs 10 | "TeXGyreHeros" ; adjust this font name according to your needs 11 | "TeXGyreCursor" ; adjust this font name according to your needs 12 | (/ staff-height pt 20))) 13 | } % Those 3 font families have to be installed on your system 14 | 15 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 | 17 | %{OOoLilyPondCode%} 18 | { 19 | \new PianoStaff { 20 | << 21 | \new Staff {c'4 d' e' f' g'2 g'} 22 | \new Staff {\clef bass c2 c4 d e2 e} 23 | >> 24 | } 25 | } 26 | 27 | % ------------------------------------------------------- 28 | 29 | \paper { 30 | short-indent = 0\cm 31 | indent = 0\cm 32 | ragged-right = ##t 33 | } 34 | 35 | \layout { 36 | \context { 37 | \Score 38 | \remove "Bar_number_engraver" 39 | } 40 | } 41 | %{OOoLilyPondEnd%} 42 | -------------------------------------------------------------------------------- /extension/templates/2.12/Piano [SVG].ly: -------------------------------------------------------------------------------- 1 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 2 | #(define version-seen #t) 3 | 4 | \paper { 5 | paper-width = %{OOoLilyPondLineWidth%}8 \cm%{OOoLilyPondEnd%} 6 | paper-height = %{OOoLilyPondCustom2%}4 \cm%{OOoLilyPondEnd%} 7 | 8 | #(define fonts 9 | (make-pango-font-tree 10 | "TeXGyreSchola" ; adjust this font name according to your needs 11 | "TeXGyreHeros" ; adjust this font name according to your needs 12 | "TeXGyreCursor" ; adjust this font name according to your needs 13 | (/ staff-height pt 20))) 14 | } % Those 3 font families have to be installed on your system 15 | 16 | \paper { 17 | indent = %{OOoLilyPondCustom1%}2.5 \mm%{OOoLilyPondEnd%} 18 | } 19 | 20 | 21 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 22 | 23 | %{OOoLilyPondCode%}% Use "Custom 1" for indent 24 | % Use "Custom 2" for paper height 25 | 26 | % http://lilypond.org/doc/stable/Documentation/notation/keyboard-and-other-multi_002dstaff-instruments 27 | 28 | { 29 | \new PianoStaff { 30 | << 31 | \new Staff {c'4 d' e' f' g'2 g'} 32 | \new Staff {\clef bass c2 c4 d e2 e} 33 | >> 34 | } 35 | } 36 | 37 | % ------------------------------------------------------- 38 | 39 | \paper { 40 | short-indent = \indent 41 | ragged-right = ##t 42 | 43 | left-margin = 0 44 | right-margin = 0 45 | top-margin = 0 46 | bottom-margin = 0 47 | print-page-number = ##f 48 | 49 | page-count = 1 50 | } 51 | 52 | \header { 53 | tagline = ##f 54 | } 55 | 56 | \layout { 57 | \context { 58 | \Score 59 | \remove "Bar_number_engraver" 60 | } 61 | } 62 | %{OOoLilyPondEnd%} 63 | 64 | % %{OOoLilyPondCustom1Label%}Indent:%{OOoLilyPondEnd%} 65 | % %{OOoLilyPondCustom2Label%}Image height:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Piano.ly: -------------------------------------------------------------------------------- 1 | \include "lilypond-book-preamble.ly" 2 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 3 | 4 | \paper { 5 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 6 | } 7 | 8 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 9 | 10 | %{OOoLilyPondCode%} 11 | { 12 | \new PianoStaff { 13 | << 14 | \new Staff {c'4 d' e' f' g'2 g'} 15 | \new Staff {\clef bass c2 c4 d e2 e} 16 | >> 17 | } 18 | } 19 | 20 | % ------------------------------------------------------- 21 | 22 | \paper { 23 | short-indent = 0\cm 24 | indent = 0\cm 25 | ragged-right = ##t 26 | } 27 | 28 | \layout { 29 | \context { 30 | \Score 31 | \remove "Bar_number_engraver" 32 | } 33 | } 34 | %{OOoLilyPondEnd%} 35 | -------------------------------------------------------------------------------- /extension/templates/2.12/Relative [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 2 | \relative %{OOoLilyPondCustom2%}g,%{OOoLilyPondEnd%} { 3 | %{OOoLilyPondCode%}% This templates lets you enter notes in relative mode. 4 | % See the LilyPond documentation: 5 | % http://lilypond.org/doc/stable/Documentation/notation/pitches 6 | % The start pitch you can specify in the "Custom 2" field. 7 | 8 | \key g \major 9 | \clef bass 10 | g8 a b g c a d d, | g2 \bar "|."%{OOoLilyPondEnd%} 11 | } 12 | 13 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 14 | #(define version-seen #t) 15 | 16 | \paper { 17 | ragged-right = ##t 18 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 19 | 20 | #(define fonts 21 | (make-pango-font-tree 22 | "TeXGyreSchola" ; adjust this font name according to your needs 23 | "TeXGyreHeros" ; adjust this font name according to your needs 24 | "TeXGyreCursor" ; adjust this font name according to your needs 25 | (/ staff-height pt 20))) 26 | } % Those 3 font families have to be installed on your system 27 | 28 | \layout { 29 | indent = #0 30 | \context { 31 | \Score 32 | \remove "Bar_number_engraver" 33 | } 34 | } 35 | 36 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} 37 | % %{OOoLilyPondCustom2Label%}\relative:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Relative [SVG].ly: -------------------------------------------------------------------------------- 1 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 2 | \relative %{OOoLilyPondCustom2%}g,%{OOoLilyPondEnd%} { 3 | %{OOoLilyPondCode%}% This templates lets you enter notes in relative mode. 4 | % See the LilyPond documentation: 5 | % http://lilypond.org/doc/stable/Documentation/notation/pitches 6 | % The start pitch you can specify in the "Custom 2" field. 7 | 8 | \key g \major 9 | \clef bass 10 | g8 a b g c a d d, | g2 \bar "|."%{OOoLilyPondEnd%} 11 | } 12 | 13 | % ------------------------------------------------------- 14 | 15 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 16 | #(define version-seen #t) 17 | 18 | \paper { 19 | paper-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 20 | paper-height = 8\cm 21 | indent = #0 22 | short-indent = \indent 23 | ragged-right = ##t 24 | 25 | left-margin = 0 26 | right-margin = 0 27 | top-margin = 0 28 | bottom-margin = 0 29 | print-page-number = ##f 30 | 31 | page-count = 1 32 | 33 | #(define fonts 34 | (make-pango-font-tree 35 | "TeXGyreSchola" ; adjust this font name according to your needs 36 | "TeXGyreHeros" ; adjust this font name according to your needs 37 | "TeXGyreCursor" ; adjust this font name according to your needs 38 | (/ staff-height pt 20))) 39 | } % Those 3 font families have to be installed on your system 40 | 41 | \header { 42 | tagline = ##f 43 | } 44 | 45 | \layout { 46 | \context { 47 | \Score 48 | \remove "Bar_number_engraver" 49 | } 50 | } 51 | 52 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} 53 | % %{OOoLilyPondCustom2Label%}\relative:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Relative.ly: -------------------------------------------------------------------------------- 1 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 2 | \relative %{OOoLilyPondCustom2%}g,%{OOoLilyPondEnd%} { 3 | %{OOoLilyPondCode%}% This templates lets you enter notes in relative mode. 4 | % See the LilyPond documentation: 5 | % http://lilypond.org/doc/stable/Documentation/notation/pitches 6 | % The start pitch you can specify in the "Custom 2" field. 7 | 8 | \key g \major 9 | \clef bass 10 | g8 a b g c a d d, | g2 \bar "|."%{OOoLilyPondEnd%} 11 | } 12 | 13 | \include "lilypond-book-preamble.ly" 14 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 15 | 16 | \paper { 17 | ragged-right = ##t 18 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 19 | } 20 | 21 | \layout { 22 | indent = #0 23 | \context { 24 | \Score 25 | \remove "Bar_number_engraver" 26 | } 27 | } 28 | 29 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} 30 | % %{OOoLilyPondCustom2Label%}\relative:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/School Demo [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 2 | #(define version-seen #t) 3 | 4 | \layout { 5 | indent = %{OOoLilyPondCustom1%}0 \mm%{OOoLilyPondEnd%} 6 | ragged-right = %{OOoLilyPondCustom3%}##t%{OOoLilyPondEnd%} 7 | } 8 | 9 | % ------------------------------------------------------------ 10 | %{OOoLilyPondCode%}\new Staff \relative c' { 11 | \clef "treble" % "alto", "tenor", "bass", "treble_8", "treble^8", ... 12 | \key c \major % c \minor 13 | \time 4/4 14 | 15 | % \set Score.proportionalNotationDuration = #(ly:make-moment 1/4) % or 1/2, 1/8, ... 16 | % \cadenzaOn 17 | 18 | c4 d e f g a b c 19 | 20 | % \bar "|." % bar lines: "|.", "||", "!", ";", "" 21 | 22 | } 23 | \addlyrics { 24 | do re mi fa so la ti do 25 | } 26 | 27 | % \new RhythmicStaff { c4 c8 c c4 c } 28 | % \addlyrics { "1" "2" "+" "3" "4" } 29 | 30 | \layout { 31 | short-indent = \indent 32 | ragged-last = \ragged-right 33 | } 34 | %{OOoLilyPondEnd%} 35 | % ------------------------------------------------------------ 36 | 37 | % #! and !# enclose block comments in scheme. 38 | % just as 39 | % %{ and %} do in LilyPond expressions. 40 | 41 | % In your templates, you can use either of them for tags like "OOoLilyPondStaffSize" etc. 42 | % On compilation, OLy will use scheme block comments for OOoLilyPondStaffSize (as above), 43 | % all other tags will be written with LilyPond block comments. 44 | 45 | % NOTE: A pair of tags cannot be used multiple times in a template! 46 | % Therefore the \remove "Bar_engraver" command is packed into a variable "OptionTwoFalseCommand" 47 | % that can be used multiple times without problems. 48 | CustomTwoCommand = \with { instrumentName = \markup \fontsize %{OOoLilyPondCustom2%}#4 ""%{OOoLilyPondEnd%} } 49 | OptionTwoFalseCommand = \with { %{OOoLilyPondOption2False%}\remove "Bar_engraver"%{OOoLilyPondEnd%} } 50 | OptionThreeFalseCommand = \with { %{OOoLilyPondOption3False%}\remove "Time_signature_engraver"%{OOoLilyPondEnd%} } 51 | 52 | \paper { 53 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 54 | 55 | #(define fonts 56 | (make-pango-font-tree 57 | "TeXGyreSchola" ; adjust this font name according to your needs 58 | "TeXGyreHeros" ; adjust this font name according to your needs 59 | "TeXGyreCursor" ; adjust this font name according to your needs 60 | (/ staff-height pt 20))) 61 | } % Those 3 font families have to be installed on your system 62 | 63 | \layout { 64 | \context { 65 | \Staff 66 | \OptionTwoFalseCommand 67 | \OptionThreeFalseCommand 68 | \CustomTwoCommand 69 | \override Clef.full-size-change = ##t 70 | } 71 | \context { \DrumStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 72 | \context { \RhythmicStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 73 | \context { \TabStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 74 | \context { 75 | \Score 76 | % The code between the following two tags will be visible for LilyPond if Option3 is set to TRUE. 77 | % (It will be commented out if Option3 is set to FALSE.) 78 | 79 | %{OOoLilyPondOption3True%}\numericTimeSignature%{OOoLilyPondEnd%} 80 | 81 | % The code between the following two tags will be visible for LilyPond if Option4 is set to FALSE. 82 | % (It will be commented out if Option4 is set to TRUE.) 83 | 84 | %{OOoLilyPondOption4False%}\remove "Bar_number_engraver"%{OOoLilyPondEnd%} 85 | 86 | \override BarNumber.break-visibility = #end-of-line-invisible 87 | \override BarNumber.self-alignment-X = #LEFT 88 | \override BreakAlignment.break-align-orders = 89 | #(make-vector 3 90 | '( left-edge span-bar breathing-sign staff-bar 91 | clef key-cancellation key-signature time-signature 92 | )) 93 | } 94 | \context { 95 | \Voice 96 | %{OOoLilyPondOption1False%}\remove "Stem_engraver"%{OOoLilyPondEnd%} 97 | } 98 | } 99 | 100 | % The following OOoLilyPond settings would cause compilation errors, 101 | % therefore they must be preceeded by a comment sign (%)! 102 | 103 | % Values (##t or ##f) for CheckBoxes (Option1 ... Option4) 104 | 105 | % %{OOoLilyPondOption1Value%}##t%{OOoLilyPondEnd%} 106 | % %{OOoLilyPondOption2Value%}##t%{OOoLilyPondEnd%} 107 | % %{OOoLilyPondOption3Value%}##t%{OOoLilyPondEnd%} 108 | % %{OOoLilyPondOption4Value%}##f%{OOoLilyPondEnd%} 109 | 110 | % Here you can define new labels for dialog control elements: 111 | 112 | % %{OOoLilyPondCustom1Label%}Indent:%{OOoLilyPondEnd%} 113 | % %{OOoLilyPondCustom2Label%}#Size + "Name"%{OOoLilyPondEnd%} 114 | % %{OOoLilyPondCustom3Label%}Ragged-right%{OOoLilyPondEnd%} 115 | % %{OOoLilyPondOption1Label%}Stems%{OOoLilyPondEnd%} 116 | % %{OOoLilyPondOption2Label%}Bars%{OOoLilyPondEnd%} 117 | % %{OOoLilyPondOption3Label%}Time signature%{OOoLilyPondEnd%} 118 | % %{OOoLilyPondOption4Label%}Bar numbers%{OOoLilyPondEnd%} 119 | 120 | % Even the "Line Width" and "Staff Size" labels can be changed: 121 | % use "OOoLilyPondLineWidthLabel" or "OOoLilyPondStaffSizeLabel" as above. 122 | -------------------------------------------------------------------------------- /extension/templates/2.12/School Demo [SVG].ly: -------------------------------------------------------------------------------- 1 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 2 | #(define version-seen #t) 3 | 4 | \layout { 5 | indent = %{OOoLilyPondCustom1%}0 \mm%{OOoLilyPondEnd%} 6 | ragged-right = %{OOoLilyPondCustom3%}##t%{OOoLilyPondEnd%} 7 | } 8 | 9 | % ------------------------------------------------------------ 10 | %{OOoLilyPondCode%}\new Staff \relative c' { 11 | \clef "treble" % "alto", "tenor", "bass", "treble_8", "treble^8", ... 12 | \key c \major % c \minor 13 | \time 4/4 14 | 15 | % \set Score.proportionalNotationDuration = #(ly:make-moment 1/4) % or 1/2, 1/8, ... 16 | % \cadenzaOn 17 | 18 | c4 d e f g a b c 19 | 20 | % \bar "|." % bar lines: "|.", "||", "!", ";", "" 21 | 22 | } 23 | \addlyrics { 24 | do re mi fa so la ti do 25 | } 26 | 27 | % \new RhythmicStaff { c4 c8 c c4 c } 28 | % \addlyrics { "1" "2" "+" "3" "4" } 29 | 30 | \layout { 31 | short-indent = \indent 32 | ragged-last = \ragged-right 33 | } 34 | %{OOoLilyPondEnd%} 35 | % ------------------------------------------------------------ 36 | 37 | % #! and !# enclose block comments in scheme. 38 | % just as 39 | % %{ and %} do in LilyPond expressions. 40 | 41 | % In your templates, you can use either of them for tags like "OOoLilyPondStaffSize" etc. 42 | % On compilation, OLy will use scheme block comments for OOoLilyPondStaffSize (as above), 43 | % all other tags will be written with LilyPond block comments. 44 | 45 | % NOTE: A pair of tags cannot be used multiple times in a template! 46 | % Therefore the \remove "Bar_engraver" command is packed into a variable "OptionTwoFalseCommand" 47 | % that can be used multiple times without problems. 48 | CustomTwoCommand = \with { instrumentName = \markup \fontsize %{OOoLilyPondCustom2%}#4 ""%{OOoLilyPondEnd%} } 49 | OptionTwoFalseCommand = \with { %{OOoLilyPondOption2False%}\remove "Bar_engraver"%{OOoLilyPondEnd%} } 50 | OptionThreeFalseCommand = \with { %{OOoLilyPondOption3False%}\remove "Time_signature_engraver"%{OOoLilyPondEnd%} } 51 | 52 | \paper { 53 | paper-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 54 | paper-height = %{OOoLilyPondCustom4%}4 \cm%{OOoLilyPondEnd%} 55 | 56 | left-margin = 0 57 | right-margin = 0 58 | top-margin = 0 59 | bottom-margin = 0 60 | print-page-number = ##f 61 | 62 | page-count = 1 63 | 64 | #(define fonts 65 | (make-pango-font-tree 66 | "TeXGyreSchola" ; adjust this font name according to your needs 67 | "TeXGyreHeros" ; adjust this font name according to your needs 68 | "TeXGyreCursor" ; adjust this font name according to your needs 69 | (/ staff-height pt 20))) 70 | } % Those 3 font families have to be installed on your system 71 | 72 | 73 | \header { 74 | tagline = ##f 75 | } 76 | 77 | \layout { 78 | \context { 79 | \Staff 80 | \OptionTwoFalseCommand 81 | \OptionThreeFalseCommand 82 | \CustomTwoCommand 83 | \override Clef.full-size-change = ##t 84 | } 85 | \context { \DrumStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 86 | \context { \RhythmicStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 87 | \context { \TabStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 88 | \context { 89 | \Score 90 | % The code between the following two tags will be visible for LilyPond if Option3 is set to TRUE. 91 | % (It will be commented out if Option3 is set to FALSE.) 92 | 93 | %{OOoLilyPondOption3True%}\numericTimeSignature%{OOoLilyPondEnd%} 94 | 95 | % The code between the following two tags will be visible for LilyPond if Option4 is set to FALSE. 96 | % (It will be commented out if Option4 is set to TRUE.) 97 | 98 | %{OOoLilyPondOption4False%}\remove "Bar_number_engraver"%{OOoLilyPondEnd%} 99 | 100 | \override BarNumber.break-visibility = #end-of-line-invisible 101 | \override BarNumber.self-alignment-X = #LEFT 102 | \override BreakAlignment.break-align-orders = 103 | #(make-vector 3 104 | '( left-edge span-bar breathing-sign staff-bar 105 | clef key-cancellation key-signature time-signature 106 | )) 107 | } 108 | \context { 109 | \Voice 110 | %{OOoLilyPondOption1False%}\remove "Stem_engraver"%{OOoLilyPondEnd%} 111 | } 112 | } 113 | 114 | % The following OOoLilyPond settings would cause compilation errors, 115 | % therefore they must be preceeded by a comment sign (%)! 116 | 117 | % Values (##t or ##f) for CheckBoxes (Option1 ... Option4) 118 | 119 | % %{OOoLilyPondOption1Value%}##t%{OOoLilyPondEnd%} 120 | % %{OOoLilyPondOption2Value%}##t%{OOoLilyPondEnd%} 121 | % %{OOoLilyPondOption3Value%}##t%{OOoLilyPondEnd%} 122 | % %{OOoLilyPondOption4Value%}##f%{OOoLilyPondEnd%} 123 | 124 | % Here you can define new labels for dialog control elements: 125 | 126 | % %{OOoLilyPondCustom1Label%}Indent:%{OOoLilyPondEnd%} 127 | % %{OOoLilyPondCustom2Label%}#Size + "Name"%{OOoLilyPondEnd%} 128 | % %{OOoLilyPondCustom3Label%}Ragged-right%{OOoLilyPondEnd%} 129 | % %{OOoLilyPondCustom4Label%}Image height:%{OOoLilyPondEnd%} 130 | % %{OOoLilyPondOption1Label%}Stems%{OOoLilyPondEnd%} 131 | % %{OOoLilyPondOption2Label%}Bars%{OOoLilyPondEnd%} 132 | % %{OOoLilyPondOption3Label%}Time signature%{OOoLilyPondEnd%} 133 | % %{OOoLilyPondOption4Label%}Bar numbers%{OOoLilyPondEnd%} 134 | 135 | % Even the "Line Width" and "Staff Size" labels can be changed: 136 | % use "OOoLilyPondLineWidthLabel" or "OOoLilyPondStaffSizeLabel" as above. 137 | -------------------------------------------------------------------------------- /extension/templates/2.12/School Demo.ly: -------------------------------------------------------------------------------- 1 | \include "lilypond-book-preamble.ly" 2 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 3 | 4 | \layout { 5 | indent = %{OOoLilyPondCustom1%}0 \mm%{OOoLilyPondEnd%} 6 | ragged-right = %{OOoLilyPondCustom3%}##t%{OOoLilyPondEnd%} 7 | } 8 | 9 | % ------------------------------------------------------------ 10 | %{OOoLilyPondCode%}\new Staff \relative c' { 11 | \clef "treble" % "alto", "tenor", "bass", "treble_8", "treble^8", ... 12 | \key c \major % c \minor 13 | \time 4/4 14 | 15 | % \set Score.proportionalNotationDuration = #(ly:make-moment 1/4) % or 1/2, 1/8, ... 16 | % \cadenzaOn 17 | 18 | c4 d e f g a b c 19 | 20 | % \bar "|." % bar lines: "|.", "||", "!", ";", "" 21 | 22 | } 23 | \addlyrics { 24 | do re mi fa so la ti do 25 | } 26 | 27 | % \new RhythmicStaff { c4 c8 c c4 c } 28 | % \addlyrics { "1" "2" "+" "3" "4" } 29 | 30 | \layout { 31 | short-indent = \indent 32 | ragged-last = \ragged-right 33 | } 34 | %{OOoLilyPondEnd%} 35 | % ------------------------------------------------------------ 36 | 37 | % #! and !# enclose block comments in scheme. 38 | % just as 39 | % %{ and %} do in LilyPond expressions. 40 | 41 | % In your templates, you can use either of them for tags like "OOoLilyPondStaffSize" etc. 42 | % On compilation, OLy will use scheme block comments for OOoLilyPondStaffSize (as above), 43 | % all other tags will be written with LilyPond block comments. 44 | 45 | % NOTE: A pair of tags cannot be used multiple times in a template! 46 | % Therefore the \remove "Bar_engraver" command is packed into a variable "OptionTwoFalseCommand" 47 | % that can be used multiple times without problems. 48 | CustomTwoCommand = \with { instrumentName = \markup \fontsize %{OOoLilyPondCustom2%}#4 ""%{OOoLilyPondEnd%} } 49 | OptionTwoFalseCommand = \with { %{OOoLilyPondOption2False%}\remove "Bar_engraver"%{OOoLilyPondEnd%} } 50 | OptionThreeFalseCommand = \with { %{OOoLilyPondOption3False%}\remove "Time_signature_engraver"%{OOoLilyPondEnd%} } 51 | 52 | \paper { 53 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 54 | } 55 | 56 | \layout { 57 | \context { 58 | \Staff 59 | \OptionTwoFalseCommand 60 | \OptionThreeFalseCommand 61 | \CustomTwoCommand 62 | \override Clef.full-size-change = ##t 63 | } 64 | \context { \DrumStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 65 | \context { \RhythmicStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 66 | \context { \TabStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 67 | \context { 68 | \Score 69 | % The code between the following two tags will be visible for LilyPond if Option3 is set to TRUE. 70 | % (It will be commented out if Option3 is set to FALSE.) 71 | 72 | %{OOoLilyPondOption3True%}\numericTimeSignature%{OOoLilyPondEnd%} 73 | 74 | % The code between the following two tags will be visible for LilyPond if Option4 is set to FALSE. 75 | % (It will be commented out if Option4 is set to TRUE.) 76 | 77 | %{OOoLilyPondOption4False%}\remove "Bar_number_engraver"%{OOoLilyPondEnd%} 78 | 79 | \override BarNumber.break-visibility = #end-of-line-invisible 80 | \override BarNumber.self-alignment-X = #LEFT 81 | \override BreakAlignment.break-align-orders = 82 | #(make-vector 3 83 | '( left-edge span-bar breathing-sign staff-bar 84 | clef key-cancellation key-signature time-signature 85 | )) 86 | } 87 | \context { 88 | \Voice 89 | %{OOoLilyPondOption1False%}\remove "Stem_engraver"%{OOoLilyPondEnd%} 90 | } 91 | } 92 | 93 | % The following OOoLilyPond settings would cause compilation errors, 94 | % therefore they must be preceeded by a comment sign (%)! 95 | 96 | % Values (##t or ##f) for CheckBoxes (Option1 ... Option4) 97 | 98 | % %{OOoLilyPondOption1Value%}##t%{OOoLilyPondEnd%} 99 | % %{OOoLilyPondOption2Value%}##t%{OOoLilyPondEnd%} 100 | % %{OOoLilyPondOption3Value%}##t%{OOoLilyPondEnd%} 101 | % %{OOoLilyPondOption4Value%}##f%{OOoLilyPondEnd%} 102 | 103 | % Here you can define new labels for dialog control elements: 104 | 105 | % %{OOoLilyPondCustom1Label%}Indent:%{OOoLilyPondEnd%} 106 | % %{OOoLilyPondCustom2Label%}#Size + "Name"%{OOoLilyPondEnd%} 107 | % %{OOoLilyPondCustom3Label%}Ragged-right%{OOoLilyPondEnd%} 108 | % %{OOoLilyPondOption1Label%}Stems%{OOoLilyPondEnd%} 109 | % %{OOoLilyPondOption2Label%}Bars%{OOoLilyPondEnd%} 110 | % %{OOoLilyPondOption3Label%}Time signature%{OOoLilyPondEnd%} 111 | % %{OOoLilyPondOption4Label%}Bar numbers%{OOoLilyPondEnd%} 112 | 113 | % Even the "Line Width" and "Staff Size" labels can be changed: 114 | % use "OOoLilyPondLineWidthLabel" or "OOoLilyPondStaffSizeLabel" as above. 115 | -------------------------------------------------------------------------------- /extension/templates/2.12/School Piano Demo [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 2 | #(define version-seen #t) 3 | 4 | \layout { 5 | indent = %{OOoLilyPondCustom1%}0 \mm%{OOoLilyPondEnd%} 6 | ragged-right = %{OOoLilyPondCustom3%}##t%{OOoLilyPondEnd%} 7 | } 8 | 9 | % ------------------------------------------------------------ 10 | %{OOoLilyPondCode%}{ 11 | \new PianoStaff { % ChoirStaff { % StaffGroup { 12 | << 13 | \new Staff \relative c' { 14 | \clef "treble" 15 | \key c \major % c \minor 16 | \time 4/4 17 | 18 | c4 d e f g2 g 19 | } 20 | 21 | \addlyrics { do re mi fa so so } 22 | 23 | \new Staff \relative c { 24 | \clef "bass" 25 | \key c \major % c \minor 26 | \time 4/4 27 | 28 | c2 c4 d e2 e 29 | } 30 | \addlyrics { do do re mi mi } 31 | >> 32 | } 33 | } 34 | 35 | 36 | \layout { 37 | short-indent = \indent 38 | ragged-last = \ragged-right 39 | } 40 | %{OOoLilyPondEnd%} 41 | % ------------------------------------------------------------ 42 | 43 | % #! and !# enclose block comments in scheme. 44 | % just as 45 | % %{ and %} do in LilyPond expressions. 46 | 47 | % In your templates, you can use either of them for tags like "OOoLilyPondStaffSize" etc. 48 | % On compilation, OLy will use scheme block comments for OOoLilyPondStaffSize (as above), 49 | % all other tags will be written with LilyPond block comments. 50 | 51 | % NOTE: A pair of tags cannot be used multiple times in a template! 52 | % Therefore the \remove "Bar_engraver" command is packed into a variable "OptionTwoFalseCommand" 53 | % that can be used multiple times without problems. 54 | CustomTwoCommand = \with { instrumentName = \markup \fontsize %{OOoLilyPondCustom2%}#4 "1.)"%{OOoLilyPondEnd%} } 55 | OptionTwoFalseCommand = \with { %{OOoLilyPondOption2False%}\remove "Bar_engraver"%{OOoLilyPondEnd%} } 56 | OptionThreeFalseCommand = \with { %{OOoLilyPondOption3False%}\remove "Time_signature_engraver"%{OOoLilyPondEnd%} } 57 | 58 | \paper { 59 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 60 | 61 | #(define fonts 62 | (make-pango-font-tree 63 | "TeXGyreSchola" ; adjust this font name according to your needs 64 | "TeXGyreHeros" ; adjust this font name according to your needs 65 | "TeXGyreCursor" ; adjust this font name according to your needs 66 | (/ staff-height pt 20))) 67 | } % Those 3 font families have to be installed on your system 68 | 69 | \layout { 70 | \context { 71 | \Staff 72 | \OptionTwoFalseCommand 73 | \OptionThreeFalseCommand 74 | % \CustomTwoCommand 75 | \override Clef.full-size-change = ##t 76 | } 77 | \context { \DrumStaff \OptionTwoFalseCommand \OptionThreeFalseCommand} 78 | \context { \RhythmicStaff \OptionTwoFalseCommand \OptionThreeFalseCommand} 79 | \context { \TabStaff \OptionTwoFalseCommand \OptionThreeFalseCommand} 80 | \context { \PianoStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 81 | \context { \ChoirStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 82 | \context { \StaffGroup \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 83 | \context { 84 | \Score 85 | % The code between the following two tags will be visible for LilyPond if Option3 is set to TRUE. 86 | % (It will be commented out if Option3 is set to FALSE.) 87 | 88 | %{OOoLilyPondOption3True%}\numericTimeSignature%{OOoLilyPondEnd%} 89 | 90 | % The code between the following two tags will be visible for LilyPond if Option4 is set to FALSE. 91 | % (It will be commented out if Option4 is set to TRUE.) 92 | 93 | %{OOoLilyPondOption4False%}\remove "Bar_number_engraver"%{OOoLilyPondEnd%} 94 | 95 | \override BarNumber.break-visibility = #end-of-line-invisible 96 | \override BarNumber.self-alignment-X = #LEFT 97 | \override BreakAlignment.break-align-orders = #( 98 | make-vector 3 '( 99 | left-edge span-bar breathing-sign staff-bar 100 | clef key-cancellation key-signature time-signature 101 | )) 102 | } 103 | \context { 104 | \Voice 105 | %{OOoLilyPondOption1False%}\remove "Stem_engraver"%{OOoLilyPondEnd%} 106 | } 107 | } 108 | 109 | % The following OOoLilyPond settings would cause compilation errors, 110 | % therefore they must be preceeded by a comment sign (%)! 111 | 112 | % Values (##t or ##f) for CheckBoxes (Option1 ... Option4) 113 | 114 | % %{OOoLilyPondOption1Value%}##t%{OOoLilyPondEnd%} 115 | % %{OOoLilyPondOption2Value%}##t%{OOoLilyPondEnd%} 116 | % %{OOoLilyPondOption3Value%}##t%{OOoLilyPondEnd%} 117 | % %{OOoLilyPondOption4Value%}##f%{OOoLilyPondEnd%} 118 | 119 | % Here you can define new labels for dialog control elements: 120 | 121 | % %{OOoLilyPondCustom1Label%}Indent:%{OOoLilyPondEnd%} 122 | % %{OOoLilyPondCustom2Label%}#Size + "Name"%{OOoLilyPondEnd%} 123 | % %{OOoLilyPondCustom3Label%}Ragged-right%{OOoLilyPondEnd%} 124 | % %{OOoLilyPondOption1Label%}Stems%{OOoLilyPondEnd%} 125 | % %{OOoLilyPondOption2Label%}Bars%{OOoLilyPondEnd%} 126 | % %{OOoLilyPondOption3Label%}Time signature%{OOoLilyPondEnd%} 127 | % %{OOoLilyPondOption4Label%}Bar numbers%{OOoLilyPondEnd%} 128 | 129 | % Even the "Line Width" and "Staff Size" labels can be changed: 130 | % use "OOoLilyPondLineWidthLabel" or "OOoLilyPondStaffSizeLabel" as above. 131 | -------------------------------------------------------------------------------- /extension/templates/2.12/School Piano Demo [SVG].ly: -------------------------------------------------------------------------------- 1 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 2 | #(define version-seen #t) 3 | 4 | \layout { 5 | indent = %{OOoLilyPondCustom1%}0 \mm%{OOoLilyPondEnd%} 6 | ragged-right = %{OOoLilyPondCustom3%}##t%{OOoLilyPondEnd%} 7 | } 8 | 9 | % ------------------------------------------------------------ 10 | %{OOoLilyPondCode%}{ 11 | \new PianoStaff { % ChoirStaff { % StaffGroup { 12 | << 13 | \new Staff \relative c' { 14 | \clef "treble" 15 | \key c \major % c \minor 16 | \time 4/4 17 | 18 | c4 d e f g2 g 19 | } 20 | 21 | \addlyrics { do re mi fa so so } 22 | 23 | \new Staff \relative c { 24 | \clef "bass" 25 | \key c \major % c \minor 26 | \time 4/4 27 | 28 | c2 c4 d e2 e 29 | } 30 | \addlyrics { do do re mi mi } 31 | >> 32 | } 33 | } 34 | 35 | 36 | \layout { 37 | short-indent = \indent 38 | ragged-last = \ragged-right 39 | } 40 | %{OOoLilyPondEnd%} 41 | % ------------------------------------------------------------ 42 | 43 | % #! and !# enclose block comments in scheme. 44 | % just as 45 | % %{ and %} do in LilyPond expressions. 46 | 47 | % In your templates, you can use either of them for tags like "OOoLilyPondStaffSize" etc. 48 | % On compilation, OLy will use scheme block comments for OOoLilyPondStaffSize (as above), 49 | % all other tags will be written with LilyPond block comments. 50 | 51 | % NOTE: A pair of tags cannot be used multiple times in a template! 52 | % Therefore the \remove "Bar_engraver" command is packed into a variable "OptionTwoFalseCommand" 53 | % that can be used multiple times without problems. 54 | CustomTwoCommand = \with { instrumentName = \markup \fontsize %{OOoLilyPondCustom2%}#4 "1.)"%{OOoLilyPondEnd%} } 55 | OptionTwoFalseCommand = \with { %{OOoLilyPondOption2False%}\remove "Bar_engraver"%{OOoLilyPondEnd%} } 56 | OptionThreeFalseCommand = \with { %{OOoLilyPondOption3False%}\remove "Time_signature_engraver"%{OOoLilyPondEnd%} } 57 | 58 | \paper { 59 | paper-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 60 | paper-height = %{OOoLilyPondCustom4%}4 \cm%{OOoLilyPondEnd%} 61 | 62 | left-margin = 0 63 | right-margin = 0 64 | top-margin = 0 65 | bottom-margin = 0 66 | print-page-number = ##f 67 | 68 | page-count = 1 69 | 70 | #(define fonts 71 | (make-pango-font-tree 72 | "TeXGyreSchola" ; adjust this font name according to your needs 73 | "TeXGyreHeros" ; adjust this font name according to your needs 74 | "TeXGyreCursor" ; adjust this font name according to your needs 75 | (/ staff-height pt 20))) 76 | } % Those 3 font families have to be installed on your system 77 | 78 | 79 | \header { 80 | tagline = ##f 81 | } 82 | 83 | \layout { 84 | \context { 85 | \Staff 86 | \OptionTwoFalseCommand 87 | \OptionThreeFalseCommand 88 | % \CustomTwoCommand 89 | \override Clef.full-size-change = ##t 90 | } 91 | \context { \DrumStaff \OptionTwoFalseCommand \OptionThreeFalseCommand} 92 | \context { \RhythmicStaff \OptionTwoFalseCommand \OptionThreeFalseCommand} 93 | \context { \TabStaff \OptionTwoFalseCommand \OptionThreeFalseCommand} 94 | \context { \PianoStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 95 | \context { \ChoirStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 96 | \context { \StaffGroup \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 97 | \context { 98 | \Score 99 | % The code between the following two tags will be visible for LilyPond if Option3 is set to TRUE. 100 | % (It will be commented out if Option3 is set to FALSE.) 101 | 102 | %{OOoLilyPondOption3True%}\numericTimeSignature%{OOoLilyPondEnd%} 103 | 104 | % The code between the following two tags will be visible for LilyPond if Option4 is set to FALSE. 105 | % (It will be commented out if Option4 is set to TRUE.) 106 | 107 | %{OOoLilyPondOption4False%}\remove "Bar_number_engraver"%{OOoLilyPondEnd%} 108 | 109 | \override BarNumber.break-visibility = #end-of-line-invisible 110 | \override BarNumber.self-alignment-X = #LEFT 111 | \override BreakAlignment.break-align-orders = #( 112 | make-vector 3 '( 113 | left-edge span-bar breathing-sign staff-bar 114 | clef key-cancellation key-signature time-signature 115 | )) 116 | } 117 | \context { 118 | \Voice 119 | %{OOoLilyPondOption1False%}\remove "Stem_engraver"%{OOoLilyPondEnd%} 120 | } 121 | } 122 | 123 | % The following OOoLilyPond settings would cause compilation errors, 124 | % therefore they must be preceeded by a comment sign (%)! 125 | 126 | % Values (##t or ##f) for CheckBoxes (Option1 ... Option4) 127 | 128 | % %{OOoLilyPondOption1Value%}##t%{OOoLilyPondEnd%} 129 | % %{OOoLilyPondOption2Value%}##t%{OOoLilyPondEnd%} 130 | % %{OOoLilyPondOption3Value%}##t%{OOoLilyPondEnd%} 131 | % %{OOoLilyPondOption4Value%}##f%{OOoLilyPondEnd%} 132 | 133 | % Here you can define new labels for dialog control elements: 134 | 135 | % %{OOoLilyPondCustom1Label%}Indent:%{OOoLilyPondEnd%} 136 | % %{OOoLilyPondCustom2Label%}#Size + "Name"%{OOoLilyPondEnd%} 137 | % %{OOoLilyPondCustom3Label%}Ragged-right%{OOoLilyPondEnd%} 138 | % %{OOoLilyPondCustom4Label%}Image height:%{OOoLilyPondEnd%} 139 | % %{OOoLilyPondOption1Label%}Stems%{OOoLilyPondEnd%} 140 | % %{OOoLilyPondOption2Label%}Bars%{OOoLilyPondEnd%} 141 | % %{OOoLilyPondOption3Label%}Time signature%{OOoLilyPondEnd%} 142 | % %{OOoLilyPondOption4Label%}Bar numbers%{OOoLilyPondEnd%} 143 | 144 | % Even the "Line Width" and "Staff Size" labels can be changed: 145 | % use "OOoLilyPondLineWidthLabel" or "OOoLilyPondStaffSizeLabel" as above. 146 | -------------------------------------------------------------------------------- /extension/templates/2.12/School Piano Demo.ly: -------------------------------------------------------------------------------- 1 | \include "lilypond-book-preamble.ly" 2 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 3 | 4 | \layout { 5 | indent = %{OOoLilyPondCustom1%}0 \mm%{OOoLilyPondEnd%} 6 | ragged-right = %{OOoLilyPondCustom3%}##t%{OOoLilyPondEnd%} 7 | } 8 | 9 | % ------------------------------------------------------------ 10 | %{OOoLilyPondCode%}{ 11 | \new PianoStaff { % ChoirStaff { % StaffGroup { 12 | << 13 | \new Staff \relative c' { 14 | \clef "treble" 15 | \key c \major % c \minor 16 | \time 4/4 17 | 18 | c4 d e f g2 g 19 | } 20 | 21 | \addlyrics { do re mi fa so so } 22 | 23 | \new Staff \relative c { 24 | \clef "bass" 25 | \key c \major % c \minor 26 | \time 4/4 27 | 28 | c2 c4 d e2 e 29 | } 30 | \addlyrics { do do re mi mi } 31 | >> 32 | } 33 | } 34 | 35 | 36 | \layout { 37 | short-indent = \indent 38 | ragged-last = \ragged-right 39 | } 40 | %{OOoLilyPondEnd%} 41 | % ------------------------------------------------------------ 42 | 43 | \include "lilypond-book-preamble.ly" 44 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 45 | 46 | % #! and !# enclose block comments in scheme. 47 | % just as 48 | % %{ and %} do in LilyPond expressions. 49 | 50 | % In your templates, you can use either of them for tags like "OOoLilyPondStaffSize" etc. 51 | % On compilation, OLy will use scheme block comments for OOoLilyPondStaffSize (as above), 52 | % all other tags will be written with LilyPond block comments. 53 | 54 | % NOTE: A pair of tags cannot be used multiple times in a template! 55 | % Therefore the \remove "Bar_engraver" command is packed into a variable "OptionTwoFalseCommand" 56 | % that can be used multiple times without problems. 57 | CustomTwoCommand = \with { instrumentName = \markup \fontsize %{OOoLilyPondCustom2%}#4 "1.)"%{OOoLilyPondEnd%} } 58 | OptionTwoFalseCommand = \with { %{OOoLilyPondOption2False%}\remove "Bar_engraver"%{OOoLilyPondEnd%} } 59 | OptionThreeFalseCommand = \with { %{OOoLilyPondOption3False%}\remove "Time_signature_engraver"%{OOoLilyPondEnd%} } 60 | 61 | \paper { 62 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 63 | } 64 | 65 | \layout { 66 | \context { 67 | \Staff 68 | \OptionTwoFalseCommand 69 | \OptionThreeFalseCommand 70 | % \CustomTwoCommand 71 | \override Clef.full-size-change = ##t 72 | } 73 | \context { \DrumStaff \OptionTwoFalseCommand \OptionThreeFalseCommand} 74 | \context { \RhythmicStaff \OptionTwoFalseCommand \OptionThreeFalseCommand} 75 | \context { \TabStaff \OptionTwoFalseCommand \OptionThreeFalseCommand} 76 | \context { \PianoStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 77 | \context { \ChoirStaff \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 78 | \context { \StaffGroup \OptionTwoFalseCommand \OptionThreeFalseCommand \CustomTwoCommand} 79 | \context { 80 | \Score 81 | % The code between the following two tags will be visible for LilyPond if Option3 is set to TRUE. 82 | % (It will be commented out if Option3 is set to FALSE.) 83 | 84 | %{OOoLilyPondOption3True%}\numericTimeSignature%{OOoLilyPondEnd%} 85 | 86 | % The code between the following two tags will be visible for LilyPond if Option4 is set to FALSE. 87 | % (It will be commented out if Option4 is set to TRUE.) 88 | 89 | %{OOoLilyPondOption4False%}\remove "Bar_number_engraver"%{OOoLilyPondEnd%} 90 | 91 | \override BarNumber.break-visibility = #end-of-line-invisible 92 | \override BarNumber.self-alignment-X = #LEFT 93 | \override BreakAlignment.break-align-orders = 94 | #(make-vector 3 95 | '( left-edge span-bar breathing-sign staff-bar 96 | clef key-cancellation key-signature time-signature 97 | )) 98 | } 99 | \context { 100 | \Voice 101 | %{OOoLilyPondOption1False%}\remove "Stem_engraver"%{OOoLilyPondEnd%} 102 | } 103 | } 104 | 105 | % The following OOoLilyPond settings would cause compilation errors, 106 | % therefore they must be preceeded by a comment sign (%)! 107 | 108 | % Values (##t or ##f) for CheckBoxes (Option1 ... Option4) 109 | 110 | % %{OOoLilyPondOption1Value%}##t%{OOoLilyPondEnd%} 111 | % %{OOoLilyPondOption2Value%}##t%{OOoLilyPondEnd%} 112 | % %{OOoLilyPondOption3Value%}##t%{OOoLilyPondEnd%} 113 | % %{OOoLilyPondOption4Value%}##f%{OOoLilyPondEnd%} 114 | 115 | % Here you can define new labels for dialog control elements: 116 | 117 | % %{OOoLilyPondCustom1Label%}Indent:%{OOoLilyPondEnd%} 118 | % %{OOoLilyPondCustom2Label%}#Size + "Name"%{OOoLilyPondEnd%} 119 | % %{OOoLilyPondCustom3Label%}Ragged-right%{OOoLilyPondEnd%} 120 | % %{OOoLilyPondOption1Label%}Stems%{OOoLilyPondEnd%} 121 | % %{OOoLilyPondOption2Label%}Bars%{OOoLilyPondEnd%} 122 | % %{OOoLilyPondOption3Label%}Time signature%{OOoLilyPondEnd%} 123 | % %{OOoLilyPondOption4Label%}Bar numbers%{OOoLilyPondEnd%} 124 | 125 | % Even the "Line Width" and "Staff Size" labels can be changed: 126 | % use "OOoLilyPondLineWidthLabel" or "OOoLilyPondStaffSizeLabel" as above. 127 | -------------------------------------------------------------------------------- /extension/templates/2.12/Voice Exercise [SVG -dcrop].ly: -------------------------------------------------------------------------------- 1 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 2 | { 3 | %{OOoLilyPondCode%}% Example for music notation with lyrics. 4 | % Smaller notes are used to indicate the targeted pitch range of the exercise 5 | % Documentation about vocal music: 6 | % http://lilypond.org/doc/stable/Documentation/notation/vocal-music 7 | 8 | % Use the "Custom 1" to transpose your music expression. E. g. try "e a'". 9 | 10 | \relative e' { 11 | \time 3/4 \key e \major 12 | e8-. gis-. b-. cis-. b-. gis-. 13 | e8( gis b cis b gis 14 | e2.) 15 | \bar "||" 16 | \set fontSize = #-4 17 | e4 \glissando c' 18 | } 19 | \addlyrics { 20 | o o o o o o 21 | o __ "" "" 22 | } 23 | \addlyrics { 24 | a a a a a a 25 | a __ "" "" 26 | } 27 | %{OOoLilyPondEnd%} 28 | } 29 | 30 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 31 | #(define version-seen #t) 32 | 33 | \paper { 34 | ragged-right = ##t 35 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 36 | 37 | #(define fonts 38 | (make-pango-font-tree 39 | "TeXGyreSchola" ; adjust this font name according to your needs 40 | "TeXGyreHeros" ; adjust this font name according to your needs 41 | "TeXGyreCursor" ; adjust this font name according to your needs 42 | (/ staff-height pt 20))) 43 | } % Those 3 font families have to be installed on your system 44 | 45 | \layout { 46 | indent = #0 47 | \context { 48 | \Score 49 | \remove "Bar_number_engraver" 50 | } 51 | } 52 | 53 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Voice Exercise [SVG].ly: -------------------------------------------------------------------------------- 1 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 2 | { 3 | %{OOoLilyPondCode%}% Example for music notation with lyrics. 4 | % Smaller notes are used to indicate the targeted pitch range of the exercise 5 | % Documentation about vocal music: 6 | % http://lilypond.org/doc/stable/Documentation/notation/vocal-music 7 | 8 | % Use the "Custom 1" to transpose your music expression. E. g. try "e a'". 9 | % Use the "Custom 2" field for image height of your musical snippet. 10 | 11 | \relative e' { 12 | \time 3/4 \key e \major 13 | e8-. gis-. b-. cis-. b-. gis-. 14 | e8( gis b cis b gis 15 | e2.) 16 | \bar "||" 17 | \set fontSize = #-4 18 | e4 \glissando c' 19 | } 20 | \addlyrics { 21 | o o o o o o 22 | o __ "" "" 23 | } 24 | \addlyrics { 25 | a a a a a a 26 | a __ "" "" 27 | } 28 | %{OOoLilyPondEnd%} 29 | } 30 | 31 | % ------------------------------------------------------- 32 | 33 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 34 | #(define version-seen #t) 35 | 36 | \paper { 37 | paper-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 38 | paper-height = %{OOoLilyPondCustom2%}6 \cm%{OOoLilyPondEnd%} 39 | indent = #0 40 | short-indent = \indent 41 | ragged-right = ##t 42 | 43 | left-margin = 0 44 | right-margin = 0 45 | top-margin = 0 46 | bottom-margin = 0 47 | print-page-number = ##f 48 | 49 | page-count = 1 50 | 51 | #(define fonts 52 | (make-pango-font-tree 53 | "TeXGyreSchola" ; adjust this font name according to your needs 54 | "TeXGyreHeros" ; adjust this font name according to your needs 55 | "TeXGyreCursor" ; adjust this font name according to your needs 56 | (/ staff-height pt 20))) 57 | } % Those 3 font families have to be installed on your system 58 | 59 | \header { 60 | tagline = ##f 61 | } 62 | 63 | \layout { 64 | \context { 65 | \Score 66 | \remove "Bar_number_engraver" 67 | } 68 | } 69 | 70 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} 71 | % %{OOoLilyPondCustom2Label%}Image height:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /extension/templates/2.12/Voice Exercise.ly: -------------------------------------------------------------------------------- 1 | \transpose %{OOoLilyPondCustom1%}c c%{OOoLilyPondEnd%} 2 | { 3 | %{OOoLilyPondCode%}% Example for music notation with lyrics. 4 | % Smaller notes are used to indicate the targeted pitch range of the exercise 5 | % Documentation about vocal music: 6 | % http://lilypond.org/doc/stable/Documentation/notation/vocal-music 7 | 8 | % Use the "Custom 1" to transpose your music expression. E. g. try "e a'". 9 | 10 | \relative e' { 11 | \time 3/4 \key e \major 12 | e8-. gis-. b-. cis-. b-. gis-. 13 | e8( gis b cis b gis 14 | e2.) 15 | \bar "||" 16 | \set fontSize = #-4 17 | e4 \glissando c' 18 | } 19 | \addlyrics { 20 | o o o o o o 21 | o __ "" "" 22 | } 23 | \addlyrics { 24 | a a a a a a 25 | a __ "" "" 26 | } 27 | %{OOoLilyPondEnd%} 28 | } 29 | 30 | \include "lilypond-book-preamble.ly" 31 | #(set-global-staff-size #!OOoLilyPondStaffSize!# 20 #!OOoLilyPondEnd!#) 32 | 33 | \paper { 34 | ragged-right = ##t 35 | line-width = %{OOoLilyPondLineWidth%}17 \cm%{OOoLilyPondEnd%} 36 | } 37 | 38 | \layout { 39 | indent = #0 40 | \context { 41 | \Score 42 | \remove "Bar_number_engraver" 43 | } 44 | } 45 | 46 | % %{OOoLilyPondCustom1Label%}Transpose:%{OOoLilyPondEnd%} -------------------------------------------------------------------------------- /old-README.md: -------------------------------------------------------------------------------- 1 | This file is a more or less raw copy of the old introductory web page on 2 | http://ooolilypond.sourceforge.net/ 3 | 4 | 5 | # Installation 6 | ## Installing under Windows and Linux 7 | 8 | Make sure that the following software is installed: 9 | - LilyPond 2.10 or newer (older versions may also work) 10 | - OpenOffice.org 2.4 or newer 11 | 12 | Download the newest OOoLilyPond extension (OOoLilyPond-0.x.x.oxt). 13 | 14 | Start OpenOffice.org 15 | Open the extension manager. You find it in the menu “Tools”. 16 | 17 | Click “Add...” and select the downloaded package and install it. 18 | 19 | Open a new Writer, Draw or Impress Document, the OOoLilyPond toolbar appears (at 20 | the moment the only button is “OLy”). 21 | 22 | ## Installing on Mac OS X 23 | 24 | The current release of OOoLilyPond hat not been tested on Mac OS X but it should 25 | work as it works on Linux machines. OLy can also be used in NeoOffice. 26 | 27 | Follow the installation procedures given for Windows or Linux. 28 | 29 | Mac-specific instructions: 30 | - Start OpenOffice.org / NeoOffice - Click the “OLy”-button to bring up the OOoLilyPond window. 31 | - Click the Config button. 32 | - In the field “LilyPond Executable” type “/Applications/LilyPond.app/Contents/Resources/bin/lilypond”. 33 | - Click “OK”. 34 | 35 | # First Steps 36 | 37 | Place the cursor in a Writer document. Click the “OLy”-button in the tool bar to 38 | open the OOoLilyPond Editor. 39 | 40 | Select a template (you can also keep the default). 41 | 42 | Select the Staff Size you like. 43 | 44 | Adjust the line width to the value that corresponds to your Writer document. The default should be OK for A4. 45 | 46 | Click the “LilyPond”-button. This translates the example of the template and 47 | inserts it into the Writer document. 48 | 49 | Select the newly created musical notation object and click the “OLy”-button again. 50 | 51 | The OOoLilyPond editor window opens again with all the settings from last time. 52 | In the large input field, you can change the notes (may be you need to scroll 53 | down to see the code for the notes). For learning the syntax of the LilyPond 54 | language read the LilyPond documentation. I recommend to start with the chapter 55 | Simple notation. Getting Help 56 | 57 | For getting help on how to use or install OOoLilyPond visit the forums . 58 | 59 | For learning the syntax of the LilyPond language read the LilyPond 60 | documentation. Best starting point is the chapter Simple notation. Known Issues 61 | 62 | Using the eps format on Windows does not to work. 63 | 64 | OLy objects copied from Writer into Impress or Draw are not recognized anymore 65 | as OLy objects. The copied objects cannot be edited further. As a work around 66 | open the object to copy in Writer with OLy and select all the code (CTRL-A). 67 | Create a new OLy object in Impress or Draw and paste the copied Code. 68 | 69 | When printing documents containing OOoLilyPond objects in eps format 70 | OpenOffice.org asks if the transperency should be reduced. The right option to 71 | get high quality results is "yes". 72 | 73 | When using OOoLilyPond with the window manager Compiz (default in gnome when 74 | using desktop effects) the OOoLilyPond Window and appear too small. To get 75 | OOoLilyPond working properly switch to the Metacity window manager. You can do 76 | this temporarily with the following command: 77 | 78 | $ metacity --replace 79 | 80 | When using OOoLilyPond you loose the clipbaord contents. This is because 81 | OOoLilyPond uses the clipboard to insert the image. Hopefully this can be 82 | avoided in future versions. 83 | 84 | # FAQ 85 | 86 | When Compiling the code I get the following error: 87 | lilypond: /usr/lib/openoffice/program/libstdc++.so.6: version 88 | 'CXXABI_1.3.1' not found (required by lilypond) 89 | 90 | Edit the lilpond macro code as described in the following: 91 | 92 | In OpenOffice.org from the Menu choose: 93 | Tools --> Marcros --> Organise Macros --> OpenOffice.org Basic 94 | Select under "Macro from": My Macros --> OOoLilyPond --> Subs 95 | Select the Macro "CallLilyPond" 96 | Click Edit 97 | 98 | find the Line: 99 | & Chr(34) & sLilyPondExecutable & Chr(34) 100 | 101 | change it to: 102 | & "env LD_LIBRARY_PATH= " & Chr(34) & sLilyPondExecutable & Chr(34) 103 | 104 | Switch back to OpenOffice.org Writer, start the macro. 105 | Credits 106 | 107 | OOoLilyPond would not exist without the two great softwares LilyPond and 108 | OpenOffice.org. Therefore I like to thank all the developers of OpenOffice.org 109 | and LilyPond. Many thanks also to Geoffroy Piroux who has written the macro 110 | OOoLaTeX. from which OOoLilyPond has been derived. Thanks also to Andy May for 111 | the installation instructions for Mac OS X, to Goran Rakic for providing the 112 | OpenOffice.org extension package and to Hugo Ribeiro, Francisco Villa and Daniel 113 | Cartron for translating the web page into portuguese, spanish and french. 114 | -------------------------------------------------------------------------------- /translation/de.yaml: -------------------------------------------------------------------------------- 1 | # German translation for OOoLilyPond extension 2 | description: |- 3 | OOoLilyPond ermöglicht es musikalische Noten in OpenOffice.org oder 4 | LibreOffice Writer-, Draw- und Impress-Documenten einzubinden. 5 | Der musikalische Ausdruck wird as Text eingegeben und dann mit LilyPond 6 | in ein Grafikobjekt (png, eps oder svg) umgewandelt und eingebunden. 7 | 8 | http://ooolilypond.sf.net 9 | http://lilypond.org 10 | 11 | Copyright (c) 2006-2009 Samuel Hartmann (samuel_hartmann@users.sourceforge.net) 12 | Copyright (c) 2017 Klaus Blum 13 | Übersetzung: Joram Berger 14 | 15 | # Ask 16 | 'Yes': Ja 17 | CommandButton1: Befehl1 18 | 'No': Nein 19 | Abort: Abbrechen 20 | All: Alles 21 | Do you want to process this object?: Möchten Sie dieses Objekt verarbeiten? 22 | 23 | # main window 24 | Default Code: Zurücksetzen 25 | Anchor: Verankerung 26 | As Character: Als Zeichen 27 | To Paragraph: Am Absatz 28 | To Page: An Seite 29 | Wrap: Textumlauf 30 | No Wrap: kein Umlauf 31 | Optimal Page Wrap: beide Seiten 32 | Wrap Through: durchlaufend 33 | Template: Vorlage 34 | Edit: Bearb. 35 | Line Width: Zeilenbreite 36 | Staff Size: Größe 37 | Custom 1: Extra 1 38 | Custom 2: Extra 2 39 | Default: Standard 40 | Ly Output: Ausgabe 41 | Config: Optionen 42 | Open as temp. file in Ext. Editor: In externem Editor öffnen 43 | Import from temp. file: Import aus externer Datei 44 | 'Keep Size & Crop Settings': Größe und Zuschnitt beibehalten 45 | 46 | Reset all values to default: Alle Einstellungen zurücksetzen 47 | Reset to Default: Zurücksetzen 48 | Restore Templates: Vorlagen wiederherstellen 49 | Template Path: Vorlagenpfad 50 | Format: Format 51 | Resolution (png): Auflösung (png) 52 | Default template to use for OOoLilyPond objects in Writer documents: Standardvorlage für Noten in Textdokumenten (Writer) 53 | Insert Images via Clipboard. Recommended for OpenOffice.: Noten über Zwischenablage einfügen (empfohlen für OpenOffice). 54 | Insert Images without Clipboard use. Recommended for LibreOffice.: Noten ohne Zwischenablage einfügen (empfohlen für LibreOffice). 55 | Direct (LibreOffice): Direkt (LibreOffice) 56 | Via Clipboard (OpenOffice): Über Zwischenablage (OpenOffice) 57 | From Template: Aus Vorlage 58 | 59 | # template editor 60 | Save: Speichern 61 | Save As: Speichern unter 62 | Delete: Löschen 63 | Cancel: Abbrechen 64 | 65 | # help text 66 | The OOoLilyPond object is inserted into the Text like a character.: Die Noten werden wie ein Schriftzeichen eingefügt und damit fest im Text positioniert. 67 | The OOoLilyPond object is inserted like an image and can be placed freely. The object keeps the position relative to the paragraph.: Die Noten werden wie ein Bild eingefügt und können frei positioniert werden. Sie behalten ihre Position relativ zum Absatz. 68 | The OOoLilyPond object is inserted like an image and can be placed freely. The object keeps the position relative to the page.: Die Noten werden wie ein Bild eingefügt und können frei positioniert werden. Sie behalten ihre Position relativ zur Seite. 69 | The text is not flowing around the OOoLilyPond object.: Der Text umfließt die Noten nicht. 70 | The text is flowing on the right or left side of the OOoLIlyPond object.: Der Text umfließt die Noten links oder rechts. 71 | The text is flowing through the OOoLilyPond object.: Der Text fließt durch die Noten. 72 | Open the configuration dialog.: Einstellungen öffnen. 73 | Previous error or warning: Vorherige Fehlermeldung oder Warnung 74 | Next error or warning: Nächste Fehlermeldung oder Warnung 75 | You can create your own templates using a text editor.: Eigene Templates erstellen. 76 | Open the current code as temoprary .LY file in external editor: Den aktuellen Code als temporäre .ly-Datei in externem Editor öffnen 77 | Import the temporary file from the external editor: Die Datei aus externem Editor übernehmen. 78 | When editing/replacing an existing object, preserve its current size and crop settings: Aktuelle Größe und aktuellen Zuschnitt der eingefügten Noten beibehalten auch wenn der Inhalt sich ändert. 79 | 80 | # GUI Config 81 | Default Values for Writer: Standardeinstellungen für Writer 82 | Default Values for Impress and Draw: Standardeinstellungen für Impress und Draw 83 | Apply and save configuration to file: Einstellungen anwenden und speichern 84 | The path where OOoLiliyPond looks for templates.: Der Pfad in dem die Erweiterung nach Vorlagen sucht. 85 | The LilyPond executable with or without path.: Das LilyPond-Programm (mit oder ohne Pfad). 86 | Resolution for pixel based (png-format) OOoLilyPond objects.: Auflösung für Noten im PNG-Format. 87 | The png format looks better on the screen. The eps and svg formats are optimized for printing.: Das PNG-Format sieht auf dem Bildschirm besser aus. Das EPS- und SVG-Format ist für den Druck optimiert. 88 | 'Don't list warnings along with LilyPond's error messages': Keine Warnungen anzeigen, nur Fehlermeldungen. 89 | Ext. Editor Executable: Externer Editor 90 | The external Editor's executable with or without path.: Die Programmdatei des externen Editors (mit oder ohne Pfad). 91 | Include statement(s): Include statement(s) 92 | The path(s) where LilyPond looks for include files (multiple statements possible): Der Pfad, in dem LilyPond nach Dateien zum Einbinden sucht (mehrere möglich) 93 | -I"path1" -I"path2" ...: '-I"pfad1" -I"pfad2" ...' 94 | Editor Font Name: Editor-Schriftart 95 | Size: Größe 96 | Specify the font name for the editor pane: Name der Schriftart im Editorfenster 97 | Specify the font size for the editor pane: Größe der Schriftart im Editorfenster 98 | Insert Images: Bilder einfügen 99 | 'eps: Only with OpenOffice': 'EPS: Nur mit OpenOffice' 100 | 'svg: Only with LibreOffice, use Template': 'SVG: Nur mit LibreOffice' 101 | 102 | # Process 103 | Code: Code 104 | Process: Prozess 105 | 106 | # Messages 107 | The folder: Der Ordner 108 | is created.: wurde erstellt. 109 | It contains the: Er beinhaltet die 110 | templates you can modify. The original templates can always be restored while your modified templates are backed up. For this use the: '-Vorlagen, die Sie abändern können. Die ursprünglichen Vorlagen können jederzeit wiederhergestellt werden, wobei von Ihren abgeänderten Vorlagen eine Sicherungskopie erstellt wird. Nutzen Sie hierfür den' 111 | restore templates: Vorlagen wiederherstellen 112 | button in the configuration dialog.: '-Knopf im Optionen-Dialog.' 113 | 114 | The specified path for templates does not exist and cannot be created: Der angegebene Pfad für die Vorlagen existiert nicht und konnte auch nicht erstellt werden 115 | Please adjust the path in the configuration dialog.: Bitte geben Sie im Optionen-Dialog den richtigen Pfad an. 116 | 117 | Your old templates are backed up under: Eine Sicherungskopie Ihrer bisherigen Vorlagen befindet sich jetzt in 118 | Templates Backup: Sicherungskopie der Vorlagen 119 | No templates are found at the path: Im angegebenen Pfad wurden keine Vorlagen gefunden 120 | will not work without a template.: wird ohne Vorlage nicht funktionieren. 121 | 122 | The template path: Der Vorlagenordner 123 | is not found.: wurde nicht gefunden. 124 | 125 | Warning: Warnung 126 | Error: Fehler 127 | 128 | No valid file name / path for External Editor is specified.: Für den externen Editor wurde kein gültiger Dateiname / Pfad angegeben. 129 | 130 | Are you sure?: Sind Sie sicher? 131 | Do you really want to reset your code to the default?: Möchten Sie wirklich Ihren Code auf die Standardvorgabe zurücksetzen? 132 | 133 | LilyPond cannot be executed.: LilyPond kann nicht ausgeführt werden. 134 | Check the path specified for the lilypond executable in the configuration dialog,: Überprüfen Sie den Pfad, der im Optionen-Dialog für die LilyPond-Programmdatei angegeben ist, 135 | your LilyPond installation and permissions.: die LilyPond-Installation und Ihre Berechtigungen. 136 | 137 | The LilyPond output file does not exist: Die LilyPond-Ausgabedatei existiert nicht 138 | ': document type not supported by': ': Dokumente dieses Typs werden nicht unterstützt von' 139 | 140 | LilyPond can not be found. Please check whether LilyPond is properly installed: LilyPond kann nicht gefunden werden. Bitte überprüfen Sie, ob LilyPond richtig istalliert ist 141 | and the specified path to the LilyPond executable is correct.: und ob der angegebene Pfad zur Programmdatei korrekt ist. 142 | 143 | The selected object is not an OLy object ...: Das ausgewählte Objekt ist kein OLy-Objekt ... 144 | 145 | Enter LilyPond code...: Geben Sie Code für LilyPond ein.. 146 | 147 | No eps output is found: Keine eps-Ausgabedatei gefunden 148 | No png output is found: Keine png-Ausgabedatei gefunden 149 | No svg output is found: Keine svg-Ausgabedatei gefunden 150 | 151 | 'No " & constOLyLibraryName & " tags found in the template!': 'Keine " & constOLyLibraryName & " Tags in der Vorlage gefunden!' 152 | 153 | 'Template error: missing end tag': 'Fehler in der Vorlage: fehlender End-Tag' 154 | for tag: für Tag 155 | 156 | Cannot open the template file: Kann die Vorlage nicht öffnen 157 | 158 | corresponding end tag for: Der entsprechende End-Tag für 159 | is missing or misspelled.: fehlt oder ist falsch geschrieben 160 | 161 | The selected template does not have an OOoLilyPondCode tag.: Die gewählte Vorlage hat keinen OOoLilyPondCode-Tag. 162 | Please correct the template.: Bitte korrigieren Sie die Vorlage. 163 | 164 | Cannot open the temporary file: Kann die temporäre Datei nicht öffnen 165 | The temporary file does not have an OOoLilyPondCode tag.: Die temporäre Datei hat keinen OOoLilyPondCode-Tag. 166 | 167 | Cannot delete the template file: Kann Vorlagen-Datei nicht löschen 168 | You have deleted a default template. Please choose another default template in the configuration dialogue: Sie haben eine Standardvorlage gelöscht. Bitte wählen Sie im Optionen-Dialog eine andere Standardvorlage 169 | 170 | New template name: Neuer Name für Vorlage 171 | Please enter a new template name and click OK.: Bitte geben Sie für die Vorlage einen neuen Namen ein, und klicken Sie OK. 172 | 173 | Cannot write to file: Fehler beim Schreiben in die Datei 174 | 175 | 'ImportBitmapIntoWriter: the second argument must be either a TextCursor or a TextGraphic.': 'ImportBitmapIntoWriter: Das zweite Argument muss entweder TextCursor oder TextGraphic sein.' 176 | -------------------------------------------------------------------------------- /translation/fr.yaml: -------------------------------------------------------------------------------- 1 | # German translation for OOoLilyPond extension 2 | description: |- 3 | OOoLilyPond permet d’intégrer des fragments de notation musicale dans 4 | des documents texte, graphiques ou diaporamas avec OpenOffice.org ou 5 | LibreOffice. La gravure musicale est saisie sous forme de code source 6 | puis compilée par LilyPond pour aboutir à un objet graphique, vectoriel 7 | ou non (au format png, eps ou svg). 8 | 9 | http://ooolilypond.sf.net 10 | http://lilypond.org 11 | 12 | Copyright (c) 2006-2009 Samuel Hartmann (samuel_hartmann@users.sourceforge.net) 13 | Copyright (c) 2017 Klaus Blum 14 | Traduction : Valentin Villenave 15 | 16 | # Ask 17 | 'Yes': Oui 18 | CommandButton1: Commande1 19 | 'No': Non 20 | Abort: Annuler 21 | All: Tout 22 | Do you want to process this object?: Voulez-vous traiter cet objet ? 23 | 24 | # main window 25 | Default Code: "Réinitialiser" 26 | Anchor: Ancre 27 | As Character: "Comme caractère" 28 | To Paragraph: Au paragraphe 29 | To Page: "À la page" 30 | Wrap: Adaptation du texte 31 | No Wrap: "Pas d'adaptation" 32 | Optimal Page Wrap: Optimale 33 | Wrap Through: Continue 34 | Template: "Modèle :" 35 | Edit: Modifier 36 | Line Width: "Largeur :" 37 | Staff Size: "Taille :" 38 | Custom 1: "Propriété 1" 39 | Custom 2: "Propriété 2" 40 | Default: Standard 41 | Ly Output: Messages 42 | Config: "Réglages" 43 | Open as temp. file in Ext. Editor: "Ouvrir dans l'éditeur externe" 44 | Import from temp. file: Importer depuis le fichier temporaire 45 | 'Keep Size & Crop Settings': Conserver la taille et le recadrage 46 | 47 | Reset all values to default: "Tout réinitialiser" 48 | Reset to Default: "Réinitialiser" 49 | Restore Templates: "Restaurer les modèles" 50 | Template Path: "Emplacement des modèles" 51 | Format: "Format :" 52 | Resolution (png): "Résolution (png) :" 53 | Default template to use for OOoLilyPond objects in Writer documents: "Modèle par défaut à utiliser pour les objets OOoLilyPond dans les documents texte" 54 | Insert Images via Clipboard. Recommended for OpenOffice.: "Insérer les images par le presse-papier ; recommandé pour OpenOffice." 55 | Insert Images without Clipboard use. Recommended for LibreOffice.: "Insérer les images sans utiliser le presse-papier ; recommandé pour LibreOffice." 56 | Direct (LibreOffice): Directement (LibreOffice) 57 | Via Clipboard (OpenOffice): Par le presse-papier (OpenOffice) 58 | From Template: "Déf. du modèle" 59 | 60 | # template editor 61 | Save: Enregistrer 62 | Save As: "Enregistrer sous…" 63 | Delete: Supprimer 64 | Cancel: Annuler 65 | 66 | # help text 67 | The OOoLilyPond object is inserted into the Text like a character.: "L'objet OOoLilyPond sera inséré dans le texte comme un caractère ordinaire." 68 | The OOoLilyPond object is inserted like an image and can be placed freely. The object keeps the position relative to the paragraph.: "L'object OOoLilyPond sera inséré comme une image et peut être placé librement ; il conservera sa position par rapport au paragraphe." 69 | The OOoLilyPond object is inserted like an image and can be placed freely. The object keeps the position relative to the page.: "L'object OOoLilyPond sera inséré comme une image et peut être placé librement ; il conservera sa position par rapport à la page." 70 | The text is not flowing around the OOoLilyPond object.: "Le texte ne se poursuivra pas autour de l'objet OOoLilyPond." 71 | The text is flowing on the right or left side of the OOoLIlyPond object.: "Le texte se poursuivra à droite ou à gauche de l'objet OOoLilyPond." 72 | The text is flowing through the OOoLilyPond object.: "Le texte se poursuivra à travers l'objet OOoLilyPond." 73 | Open the configuration dialog.: "Ouvrir la sous-fenêtre de configuration" 74 | Previous error or warning: "Erreur ou avertissement précédent⋅e" 75 | Next error or warning: "Erreur ou avertissement suivant⋅e" 76 | You can create your own templates using a text editor.: "Vous pouvez créer vos propres modèles avec un éditeur de texte." 77 | Open the current code as temoprary .LY file in external editor: "Ouvrir le code actuel en tant que fichier .ly temporaire dans l'éditeur externe" 78 | Import the temporary file from the external editor: Remplacer le code actuel par celui du fichier temporaire. 79 | When editing/replacing an existing object, preserve its current size and crop settings: Pour modifier ou remplacer un objet existant en conservant sa taille et son recadrage. 80 | 81 | # GUI Config 82 | Default Values for Writer: "Valeurs par défaut pour le Traitement de texte" 83 | Default Values for Impress and Draw: "Valeurs par défaut pour les graphiques et diaporamas" 84 | Apply and save configuration to file: "Appliquer et enregistrer les réglages." 85 | The path where OOoLiliyPond looks for templates.: "L'emplacement où OOoLilyPond peut trouver des fichiers de modèles." 86 | The LilyPond executable with or without path.: "L'emplacement de l'exécutable LilyPond (le chemin complet peut être omis)." 87 | Resolution for pixel based (png-format) OOoLilyPond objects.: "Résolution pour les objets OOoLilyPond pixelisés (format png)." 88 | The png format looks better on the screen. The eps and svg formats are optimized for printing.: "Le format png peut sembler plus lisse à l'écran. Les formats vectoriels (eps ou svg) sont recommandés pour les documents imprimables." 89 | 'Don't list warnings along with LilyPond's error messages': "Ne pas inclure les avertissements parmi les messages d'erreur de LilyPond." 90 | Ext. Editor Executable: "Exécutable pour l'éditeur externe :" 91 | The external Editor's executable with or without path.: "L'emplacement de l'éditeur externe (Frescobaldi ou autre)." 92 | Include statement(s): "Dossiers d'inclusion :" 93 | The path(s) where LilyPond looks for include files (multiple statements possible): "Les emplacements où LilyPond doit chercher des fichiers à inclure (il est possible d'en indiquer plusieurs)." 94 | -I"path1" -I"path2" ...: '-I"chemin" -I"autre" ...' 95 | Editor Font Name: "Police de l'éditeur :" 96 | Size: "Taille :" 97 | Specify the font name for the editor pane: "Indiquez le nom de la police utilisée pour le code source." 98 | Specify the font size for the editor pane: "Indiquez la taille de police utilisée pour le code source." 99 | Insert Images: "Insérer les images" 100 | 'eps: Only with OpenOffice': 'eps: Seulement pour OpenOffice' 101 | 'svg: Only with LibreOffice, use Template without': 'svg: Seulement pour LibreOffice ; utiliser un modèle sans' 102 | 103 | # Process 104 | Code: Code 105 | Process: Compilation 106 | 107 | # Messages 108 | The folder: Le dossier 109 | is created.: "a été créé." 110 | It contains the: "Il contient des modèles" 111 | templates you can modify. The original templates can always be restored while your modified templates are backed up. For this use the: ', que vous pouvez adapter. Les modèles d'origine peuvent toujours être récupérés tandis que vos modèles modifiés seront sauvegardés. Pour ce faire, veuillez utiliser le bouton' 112 | restore templates: "«Restaurer les modèles»" 113 | button in the configuration dialog.: 'dans la sous-fenêtre de configuration.' 114 | 115 | The specified path for templates does not exist and cannot be created: "L'emplacement indiqué pour les modèles n'existe pas et ne peut être créé :" 116 | Please adjust the path in the configuration dialog.: "Veuillez rectifier l'emplacement dans la sous-fenêtre de configuration." 117 | 118 | Your old templates are backed up under: "Vos modèles précédents ont été sauvegardés ici :" 119 | Templates Backup: "Sauvegarde des modèles" 120 | No templates are found at the path: "Aucun modèle n'a été trouvé à l'emplacement indiqué :" 121 | will not work without a template.: "ne peut fonctionner sans modèle." 122 | 123 | The template path: "Le dossier de modèles 124 | is not found.: n'a pas été trouvé." 125 | 126 | Warning: Avertissement 127 | Error: Erreur 128 | 129 | No valid file name / path for External Editor is specified.: "Aucun emplacement/nom de fichier valide n'a été indiqué pour l'éditeur externe." 130 | 131 | Are you sure?: Voulez-vous confirmer ? 132 | Do you really want to reset your code to the default?: "Voulez-vous vraiment remplacer votre code par le code par défaut ?" 133 | 134 | LilyPond cannot be executed.: "LilyPond ne peut pas être lancé." 135 | Check the path specified for the lilypond executable in the configuration dialog,: "Veuillez vérifier l'emplacement indiqué pour l'exécutable «lilypond» dans la sous-fenêtre de configuration. " 136 | your LilyPond installation and permissions.: "Vérifiez également votre installation de LilyPond et les permissions dont vous disposez." 137 | 138 | The LilyPond output file does not exist: "Le fichier de messages de sortie de LilyPond n'existe pas :" 139 | ': document type not supported by': ' : Ce type de document n'est pas pris en charge par' 140 | 141 | LilyPond can not be found. Please check whether LilyPond is properly installed: "LilyPond n'a pu être trouvé. Veuillez vérifier que LilyPond est installé correctement," 142 | and the specified path to the LilyPond executable is correct.: "et que l'exécutable «lilypond» se trouve bien à l'emplacement indiqué." 143 | 144 | The selected object is not an OLy object ...: "L'objet actuellement sélectionné n'est pas un objet OLy…" 145 | 146 | Enter LilyPond code...: "Veuillez entrer du code LilyPond…" 147 | 148 | No eps output is found: "Aucun rendu EPS n'a été trouvé." 149 | No png output is found: "Aucun rendu PNG n'a été trouvé." 150 | No svg output is found: "Aucun rendu SVG n'a été trouvé." 151 | 152 | 'No " & constOLyLibraryName & " tags found in the template!': 'Aucune balise " & constOLyLibraryName & " n'a été trouvée dans le modèle !' 153 | 154 | 'Template error: missing end tag': 'Erreur dans le modèle : balise de fermeture absente' 155 | for tag: pour la balise 156 | 157 | Cannot open the template file: "Impossible d'ouvrir le fichier de modèle :" 158 | 159 | corresponding end tag for: "La balise de fin qui devrait correspondre à" 160 | is missing or misspelled.: "est absente ou mal orthographiée" 161 | 162 | The selected template does not have an OOoLilyPondCode tag.: "Aucune balise OOoLilyPondCode trouvée dans le modèle sélectionné !" 163 | Please correct the template.: "Veuillez corriger le fichier :" 164 | 165 | Cannot open the temporary file: "Impossible d'ouvrir le fichier LilyPond temporaire :" 166 | The temporary file does not have an OOoLilyPondCode tag.: "Le fichier temporaire ne contient aucune balise OOoLilyPond !" 167 | 168 | Cannot delete the template file: "Impossible de supprimer le fichier de modèle :" 169 | You have deleted a default template. Please choose another default template in the configuration dialogue: "Vous avez supprimé un des modèles par défaut. Veuillez choisir un autre modèle par défaut dans la sous-fenêtre de configuration." 170 | 171 | New template name: "Nouveau nom du modèle" 172 | Please enter a new template name and click OK.: "Veuillez saisir un nouveau nom pour le modèle, puis validez." 173 | 174 | Cannot write to file: "Impossible d'écrire dans le fichier" 175 | 176 | 'ImportBitmapIntoWriter: the second argument must be either a TextCursor or a TextGraphic.': 'ImportBitmapIntoWriter : le deuxième argument devrait être un TextCursor ou un TextGraphic.' 177 | -------------------------------------------------------------------------------- /translation/readme.md: -------------------------------------------------------------------------------- 1 | # Translation Tool 2 | 3 | This simple tool is used to translate the LibreOffice extension for LilyPond in other languages. Currently, French and German are the only available translations. 4 | 5 | 6 | ## Requirements 7 | 8 | The tool requires *Python 3* including these packages: *glob*, *shutil* and *yaml*. 9 | 10 | 11 | ## Usage 12 | 13 | The translation tool is run from the root directory. A [language code] *lang* must be provided as argument: 14 | 15 | translation/translate.py 16 | 17 | For example: 18 | 19 | translation/translate.py de 20 | 21 | It uses the translation given in the file *lang*.yaml in the [yaml] format. For the translation purposes this format is simply: 22 | 23 | original English text: translated text 24 | 25 | After running the script, the translated version of the extension code will be located at the translation/extension-*lang* subdirectory. It can be zipped to build a translated extension just like the original extenion. 26 | 27 | The whole process is automated in the [Makefile]: 28 | 29 | make de 30 | 31 | ## Adding new languages 32 | 33 | For new translations, just copy [de.yaml] to *language-code*.yaml and replace the German translations after the colon by the correct translation in this language. 34 | 35 | [language code]: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes 36 | [yaml]: https://en.wikipedia.org/wiki/YAML 37 | [Makefile]: ../Makefile 38 | [de.yaml]: de.yaml 39 | -------------------------------------------------------------------------------- /translation/translate.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | """ 3 | Translation tool for the LilyPond LibreOffice extension 4 | 5 | Usage: translation/translate.py 6 | Example: translation/translate.py de 7 | """ 8 | 9 | import glob 10 | import re 11 | import shutil 12 | import sys 13 | import yaml 14 | 15 | 16 | def translate(language): 17 | """translate the current extension code to the given language""" 18 | # create a copy of the extension folder for the given language 19 | langdir = 'translation/extension-%s' % language 20 | shutil.rmtree(langdir, ignore_errors=True) 21 | shutil.copytree('extension', langdir) 22 | 23 | # replace english strings with translated strings in this copy 24 | translatedescription('%s/pkg-desc/pkg-description.txt' % langdir, language) 25 | notfound = None 26 | for filename in glob.glob('%s/OOoLilyPond/*.x??' % langdir): 27 | notfound = translatefile(filename, language, notfound) 28 | 29 | # show replacement strings which were not found 30 | notfound.remove('description') 31 | if notfound: 32 | print("Warning: These strings were not found:") 33 | for line in notfound: 34 | print(" %r" % line) 35 | 36 | def translatefile(filename, language, notfound): 37 | """translate a file using the dictionary in .yaml""" 38 | patterns = ['dlg:value="%s"', 'dlg:value="%s:"', 'dlg:help-text="%s"', 39 | '"%s"', '"%s "', '" %s"', '" %s "', 40 | '"%s:"','"%s: "'] 41 | 42 | with open('translation/%s.yaml' % language) as f: 43 | dictionary = yaml.load(f) 44 | 45 | if notfound is None: 46 | notfound = list(dictionary.keys()) 47 | with open(filename) as f: 48 | text = f.read() 49 | 50 | for original in reversed(sorted(dictionary)): 51 | translation = dictionary[original] 52 | if not isinstance(original, str): 53 | print("Warning: bad type %r for entry: %s" % (type(original), original)) 54 | for pattern in patterns: 55 | if (pattern % original) in text and original in notfound: 56 | notfound.remove(original) 57 | text = text.replace(pattern % original, pattern % translation) 58 | 59 | with open(filename, 'w') as f: 60 | f.write(text) 61 | return notfound 62 | 63 | def translatedescription(filename, language): 64 | """Translate description file""" 65 | with open('translation/%s.yaml' % language) as f: 66 | dictionary = yaml.load(f) 67 | 68 | with open(filename, 'w') as f: 69 | f.write(dictionary['description']) 70 | 71 | translate(language=sys.argv[1]) 72 | -------------------------------------------------------------------------------- /update/ooolilypond-update.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | OOoLilyPond 14 | 15 | 16 | -------------------------------------------------------------------------------- /update/readme.md: -------------------------------------------------------------------------------- 1 | ## Receiving updates for OOoLilyPond 2 | 3 | | ANNOUNCEMENT | 4 | | :---: | 5 | | OOoLilyPond has moved to a new repository: | 6 | | **https://github.com/OOoLilyPond** | 7 | | All past/present/future development can be found at the new location. The page you are viewing right here contains all development up to V. 1.0.1, but it will no longer be maintained. | 8 | 9 | OOoLilyPond 0.5.0 (and later versions) will specify *ooolilypond-update.xml* in this directory as information source about newer versions. 10 | 11 | ooolilypond-update.xml contains a download URL to the most recent *.oxt file. 12 | 13 | This will enable the extension manager of LibreOffice / OpenOffice to inform the user about new versions and perform the update process on request. 14 | -------------------------------------------------------------------------------- /update/release-notes.txt: -------------------------------------------------------------------------------- 1 | It seems that updating via the extension manager does NOT work at the moment. 2 | You can download the most recent version at 3 | https://github.com/OOoLilyPond/OOoLilyPond/wiki/Downloads 4 | and open it in LibreOffice / OpenOffice. 5 | 6 | direct link for LibreOffice: 7 | https://github.com/OOoLilyPond/OOoLilyPond/releases/download/v1.1.10/OOoLilyPond-1.1.10.oxt 8 | direct link for OpenOffice: 9 | https://github.com/OOoLilyPond/OOoLilyPond/releases/download/v1.1.10/OOoLilyPond-1.1.10_for_Apache_OpenOffice.oxt 10 | 11 | 12 | ********************************************** 13 | OOoLilyPond Version History (March 2024): 14 | ********************************************** 15 | 16 | Complete documentation: 17 | https://github.com/OOoLilyPond/OOoLilyPond/wiki#ooolilypond 18 | 19 | 20 | 21 | Changes to OOoLilyPond 1.1.10 since 1.1.9 (March 2024): 22 | ======================================================= 23 | 24 | * Bugfix: When using the 'add missing "pt" unit' feature, certain svg files larger than 32767 bytes 25 | could cause OLy to abort with an "Overflow" runtime error. 26 | 27 | * Improvement: An svg file is only re-written if a "pt" unit had to be added. 28 | If nothing has been changed, there are no more unnecessary write operations. 29 | --------------------------------------------------------------------------------