This list is closed, nobody may subscribe to it.
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2012 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(34) |
Sep
(63) |
Oct
(3) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
(6) |
May
|
Jun
(3) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
(8) |
2015 |
Jan
|
Feb
|
Mar
|
Apr
(36) |
May
|
Jun
|
Jul
|
Aug
(12) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
(38) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(12) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(2) |
Jun
(48) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2019 |
Jan
(7) |
Feb
|
Mar
|
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ma...@us...> - 2015-04-11 00:59:32
|
Revision: 1397 http://sourceforge.net/p/canorus/code/1397 Author: matevz Date: 2015-04-11 00:59:19 +0000 (Sat, 11 Apr 2015) Log Message: ----------- Added ruler showing the bar number on top of the score view. Updated Slovenian translation. Modified Paths: -------------- trunk/src/core/settings.cpp trunk/src/core/settings.h trunk/src/lang/sl.ts trunk/src/layout/drawable.h trunk/src/layout/drawablestaff.cpp trunk/src/layout/drawablestaff.h trunk/src/score/sheet.h trunk/src/ui/mainwin.cpp trunk/src/ui/mainwin.h trunk/src/ui/mainwin.ui trunk/src/widgets/scoreview.cpp trunk/src/widgets/scoreview.h Modified: trunk/src/core/settings.cpp =================================================================== --- trunk/src/core/settings.cpp 2015-04-10 22:29:29 UTC (rev 1396) +++ trunk/src/core/settings.cpp 2015-04-11 00:59:19 UTC (rev 1397) @@ -28,6 +28,7 @@ const bool CASettings::DEFAULT_LOCK_SCROLL_PLAYBACK = true; // scroll while playing const bool CASettings::DEFAULT_ANIMATED_SCROLL = true; const bool CASettings::DEFAULT_ANTIALIASING = true; +const bool CASettings::DEFAULT_SHOW_RULER = true; const QColor CASettings::DEFAULT_BACKGROUND_COLOR = QColor(255, 255, 240); const QColor CASettings::DEFAULT_FOREGROUND_COLOR = Qt::black; const QColor CASettings::DEFAULT_SELECTION_COLOR = Qt::red; @@ -114,6 +115,7 @@ setValue( "editor/playinsertednotes", playInsertedNotes() ); setValue( "editor/autobar", autoBar() ); setValue( "editor/splitatquarterboundaries", splitAtQuarterBoundaries() ); + setValue( "editor/showruler", showRuler() ); setValue( "files/documentsdirectory", documentsDirectory().absolutePath() ); setValue( "files/defaultsaveformat", defaultSaveFormat() ); @@ -182,6 +184,11 @@ else setSplitAtQuarterBoundaries( DEFAULT_SPLIT_AT_QUARTER_BOUNDARIES ); + if ( contains("editor/showruler") ) + setShowRuler( value("editor/showruler").toBool() ); + else + setShowRuler( DEFAULT_SHOW_RULER ); + // Saving/Loading settings if ( contains("files/documentsdirectory") ) setDocumentsDirectory( value("files/documentsdirectory").toString() ); Modified: trunk/src/core/settings.h =================================================================== --- trunk/src/core/settings.h 2015-04-10 22:29:29 UTC (rev 1396) +++ trunk/src/core/settings.h 2015-04-11 00:59:19 UTC (rev 1397) @@ -44,9 +44,9 @@ static const bool DEFAULT_PLAY_INSERTED_NOTES; inline bool autoBar() { return _autoBar; } inline void setAutoBar( bool b ) { _autoBar = b; } + static const bool DEFAULT_AUTO_BAR; inline bool splitAtQuarterBoundaries() { return _splitAtQuarterBoundaries; } inline void setSplitAtQuarterBoundaries( bool b ) { _splitAtQuarterBoundaries = b; } - static const bool DEFAULT_AUTO_BAR; static const bool DEFAULT_SPLIT_AT_QUARTER_BOUNDARIES; ///////////////////////////// @@ -78,6 +78,9 @@ inline bool antiAliasing() { return _antiAliasing; } inline void setAntiAliasing( bool a ) { _antiAliasing = a; } static const bool DEFAULT_ANTIALIASING; + inline bool showRuler() { return _showRuler; } + inline void setShowRuler( bool b ) { _showRuler = b; } + static const bool DEFAULT_SHOW_RULER; inline QColor backgroundColor() { return _backgroundColor; } inline void setBackgroundColor( QColor backgroundColor ) { _backgroundColor = backgroundColor; } static const QColor DEFAULT_BACKGROUND_COLOR; @@ -183,6 +186,7 @@ bool _lockScrollPlayback; bool _animatedScroll; bool _antiAliasing; + bool _showRuler; QColor _backgroundColor; QColor _foregroundColor; QColor _selectionColor; Modified: trunk/src/lang/sl.ts =================================================================== --- trunk/src/lang/sl.ts 2015-04-10 22:29:29 UTC (rev 1396) +++ trunk/src/lang/sl.ts 2015-04-11 00:59:19 UTC (rev 1397) @@ -4,87 +4,87 @@ <context> <name>CAActionsEditor</name> <message> - <location filename="../widgets/actionseditor.cpp" line="155"/> + <location filename="../widgets/actionseditor.cpp" line="160"/> <source>Shortcut</source> <translation>Bližnjica</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="155"/> + <location filename="../widgets/actionseditor.cpp" line="160"/> <source>Description</source> <translation>Opis</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="155"/> + <location filename="../widgets/actionseditor.cpp" line="160"/> <source>Name</source> <translation>Ime</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="162"/> + <location filename="../widgets/actionseditor.cpp" line="167"/> <source>&Save shortcuts</source> <translation>&Shrani bližnjice</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="163"/> + <location filename="../widgets/actionseditor.cpp" line="168"/> <source>&Load shortcuts</source> <translation>Na&loži bližnjice</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="167"/> + <location filename="../widgets/actionseditor.cpp" line="172"/> <source>&Save midi commands</source> <translation>&Shrani Midi bližnjice</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="168"/> + <location filename="../widgets/actionseditor.cpp" line="173"/> <source>&Load midi commands</source> <translation>Na&loži Midi bližnjice</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="425"/> - <location filename="../widgets/actionseditor.cpp" line="498"/> + <location filename="../widgets/actionseditor.cpp" line="430"/> + <location filename="../widgets/actionseditor.cpp" line="503"/> <source>Shortcut files</source> <translation>Datoteke z bližnjicami</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="431"/> - <location filename="../widgets/actionseditor.cpp" line="502"/> + <location filename="../widgets/actionseditor.cpp" line="436"/> + <location filename="../widgets/actionseditor.cpp" line="507"/> <source>Midi command files</source> <translation>Datoteke z Midi bližnjicami</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="435"/> + <location filename="../widgets/actionseditor.cpp" line="440"/> <source>Choose a filename</source> <translation>Izberite ime datoteke</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="445"/> + <location filename="../widgets/actionseditor.cpp" line="450"/> <source>Confirm overwrite?</source> <translation>Potrdi prepisovanje?</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="446"/> + <location filename="../widgets/actionseditor.cpp" line="451"/> <source>The file %1 already exists. Do you want to overwrite?</source> <translation>Datoteka %1 že obstaja. Ali želiti prepisati datoteko?</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="458"/> - <location filename="../widgets/actionseditor.cpp" line="511"/> + <location filename="../widgets/actionseditor.cpp" line="463"/> + <location filename="../widgets/actionseditor.cpp" line="516"/> <source>Error</source> <translation>Napaka</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="459"/> + <location filename="../widgets/actionseditor.cpp" line="464"/> <source>The file couldn't be saved</source> <translation>Datoteka ni bila shranjena</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="504"/> + <location filename="../widgets/actionseditor.cpp" line="509"/> <source>Choose a file</source> <translation>Izberite datoteko</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="512"/> + <location filename="../widgets/actionseditor.cpp" line="517"/> <source>The file couldn't be loaded</source> <translation>Datoteka ni bila naložena</translation> </message> @@ -224,1613 +224,1613 @@ <context> <name>CAMainWin</name> <message> - <location filename="../ui/mainwin.cpp" line="246"/> + <location filename="../ui/mainwin.cpp" line="248"/> <source>Insert ToolBar</source> <translation>Orodjarna za vstavljanje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="247"/> + <location filename="../ui/mainwin.cpp" line="249"/> <source>Select Context</source> <translation>Izberite trak</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="258"/> + <location filename="../ui/mainwin.cpp" line="260"/> <source>Select Clef</source> <translation>Izberite ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="270"/> + <location filename="../ui/mainwin.cpp" line="272"/> <source>Select Time Signature</source> <translation>Izberite taktovski način</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="279"/> + <location filename="../ui/mainwin.cpp" line="281"/> <source>Select Barline</source> <translation>Izberite taktnico</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="337"/> + <location filename="../ui/mainwin.cpp" line="339"/> <source>Context ToolBar</source> <translation>Orodjarna za trakove</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="351"/> + <location filename="../ui/mainwin.cpp" line="353"/> <source>Voice ToolBar</source> <translation>Orodjarna za glasove</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="362"/> + <location filename="../ui/mainwin.cpp" line="364"/> <source>Select Voice Stem Direction</source> <translation>Izberite smer notnih vratov za glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="368"/> + <location filename="../ui/mainwin.cpp" line="370"/> <source>Playable ToolBar</source> <translation>Orodjarna za note in pavze</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="369"/> + <location filename="../ui/mainwin.cpp" line="371"/> <source>Select Length</source> <translation>Izberite dolžino</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="380"/> + <location filename="../ui/mainwin.cpp" line="382"/> <source>Select Note Stem Direction</source> <translation>Izberite smer notnih vratov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4084"/> + <location filename="../ui/mainwin.cpp" line="4101"/> <source>About Qt</source> <translation>O knjižnici Qt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4098"/> + <location filename="../ui/mainwin.cpp" line="4115"/> <source>About Canorus</source> <translation>O programu Canorus</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1773"/> - <location filename="../ui/mainwin.cpp" line="5379"/> + <location filename="../ui/mainwin.cpp" line="1790"/> + <location filename="../ui/mainwin.cpp" line="5396"/> <source>Staff%1</source> <translation>Črtovje%1</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1363"/> + <location filename="../ui/mainwin.cpp" line="1380"/> <source>Voice%1</source> <translation>Glas%1</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1381"/> - <location filename="../ui/mainwin.cpp" line="1388"/> - <location filename="../ui/mainwin.cpp" line="1416"/> - <location filename="../ui/mainwin.cpp" line="3302"/> + <location filename="../ui/mainwin.cpp" line="1398"/> + <location filename="../ui/mainwin.cpp" line="1405"/> + <location filename="../ui/mainwin.cpp" line="1433"/> + <location filename="../ui/mainwin.cpp" line="3319"/> <source>Canorus</source> <translation>Canorus</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1389"/> + <location filename="../ui/mainwin.cpp" line="1406"/> <source>Are you sure do you want to delete voice %1 and all its notes?</source> <translation>Ali res želite zbrisati glas %1 in vse njegove note?</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1417"/> + <location filename="../ui/mainwin.cpp" line="1434"/> <source>Are you sure do you want to delete context %1 and all its contents?</source> <translation>Ali res želite zbrisati trak %1 in vso njegovo vsebino?</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="340"/> + <location filename="../ui/mainwin.cpp" line="342"/> <source>Context name</source> <translation>Ime traku</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="354"/> + <location filename="../ui/mainwin.cpp" line="356"/> <source>Current Voice number</source> <translation>Trenutna številka glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="361"/> + <location filename="../ui/mainwin.cpp" line="363"/> <source>Voice name</source> <translation>Ime glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="716"/> + <location filename="../ui/mainwin.cpp" line="718"/> <source>Voice stem direction</source> <translation>Smer notnih vratov za glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="682"/> + <location filename="../ui/mainwin.cpp" line="684"/> <source>Playable length</source> <translation>Notna dolžina</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="693"/> + <location filename="../ui/mainwin.cpp" line="695"/> <source>Note stem direction</source> <translation>Smer notnih vratov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="333"/> + <location filename="../ui/mainwin.cpp" line="335"/> <source>Sheet ToolBar</source> <translation>Orodjarna za liste</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1382"/> + <location filename="../ui/mainwin.cpp" line="1399"/> <source>Cannot delete the last voice in the staff!</source> <translation>Ni mogoče zbrisati zadnjega glasu v črtovju!</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="403"/> + <location filename="../ui/mainwin.cpp" line="405"/> <source>Time Signature ToolBar</source> <translation>Orodjarna za taktovske načine</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="408"/> + <location filename="../ui/mainwin.cpp" line="410"/> <source>Number of beats</source> <translation>Število dob</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="415"/> + <location filename="../ui/mainwin.cpp" line="417"/> <source>Beat</source> <translation>Doba</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="253"/> + <location filename="../ui/mainwin.cpp" line="255"/> <source>Select Slur Type</source> <translation>Izberite lok</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="260"/> + <location filename="../ui/mainwin.cpp" line="262"/> <source>Treble Clef</source> <translation>Violinski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="262"/> + <location filename="../ui/mainwin.cpp" line="264"/> <source>Bass Clef</source> <translation>Basovski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="267"/> + <location filename="../ui/mainwin.cpp" line="269"/> <source>Alto Clef</source> <translation>Altovski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="255"/> + <location filename="../ui/mainwin.cpp" line="257"/> <source>Tie</source> <translation>Vezaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="256"/> + <location filename="../ui/mainwin.cpp" line="258"/> <source>Slur</source> <translation>Lok</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="257"/> + <location filename="../ui/mainwin.cpp" line="259"/> <source>Phrasing Slur</source> <translation>Frazni lok</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="281"/> + <location filename="../ui/mainwin.cpp" line="283"/> <source>Single Barline</source> <translation>Enojna taktnica</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="282"/> + <location filename="../ui/mainwin.cpp" line="284"/> <source>Double Barline</source> <translation>Dvojna taktnica</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="283"/> + <location filename="../ui/mainwin.cpp" line="285"/> <source>End Barline</source> <translation>Končaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="284"/> + <location filename="../ui/mainwin.cpp" line="286"/> <source>Dotted Barline</source> <translation>Črtkasta taktnica</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="285"/> + <location filename="../ui/mainwin.cpp" line="287"/> <source>Repeat Open</source> <translation>Ponavljaj Odprt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="286"/> + <location filename="../ui/mainwin.cpp" line="288"/> <source>Repeat Closed</source> <translation>Ponavljaj Zaprt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="364"/> + <location filename="../ui/mainwin.cpp" line="366"/> <source>Voice Stems Neutral</source> <translation>Smeri vratov za glas Nevtralne</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="365"/> + <location filename="../ui/mainwin.cpp" line="367"/> <source>Voice Stems Up</source> <translation>Smeri vratov za glas Gor</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="366"/> + <location filename="../ui/mainwin.cpp" line="368"/> <source>Voice Stems Down</source> <translation>Smeri vratov za glas Dol</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="382"/> + <location filename="../ui/mainwin.cpp" line="384"/> <source>Note Stem Neutral</source> <translation>Smer vratu Nevtralna</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="383"/> + <location filename="../ui/mainwin.cpp" line="385"/> <source>Note Stem Up</source> <translation>Smer vratu Gor</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="384"/> + <location filename="../ui/mainwin.cpp" line="386"/> <source>Note Stem Down</source> <translation>Smer vratu Dol</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="385"/> + <location filename="../ui/mainwin.cpp" line="387"/> <source>Note Stem Preferred</source> <translation>Smer vratu Priporočena</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="287"/> + <location filename="../ui/mainwin.cpp" line="289"/> <source>Repeat Closed-Open</source> <translation>Ponavljaj Zaprt-Odprt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="443"/> - <location filename="../ui/mainwin.cpp" line="461"/> - <location filename="../ui/mainwin.cpp" line="469"/> + <location filename="../ui/mainwin.cpp" line="445"/> + <location filename="../ui/mainwin.cpp" line="463"/> + <location filename="../ui/mainwin.cpp" line="471"/> <source>Tonic</source> <translation>Tonika</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="444"/> - <location filename="../ui/mainwin.cpp" line="462"/> - <location filename="../ui/mainwin.cpp" line="471"/> + <location filename="../ui/mainwin.cpp" line="446"/> + <location filename="../ui/mainwin.cpp" line="464"/> + <location filename="../ui/mainwin.cpp" line="473"/> <source>Subdominant</source> <translation>Subdominanta</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="445"/> - <location filename="../ui/mainwin.cpp" line="463"/> - <location filename="../ui/mainwin.cpp" line="473"/> + <location filename="../ui/mainwin.cpp" line="447"/> + <location filename="../ui/mainwin.cpp" line="465"/> + <location filename="../ui/mainwin.cpp" line="475"/> <source>Dominant</source> <translation>Dominanta</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="446"/> - <location filename="../ui/mainwin.cpp" line="474"/> + <location filename="../ui/mainwin.cpp" line="448"/> + <location filename="../ui/mainwin.cpp" line="476"/> <source>II</source> <translation>II</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="447"/> - <location filename="../ui/mainwin.cpp" line="475"/> + <location filename="../ui/mainwin.cpp" line="449"/> + <location filename="../ui/mainwin.cpp" line="477"/> <source>III</source> <translation>III</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="448"/> - <location filename="../ui/mainwin.cpp" line="476"/> + <location filename="../ui/mainwin.cpp" line="450"/> + <location filename="../ui/mainwin.cpp" line="478"/> <source>VI</source> <translation>VI</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="449"/> - <location filename="../ui/mainwin.cpp" line="477"/> + <location filename="../ui/mainwin.cpp" line="451"/> + <location filename="../ui/mainwin.cpp" line="479"/> <source>VII</source> <translation>VII</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="450"/> + <location filename="../ui/mainwin.cpp" line="452"/> <source>Cadenze</source> <translation>Kadenčni</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="451"/> - <location filename="../ui/mainwin.cpp" line="464"/> - <location filename="../ui/mainwin.cpp" line="470"/> + <location filename="../ui/mainwin.cpp" line="453"/> + <location filename="../ui/mainwin.cpp" line="466"/> + <location filename="../ui/mainwin.cpp" line="472"/> <source>minor Tonic</source> <translation>molova Tonika</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="452"/> - <location filename="../ui/mainwin.cpp" line="465"/> - <location filename="../ui/mainwin.cpp" line="472"/> + <location filename="../ui/mainwin.cpp" line="454"/> + <location filename="../ui/mainwin.cpp" line="467"/> + <location filename="../ui/mainwin.cpp" line="474"/> <source>minor Subdominant</source> <translation>molova Subdominanta</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="453"/> + <location filename="../ui/mainwin.cpp" line="455"/> <source>Napolitan</source> <translation>Napolitanski</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="454"/> + <location filename="../ui/mainwin.cpp" line="456"/> <source>Phrygian</source> <translation>Frigijski</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="455"/> + <location filename="../ui/mainwin.cpp" line="457"/> <source>Lydian</source> <translation>Lidijski</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="456"/> + <location filename="../ui/mainwin.cpp" line="458"/> <source>IV</source> <translation>IV</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="457"/> + <location filename="../ui/mainwin.cpp" line="459"/> <source>V</source> <translation>V</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="441"/> + <location filename="../ui/mainwin.cpp" line="443"/> <source>Select Function Name</source> <translation>Izberite funkcijsko oznako</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="459"/> + <location filename="../ui/mainwin.cpp" line="461"/> <source>Select Chord Area</source> <translation>Izberite akordično območje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="467"/> + <location filename="../ui/mainwin.cpp" line="469"/> <source>Select Tonic Degree</source> <translation>Izberite stopnjo tonike</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="249"/> + <location filename="../ui/mainwin.cpp" line="251"/> <source>New Staff</source> <translation>Novo črtovje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="250"/> + <location filename="../ui/mainwin.cpp" line="252"/> <source>New Lyrics context</source> <translation>Novo besedilo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1790"/> - <location filename="../ui/mainwin.cpp" line="5393"/> + <location filename="../ui/mainwin.cpp" line="1807"/> + <location filename="../ui/mainwin.cpp" line="5410"/> <source>LyricsContext%1</source> <translation>Besedilo%1</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="343"/> + <location filename="../ui/mainwin.cpp" line="345"/> <source>Stanza number</source> <translation>Številka kitice</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="348"/> + <location filename="../ui/mainwin.cpp" line="350"/> <source>Associated voice</source> <translation>Dodeljen glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1340"/> + <location filename="../ui/mainwin.cpp" line="1357"/> <source>new sheet</source> <comment>undo</comment> <translation>nov list</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1361"/> + <location filename="../ui/mainwin.cpp" line="1378"/> <source>new voice</source> <comment>undo</comment> <translation>nov glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1395"/> + <location filename="../ui/mainwin.cpp" line="1412"/> <source>voice removal</source> <comment>undo</comment> <translation>odstranitev glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1423"/> + <location filename="../ui/mainwin.cpp" line="1440"/> <source>context removal</source> <comment>undo</comment> <translation>odstranitev traku</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1769"/> + <location filename="../ui/mainwin.cpp" line="1786"/> <source>new staff</source> <comment>undo</comment> <translation>novo črtovje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1781"/> + <location filename="../ui/mainwin.cpp" line="1798"/> <source>new lyrics context</source> <comment>undo</comment> <translation>novo besedilo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2112"/> + <location filename="../ui/mainwin.cpp" line="2129"/> <source>insert barline</source> <comment>undo</comment> <translation>vstavljanje taktnice</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2144"/> + <location filename="../ui/mainwin.cpp" line="2161"/> <source>rise note</source> <comment>undo</comment> <translation>višanje note</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2182"/> + <location filename="../ui/mainwin.cpp" line="2199"/> <source>lower note</source> <comment>undo</comment> <translation>nižanje note</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2227"/> + <location filename="../ui/mainwin.cpp" line="2244"/> <source>add sharp</source> <comment>undo</comment> <translation>dodajanje višaja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2261"/> + <location filename="../ui/mainwin.cpp" line="2278"/> <source>add flat</source> <comment>undo</comment> <translation>dodajanje nižaja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2288"/> + <location filename="../ui/mainwin.cpp" line="2305"/> <source>set dotted</source> <comment>undo</comment> <translation>punktacijo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5121"/> + <location filename="../ui/mainwin.cpp" line="5138"/> <source>deletion of elements</source> <comment>undo</comment> <translation>brisanje elementov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2466"/> + <location filename="../ui/mainwin.cpp" line="2483"/> <source>insertion of music element</source> <comment>undo</comment> <translation>dodajanje elementov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3381"/> + <location filename="../ui/mainwin.cpp" line="3398"/> <source>change voice name</source> <comment>undo</comment> <translation>spreminjanje imena glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3537"/> + <location filename="../ui/mainwin.cpp" line="3554"/> <source>lyrics edit</source> <comment>undo</comment> <translation>spreminjanje besedila</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3999"/> + <location filename="../ui/mainwin.cpp" line="4016"/> <source>commit CanorusML source</source> <comment>undo</comment> <translation>potrditev CanorusML izvorne kode</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4018"/> - <location filename="../ui/mainwin.cpp" line="4054"/> + <location filename="../ui/mainwin.cpp" line="4035"/> + <location filename="../ui/mainwin.cpp" line="4071"/> <source>commit LilyPond source</source> <comment>undo</comment> <translation>potrditev LilyPond izvorne kode</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4175"/> + <location filename="../ui/mainwin.cpp" line="4192"/> <source>deletion of the sheet</source> <comment>undo</comment> <translation>brisanje lista</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4234"/> + <location filename="../ui/mainwin.cpp" line="4251"/> <source>change sheet name</source> <comment>undo</comment> <translation>spreminjanje imena lista</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4254"/> + <location filename="../ui/mainwin.cpp" line="4271"/> <source>change context name</source> <comment>undo</comment> <translation>spreminjanje imena traku</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4273"/> + <location filename="../ui/mainwin.cpp" line="4290"/> <source>change stanza number</source> <comment>undo</comment> <translation>spreminjanje številke kitice</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4285"/> + <location filename="../ui/mainwin.cpp" line="4302"/> <source>change associated voice</source> <comment>undo</comment> <translation>dodeljevanje glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4296"/> + <location filename="../ui/mainwin.cpp" line="4313"/> <source>change voice stem direction</source> <comment>undo</comment> <translation>spreminjanje smeri vratov za glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4313"/> + <location filename="../ui/mainwin.cpp" line="4330"/> <source>change note stem direction</source> <comment>undo</comment> <translation>spreminjanje smeri vratov not</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4938"/> + <location filename="../ui/mainwin.cpp" line="4955"/> <source>cut</source> <comment>undo</comment> <translation>rezanje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5353"/> + <location filename="../ui/mainwin.cpp" line="5370"/> <source>paste</source> <comment>undo</comment> <translation>lepljenje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="604"/> + <location filename="../ui/mainwin.cpp" line="606"/> <source>Undo</source> <translation>Razveljavi</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="611"/> + <location filename="../ui/mainwin.cpp" line="613"/> <source>Redo</source> <translation>Uveljavi</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="357"/> + <location filename="../ui/mainwin.cpp" line="359"/> <source>Voice instrument</source> <translation>Inštrument</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="261"/> + <location filename="../ui/mainwin.cpp" line="263"/> <source>French Clef</source> <translation>Francoski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="263"/> + <location filename="../ui/mainwin.cpp" line="265"/> <source>Varbaritone Clef</source> <translation>Varbaritonski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="264"/> + <location filename="../ui/mainwin.cpp" line="266"/> <source>Subbass Clef</source> <translation>Subbasovski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="265"/> + <location filename="../ui/mainwin.cpp" line="267"/> <source>Soprano Clef</source> <translation>Sopranski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="266"/> + <location filename="../ui/mainwin.cpp" line="268"/> <source>Mezzosoprano Clef</source> <translation>Mezzosopranski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="268"/> + <location filename="../ui/mainwin.cpp" line="270"/> <source>Tenor Clef</source> <translation>Tenorski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="269"/> + <location filename="../ui/mainwin.cpp" line="271"/> <source>Baritone Clef</source> <translation>Baritonski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="417"/> + <location filename="../ui/mainwin.cpp" line="419"/> <source>Clef ToolBar</source> <translation>Orodjarna za ključe</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="424"/> + <location filename="../ui/mainwin.cpp" line="426"/> <source>Clef offset</source> <translation>Odmik ključa</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3363"/> + <location filename="../ui/mainwin.cpp" line="3380"/> <source>change clef offset</source> <comment>undo</comment> <translation>spreminjanje odmika ključa</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3668"/> + <location filename="../ui/mainwin.cpp" line="3685"/> <source>change function</source> <comment>undo</comment> <translation>spreminjanje funkcije</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="458"/> - <location filename="../ui/mainwin.cpp" line="466"/> + <location filename="../ui/mainwin.cpp" line="460"/> + <location filename="../ui/mainwin.cpp" line="468"/> <source>None</source> <translation>Brez</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3691"/> + <location filename="../ui/mainwin.cpp" line="3708"/> <source>change chord area</source> <comment>undo</comment> <translation>spreminjanje akordičnega območja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3714"/> + <location filename="../ui/mainwin.cpp" line="3731"/> <source>change tonic degree</source> <comment>undo</comment> <translation>spreminjanje glavne veje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3736"/> + <location filename="../ui/mainwin.cpp" line="3753"/> <source>set/unset ellipse</source> <comment>undo</comment> <translation>elipse</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3445"/> + <location filename="../ui/mainwin.cpp" line="3462"/> <source>change playable length</source> <comment>undo</comment> <translation>spreminjanje dolžine</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="288"/> + <location filename="../ui/mainwin.cpp" line="290"/> <source>Select Mark</source> <translation>Izberite Oznako</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="290"/> + <location filename="../ui/mainwin.cpp" line="292"/> <source>Tempo</source> <translation>Tempo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="291"/> + <location filename="../ui/mainwin.cpp" line="293"/> <source>Ritardando</source> <translation>Ritardando</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="292"/> + <location filename="../ui/mainwin.cpp" line="294"/> <source>Accellerando</source> <translation>Accellerando</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="293"/> + <location filename="../ui/mainwin.cpp" line="295"/> <source>Dynamic</source> <translation>Dinamika</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="294"/> + <location filename="../ui/mainwin.cpp" line="296"/> <source>Crescendo</source> <translation>Crescendo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="295"/> + <location filename="../ui/mainwin.cpp" line="297"/> <source>Decrescendo</source> <translation>Decrescendo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="297"/> + <location filename="../ui/mainwin.cpp" line="299"/> <source>Arbitrary Text</source> <translation>Poljubni napis</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="300"/> + <location filename="../ui/mainwin.cpp" line="302"/> <source>Bookmark</source> <translation>Zaznamek</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="301"/> + <location filename="../ui/mainwin.cpp" line="303"/> <source>Rehersal Mark</source> <translation>Vadbena Oznaka</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="296"/> + <location filename="../ui/mainwin.cpp" line="298"/> <source>Fermata</source> <translation>Korona</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="298"/> + <location filename="../ui/mainwin.cpp" line="300"/> <source>Repeat Mark</source> <translation>Oznake za ponavljanje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="303"/> - <location filename="../ui/mainwin.cpp" line="518"/> + <location filename="../ui/mainwin.cpp" line="305"/> + <location filename="../ui/mainwin.cpp" line="520"/> <source>Instrument Change</source> <translation>Sprememba inštrumenta</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="302"/> + <location filename="../ui/mainwin.cpp" line="304"/> <source>Fingering</source> <translation>Prstni red</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="251"/> + <location filename="../ui/mainwin.cpp" line="253"/> <source>New Figured Bass context</source> <translation>Nove generalbasne oznake</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="304"/> + <location filename="../ui/mainwin.cpp" line="306"/> <source>Articulation Mark</source> <translation>Artikulacijske oznake</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="306"/> + <location filename="../ui/mainwin.cpp" line="308"/> <source>Accent</source> <translation>Akcent</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="307"/> + <location filename="../ui/mainwin.cpp" line="309"/> <source>Marcato</source> <translation>Marcato</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="308"/> + <location filename="../ui/mainwin.cpp" line="310"/> <source>Stacatissimo</source> <translation>Stacatissimo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="309"/> + <location filename="../ui/mainwin.cpp" line="311"/> <source>Espressivo</source> <translation>Espressivo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="310"/> + <location filename="../ui/mainwin.cpp" line="312"/> <source>Staccato</source> <translation>Staccato</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="311"/> + <location filename="../ui/mainwin.cpp" line="313"/> <source>Tenuto</source> <translation>Tenuto</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="312"/> + <location filename="../ui/mainwin.cpp" line="314"/> <source>Portato</source> <translation>Portato</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="313"/> + <location filename="../ui/mainwin.cpp" line="315"/> <source>UpBow</source> <translation>Lok Gor</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="314"/> + <location filename="../ui/mainwin.cpp" line="316"/> <source>DownBow</source> <translation>Lok Dol</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="315"/> + <location filename="../ui/mainwin.cpp" line="317"/> <source>Flageloet</source> <translation>Flageloet</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="316"/> + <location filename="../ui/mainwin.cpp" line="318"/> <source>Open</source> <translation>Odprt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="317"/> + <location filename="../ui/mainwin.cpp" line="319"/> <source>Stopped</source> <translation>Zaprt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="318"/> + <location filename="../ui/mainwin.cpp" line="320"/> <source>Turn</source> <translation>Okrasek</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="319"/> + <location filename="../ui/mainwin.cpp" line="321"/> <source>ReverseTurn</source> <translation>Obrnjen okrasek</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="320"/> + <location filename="../ui/mainwin.cpp" line="322"/> <source>Trill</source> <translation>Tril</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="321"/> + <location filename="../ui/mainwin.cpp" line="323"/> <source>Prall</source> <translation>Pral</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="322"/> + <location filename="../ui/mainwin.cpp" line="324"/> <source>Mordent</source> <translation>Mordent</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="323"/> + <location filename="../ui/mainwin.cpp" line="325"/> <source>Prall-Prall</source> <translation>Pral-Pral</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="324"/> + <location filename="../ui/mainwin.cpp" line="326"/> <source>Prall-Mordent</source> <translation>Pral-Mordent</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="325"/> + <location filename="../ui/mainwin.cpp" line="327"/> <source>Up-Prall</source> <translation>Zgornji Pral</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="326"/> + <location filename="../ui/mainwin.cpp" line="328"/> <source>Down-Prall</source> <translation>Spodnji Pral</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="327"/> + <location filename="../ui/mainwin.cpp" line="329"/> <source>Up-Mordent</source> <translation>Zgornji Mordent</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="328"/> + <location filename="../ui/mainwin.cpp" line="330"/> <source>Down-Mordent</source> <translation>Spodnji Mordent</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="329"/> + <location filename="../ui/mainwin.cpp" line="331"/> <source>Prall-Down</source> <translation>Pral zaključen dol</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="330"/> + <location filename="../ui/mainwin.cpp" line="332"/> <source>Prall-Up</source> <translation>Pral zaključen gor</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="331"/> + <location filename="../ui/mainwin.cpp" line="333"/> <source>Line-Prall</source> <translation>Linijski Pral</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="426"/> + <location filename="../ui/mainwin.cpp" line="428"/> <source>Figured bass ToolBar</source> <translation>Orodjarna za generalbas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="427"/> + <location filename="../ui/mainwin.cpp" line="429"/> <source>Set/Unset Figured bass number</source> <translation>Vklopi/Izklopi generalbasno številko</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="432"/> + <location filename="../ui/mainwin.cpp" line="434"/> <source>Set/Unset Figured bass accidentals</source> <translation>Pokaži/Skrij generalbasni predznak</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="434"/> + <location filename="../ui/mainwin.cpp" line="436"/> <source>Double flat</source> <translation>Dvojni nižaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="435"/> + <location filename="../ui/mainwin.cpp" line="437"/> <source>Flat</source> <translation>Nižaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="436"/> + <location filename="../ui/mainwin.cpp" line="438"/> <source>Neutral</source> <translation>Razveznik</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="437"/> + <location filename="../ui/mainwin.cpp" line="439"/> <source>Sharp</source> <translation>Višaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="438"/> + <location filename="../ui/mainwin.cpp" line="440"/> <source>Double sharp</source> <translation>Dvojni višaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="626"/> + <location filename="../ui/mainwin.cpp" line="628"/> <source>Insert context</source> <translation>Vstavi trak</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="632"/> + <location filename="../ui/mainwin.cpp" line="634"/> <source>Insert slur</source> <translation>Vstavi lok</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="636"/> + <location filename="../ui/mainwin.cpp" line="638"/> <source>Insert clef</source> <translation>Vstavi ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="641"/> + <location filename="../ui/mainwin.cpp" line="643"/> <source>Insert time signature</source> <translation>Vstavi taktovski način</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="645"/> + <location filename="../ui/mainwin.cpp" line="647"/> <source>Insert barline</source> <translation>Vstavi taktnico</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="649"/> + <location filename="../ui/mainwin.cpp" line="651"/> <source>Insert mark</source> <translation>Vstavi oznako</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="653"/> + <location filename="../ui/mainwin.cpp" line="655"/> <source>Insert articulation mark</source> <translation>Vstavi artikulacijsko oznako</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="482"/> + <location filename="../ui/mainwin.cpp" line="484"/> <source>Dynamic marks ToolBar</source> <translation>Orodjarna za dinamiko</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="483"/> + <location filename="../ui/mainwin.cpp" line="485"/> <source>Select Dynamic</source> <translation>Izberite Dinamiko</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="485"/> + <location filename="../ui/mainwin.cpp" line="487"/> <source>Piano</source> <comment>dynamics</comment> <translation>Piano</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="486"/> - <location filename="../ui/mainwin.cpp" line="487"/> <location filename="../ui/mainwin.cpp" line="488"/> <location filename="../ui/mainwin.cpp" line="489"/> + <location filename="../ui/mainwin.cpp" line="490"/> + <location filename="../ui/mainwin.cpp" line="491"/> <source>Pianissimo</source> <comment>dynamics</comment> <translation>Pianissimo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="490"/> + <location filename="../ui/mainwin.cpp" line="492"/> <source>Forte</source> <comment>dynamics</comment> <translation>Forte</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="491"/> - <location filename="../ui/mainwin.cpp" line="492"/> <location filename="../ui/mainwin.cpp" line="493"/> <location filename="../ui/mainwin.cpp" line="494"/> + <location filename="../ui/mainwin.cpp" line="495"/> + <location filename="../ui/mainwin.cpp" line="496"/> <source>Fortissimo</source> <comment>dynamics</comment> <translation>Fortissimo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="495"/> + <location filename="../ui/mainwin.cpp" line="497"/> <source>Mezzo Forte</source> <comment>dynamics</comment> <translation>Mezzo Forte</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="496"/> + <location filename="../ui/mainwin.cpp" line="498"/> <source>Mezzo Piano</source> <comment>dynamics</comment> <translation>Mezzo Piano</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="497"/> + <location filename="../ui/mainwin.cpp" line="499"/> <source>Forte Piano</source> <comment>dynamics</comment> <translation>Forte Piano</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="498"/> + <location filename="../ui/mainwin.cpp" line="500"/> <source>Sforzando Forte</source> <comment>dynamics</comment> <translation>Sforzando Forte</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="499"/> + <location filename="../ui/mainwin.cpp" line="501"/> <source>Sforzando Piano</source> <comment>dynamics</comment> <translation>Sforzando Piano</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="500"/> + <location filename="../ui/mainwin.cpp" line="502"/> <source>Sforzando</source> <comment>dynamics</comment> <translation>Sforzando</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="501"/> + <location filename="../ui/mainwin.cpp" line="503"/> <source>Rinforzando</source> <comment>dynamics</comment> <translation>Rinforzando</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="502"/> + <location filename="../ui/mainwin.cpp" line="504"/> <source>Sforzando Pianissimo</source> <comment>dynamics</comment> <translation>Sforzando Pianissimo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="503"/> + <location filename="../ui/mainwin.cpp" line="505"/> <source>Sforzando Fortissimo</source> <comment>dynamics</comment> <translation>Sforzando Fortissimo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="504"/> + <location filename="../ui/mainwin.cpp" line="506"/> <source>Custom</source> ... [truncated message content] |
From: <ma...@us...> - 2015-04-10 22:29:36
|
Revision: 1396 http://sourceforge.net/p/canorus/code/1396 Author: matevz Date: 2015-04-10 22:29:29 +0000 (Fri, 10 Apr 2015) Log Message: ----------- Set SelectMode instead of NoDocumentMode when a new document.was created. Modified Paths: -------------- trunk/src/ui/mainwin.cpp Modified: trunk/src/ui/mainwin.cpp =================================================================== --- trunk/src/ui/mainwin.cpp 2015-04-10 22:24:16 UTC (rev 1395) +++ trunk/src/ui/mainwin.cpp 2015-04-10 22:29:29 UTC (rev 1396) @@ -862,6 +862,7 @@ } setDocument(new CADocument()); + setMode(SelectMode); uiCloseDocument->setEnabled(true); CACanorus::undo()->createUndoStack( document() ); restartTimeEditedTime(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2015-04-10 22:24:23
|
Revision: 1395 http://sourceforge.net/p/canorus/code/1395 Author: matevz Date: 2015-04-10 22:24:16 +0000 (Fri, 10 Apr 2015) Log Message: ----------- Fixed compilation bug on Qt4. Modified Paths: -------------- trunk/src/widgets/actionseditor.cpp Modified: trunk/src/widgets/actionseditor.cpp =================================================================== --- trunk/src/widgets/actionseditor.cpp 2015-04-10 21:37:44 UTC (rev 1394) +++ trunk/src/widgets/actionseditor.cpp 2015-04-10 22:24:16 UTC (rev 1395) @@ -98,9 +98,14 @@ actionsTable->setSelectionMode( QAbstractItemView::SingleSelection ); actionsTable->verticalHeader()->hide(); +#if QT_VERSION >= 0x050000 actionsTable->horizontalHeader()->setSectionResizeMode(COL_COMMAND, QHeaderView::Stretch); actionsTable->horizontalHeader()->setSectionResizeMode(COL_CONTEXT, QHeaderView::Stretch); - +#else + actionsTable->horizontalHeader()->setResizeMode(COL_COMMAND, QHeaderView::Stretch); + actionsTable->horizontalHeader()->setResizeMode(COL_CONTEXT, QHeaderView::Stretch); +#endif + actionsTable->setAlternatingRowColors(true); //#if USE_SHORTCUTGETTER // actionsTable->setSelectionBehavior(QAbstractItemView::SelectRows); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2015-04-10 21:37:51
|
Revision: 1394 http://sourceforge.net/p/canorus/code/1394 Author: suamor Date: 2015-04-10 21:37:44 +0000 (Fri, 10 Apr 2015) Log Message: ----------- Fix crash when _mapXW map is empty Modified Paths: -------------- trunk/src/layout/kdtree.h Modified: trunk/src/layout/kdtree.h =================================================================== --- trunk/src/layout/kdtree.h 2015-04-10 18:52:10 UTC (rev 1393) +++ trunk/src/layout/kdtree.h 2015-04-10 21:37:44 UTC (rev 1394) @@ -289,6 +289,8 @@ */ template <typename T> double CAKDTree<T>::getMaxX() { + if(_mapXW.constEnd() == _mapXW.constBegin()) + return 0.0; for (typename QMultiMap<double, T>::const_iterator it=(--_mapXW.constEnd()); it!=_mapXW.constBegin(); it--) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2015-04-10 18:52:13
|
Revision: 1393 http://sourceforge.net/p/canorus/code/1393 Author: suamor Date: 2015-04-10 18:52:10 +0000 (Fri, 10 Apr 2015) Log Message: ----------- Qt5: Fix Compilation Issues, add some compatibility layer so Qt4 should still work Attention: Canorus crashes when loading a file (not relatad to actual file loading but changes in Qt5 concerning drawing). Modified Paths: -------------- trunk/src/canorus.cpp trunk/src/control/externprogram.cpp trunk/src/control/previewctl.cpp trunk/src/control/printctl.cpp trunk/src/control/typesetctl.cpp trunk/src/core/archive.cpp trunk/src/core/settings.cpp trunk/src/export/pdfexport.cpp trunk/src/export/svgexport.cpp trunk/src/import/midiimport.cpp trunk/src/interface/pluginmanager.cpp trunk/src/layout/drawablebarline.cpp trunk/src/layout/drawablenote.cpp trunk/src/layout/drawablesyllable.cpp trunk/src/layout/drawabletuplet.cpp trunk/src/main.cpp trunk/src/score/tuplet.cpp trunk/src/scripting/swigpython.cpp trunk/src/scripting/swigruby.cpp trunk/src/ui/mainwin.cpp trunk/src/ui/settingsdialog.cpp trunk/src/widgets/actionseditor.cpp trunk/src/widgets/pyconsole.cpp Property Changed: ---------------- trunk/src/control/ trunk/src/scripting/ Modified: trunk/src/canorus.cpp =================================================================== --- trunk/src/canorus.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/canorus.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -108,39 +108,39 @@ CAMainWin::uiSaveDialog = new QFileDialog(0, QObject::tr("Choose a file to save"), settings()->documentsDirectory().absolutePath()); CAMainWin::uiSaveDialog->setFileMode(QFileDialog::AnyFile); CAMainWin::uiSaveDialog->setAcceptMode( QFileDialog::AcceptSave ); - CAMainWin::uiSaveDialog->setFilters( QStringList() << CAFileFormats::CANORUSML_FILTER ); - CAMainWin::uiSaveDialog->setFilters( CAMainWin::uiSaveDialog->filters() << CAFileFormats::CAN_FILTER ); - CAMainWin::uiSaveDialog->selectFilter( CAFileFormats::getFilter( settings()->defaultSaveFormat() ) ); + CAMainWin::uiSaveDialog->setNameFilters( QStringList() << CAFileFormats::CANORUSML_FILTER ); + CAMainWin::uiSaveDialog->setNameFilters( CAMainWin::uiSaveDialog->nameFilters() << CAFileFormats::CAN_FILTER ); + CAMainWin::uiSaveDialog->selectNameFilter( CAFileFormats::getFilter( settings()->defaultSaveFormat() ) ); CAMainWin::uiOpenDialog = new QFileDialog(0, QObject::tr("Choose a file to open"), settings()->documentsDirectory().absolutePath()); CAMainWin::uiOpenDialog->setFileMode( QFileDialog::ExistingFile ); CAMainWin::uiOpenDialog->setAcceptMode( QFileDialog::AcceptOpen ); - CAMainWin::uiOpenDialog->setFilters( QStringList() << CAFileFormats::CANORUSML_FILTER ); // clear the * filter - CAMainWin::uiOpenDialog->setFilters( CAMainWin::uiOpenDialog->filters() << CAFileFormats::CAN_FILTER ); + CAMainWin::uiOpenDialog->setNameFilters( QStringList() << CAFileFormats::CANORUSML_FILTER ); // clear the * filter + CAMainWin::uiOpenDialog->setNameFilters( CAMainWin::uiOpenDialog->nameFilters() << CAFileFormats::CAN_FILTER ); QString allFilters; // generate list of all files - for (int i=0; i<CAMainWin::uiOpenDialog->filters().size(); i++) { - QString curFilter = CAMainWin::uiOpenDialog->filters()[i]; + for (int i=0; i<CAMainWin::uiOpenDialog->nameFilters().size(); i++) { + QString curFilter = CAMainWin::uiOpenDialog->nameFilters()[i]; int left = curFilter.indexOf('(')+1; allFilters += curFilter.mid( left, curFilter.size()-left-1 ) + " "; } allFilters.chop(1); - CAMainWin::uiOpenDialog->setFilters( QStringList() << QString(QObject::tr("All supported formats (%1)").arg(allFilters)) << CAMainWin::uiOpenDialog->filters() ); + CAMainWin::uiOpenDialog->setNameFilters( QStringList() << QString(QObject::tr("All supported formats (%1)").arg(allFilters)) << CAMainWin::uiOpenDialog->nameFilters() ); CAMainWin::uiExportDialog = new QFileDialog(0, QObject::tr("Choose a file to export"), settings()->documentsDirectory().absolutePath()); CAMainWin::uiExportDialog->setFileMode(QFileDialog::AnyFile); CAMainWin::uiExportDialog->setAcceptMode( QFileDialog::AcceptSave ); - CAMainWin::uiExportDialog->setFilters( QStringList() << CAFileFormats::LILYPOND_FILTER ); - CAMainWin::uiExportDialog->setFilters( CAMainWin::uiExportDialog->filters() << CAFileFormats::MUSICXML_FILTER ); - CAMainWin::uiExportDialog->setFilters( CAMainWin::uiExportDialog->filters() << CAFileFormats::MIDI_FILTER ); - CAMainWin::uiExportDialog->setFilters( CAMainWin::uiExportDialog->filters() << CAFileFormats::PDF_FILTER ); - CAMainWin::uiExportDialog->setFilters( CAMainWin::uiExportDialog->filters() << CAFileFormats::SVG_FILTER ); + CAMainWin::uiExportDialog->setNameFilters( QStringList() << CAFileFormats::LILYPOND_FILTER ); + CAMainWin::uiExportDialog->setNameFilters( CAMainWin::uiExportDialog->nameFilters() << CAFileFormats::MUSICXML_FILTER ); + CAMainWin::uiExportDialog->setNameFilters( CAMainWin::uiExportDialog->nameFilters() << CAFileFormats::MIDI_FILTER ); + CAMainWin::uiExportDialog->setNameFilters( CAMainWin::uiExportDialog->nameFilters() << CAFileFormats::PDF_FILTER ); + CAMainWin::uiExportDialog->setNameFilters( CAMainWin::uiExportDialog->nameFilters() << CAFileFormats::SVG_FILTER ); CAMainWin::uiImportDialog = new QFileDialog(0, QObject::tr("Choose a file to import"), settings()->documentsDirectory().absolutePath()); CAMainWin::uiImportDialog->setFileMode( QFileDialog::ExistingFile ); CAMainWin::uiImportDialog->setAcceptMode( QFileDialog::AcceptOpen ); - CAMainWin::uiImportDialog->setFilters( QStringList() << CAFileFormats::MUSICXML_FILTER ); - CAMainWin::uiImportDialog->setFilters( CAMainWin::uiImportDialog->filters() << CAFileFormats::MIDI_FILTER ); - // CAMainWin::uiImportDialog->setFilters( CAMainWin::uiImportDialog->filters() << CAFileFormats::LILYPOND_FILTER ); // activate when usable + CAMainWin::uiImportDialog->setNameFilters( QStringList() << CAFileFormats::MUSICXML_FILTER ); + CAMainWin::uiImportDialog->setNameFilters( CAMainWin::uiImportDialog->nameFilters() << CAFileFormats::MIDI_FILTER ); + // CAMainWin::uiImportDialog->setNameFilters( CAMainWin::uiImportDialog->nameFilters() << CAFileFormats::LILYPOND_FILTER ); // activate when usable } /*! @@ -386,9 +386,13 @@ return; const QMetaObject *mo = pOR->metaObject(); Q_ASSERT(mo); - const QObjectList list = qFindChildren<QObject *>(pOS, QString()); + const QObjectList list = pOS->findChildren<QObject *>(QString()); for (int i = 0; i < mo->methodCount(); ++i) { +#if QT_VERSION >= 0x050000 + const char *slot = mo->method(i).methodSignature().data(); +#else const char *slot = mo->method(i).signature(); +#endif Q_ASSERT(slot); if (slot[0] != 'o' || slot[1] != 'n' || slot[2] != '_') continue; @@ -397,7 +401,7 @@ qWarning("CACanorus::connectSlotsByName: Object list empty!"); for(int j = 0; j < list.count(); ++j) { const QObject *co = list.at(j); - QByteArray objName = co->objectName().toAscii(); + QByteArray objName = co->objectName().toLatin1(); int len = objName.length(); if (!len || qstrncmp(slot + 3, objName.data(), len) || slot[len+3] != '_') continue; @@ -410,7 +414,11 @@ if (smo->method(k).methodType() != QMetaMethod::Signal) continue; +#if QT_VERSION >= 0x050000 + if (!qstrncmp(smo->method(k).methodSignature().data(), slot + len + 4, slotlen)) { +#else if (!qstrncmp(smo->method(k).signature(), slot + len + 4, slotlen)) { +#endif sigIndex = k; break; } Index: trunk/src/control =================================================================== --- trunk/src/control 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/control 2015-04-10 18:52:10 UTC (rev 1393) Property changes on: trunk/src/control ___________________________________________________________________ Modified: svn:ignore ## -12,3 +12,4 ## moc_previewctl.cxx_parameters CMakeFiles Makefile +moc_externprogram.cpp Modified: trunk/src/control/externprogram.cpp =================================================================== --- trunk/src/control/externprogram.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/control/externprogram.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -168,16 +168,16 @@ if( _oProgramPath.isEmpty() ) { _poExternProgram->start( _oProgramName, _oParameters ); - qDebug("Started %s with parameters %s", _oProgramName.toAscii().data(), - _oParameters.join(" ").toAscii().data() ); + qDebug("Started %s with parameters %s", _oProgramName.toLatin1().data(), + _oParameters.join(" ").toLatin1().data() ); } else _poExternProgram->start( _oProgramPath+"/"+_oProgramName, _oParameters ); // Wa it until program was started if( !_poExternProgram->waitForStarted() ) { - qCritical("ExternProgram: Could not run program %s! Error %s", _oProgramName.toAscii().constData(), - QString( "%1 " + _poExternProgram->errorString() ).arg( _poExternProgram->error() ).toAscii().constData() ); + qCritical("ExternProgram: Could not run program %s! Error %s", _oProgramName.toLatin1().constData(), + QString( "%1 " + _poExternProgram->errorString() ).arg( _poExternProgram->error() ).toLatin1().constData() ); return false; } return true; @@ -218,19 +218,19 @@ if( getRunning() ) { qCritical("%s", - QString( "ExternProgram: program %1 reported error %2!" + _poExternProgram->errorString() ).arg( _poExternProgram->error() ).toAscii().constData() ); + QString( "ExternProgram: program %1 reported error %2!" + _poExternProgram->errorString() ).arg( _poExternProgram->error() ).toLatin1().constData() ); return; } // Check if the program exited normally else put out error message if( _poExternProgram->exitStatus() != QProcess::NormalExit ) { - qCritical("ExternProgram: program %s didn't finish correctly! Exit code %s", _oProgramName.toAscii().constData(), - QString( _poExternProgram->exitCode() + " " + _poExternProgram->errorString() ).toAscii().constData() ); + qCritical("ExternProgram: program %s didn't finish correctly! Exit code %s", _oProgramName.toLatin1().constData(), + QString( _poExternProgram->exitCode() + " " + _poExternProgram->errorString() ).toLatin1().constData() ); emit programExited( _poExternProgram->exitCode() ); } if( _poExternProgram->error() == QProcess::FailedToStart ) { - qCritical("ExternProgram: program %s didn't start correctly! Error code %s", _oProgramName.toAscii().constData(), - QString( _poExternProgram->error() + " " + _poExternProgram->errorString() ).toAscii().constData() ); + qCritical("ExternProgram: program %s didn't start correctly! Error code %s", _oProgramName.toLatin1().constData(), + QString( _poExternProgram->error() + " " + _poExternProgram->errorString() ).toLatin1().constData() ); emit programExited( -1 ); } Modified: trunk/src/control/previewctl.cpp =================================================================== --- trunk/src/control/previewctl.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/control/previewctl.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -46,8 +46,8 @@ QString oTempFileName( oPath.absolutePath()+"/preview.pdf" ); if( !oTempFile.remove() ) { - qWarning("PreviewCtl: Could not remove old preview file %s, error %s", oTempFile.fileName().toAscii().constData(), - oTempFile.errorString().toAscii().constData() ); + qWarning("PreviewCtl: Could not remove old preview file %s, error %s", oTempFile.fileName().toLatin1().constData(), + oTempFile.errorString().toLatin1().constData() ); oTempFile.unsetError(); } qDebug("PreviewCtl: Preview triggered via main window"); Modified: trunk/src/control/printctl.cpp =================================================================== --- trunk/src/control/printctl.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/control/printctl.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -59,8 +59,8 @@ QString oTempFileName( oPath.absolutePath ()+"/print.svg" ); if( !oTempFile.remove() ) { - qWarning("PrintCtl: Could not remove old print file %s, error %s", oTempFile.fileName().toAscii().constData(), - oTempFile.errorString().toAscii().constData() ); + qWarning("PrintCtl: Could not remove old print file %s, error %s", oTempFile.fileName().toLatin1().constData(), + oTempFile.errorString().toLatin1().constData() ); oTempFile.unsetError(); } qDebug("PrintCtl: Print triggered via main window"); Modified: trunk/src/control/typesetctl.cpp =================================================================== --- trunk/src/control/typesetctl.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/control/typesetctl.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -144,7 +144,7 @@ } else qWarning("TypesetCtl: Ignoring typesetter option name being empty! %s/%s", - roName.toString().toAscii().data(), roValue.toString().toAscii().data() ); + roName.toString().toLatin1().data(), roValue.toString().toLatin1().data() ); } /*! Modified: trunk/src/core/archive.cpp =================================================================== --- trunk/src/core/archive.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/core/archive.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -245,14 +245,13 @@ int CAArchive::getOS() { -#ifdef Q_WS_WIN +#ifdef Q_OS_WIN if(QSysInfo::WindowsVersion & QSysInfo::WV_NT_based) return 11; // rfc 1952: "NTFS filesystem (NT)" else return 0; // rfc 1952: "FAT filesystem (MS-DOS, OS/2, NT/Win32" -#elif defined(Q_WS_X11) // Mac or Linux/Unix/FreeBSD/... +#else // Mac or Linux/Unix/FreeBSD/... return 3; // rfc 1952: "Unix". That what gzip does on Darwin (though there's 7 for "Macintosh"). -#else - return 255; // rfc 1952: "unknown". #endif } + Modified: trunk/src/core/settings.cpp =================================================================== --- trunk/src/core/settings.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/core/settings.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -41,14 +41,12 @@ const int CASettings::DEFAULT_MIDI_OUT_PORT = -1; const CATypesetter::CATypesetterType CASettings::DEFAULT_TYPESETTER = CATypesetter::LilyPond; -#ifdef Q_WS_X11 -const QString CASettings::DEFAULT_TYPESETTER_LOCATION = "lilypond"; -#endif -#ifdef Q_WS_WIN +#ifdef Q_OS_WIN const QString CASettings::DEFAULT_TYPESETTER_LOCATION = "C:/Program files/LilyPond/usr/bin/lilypond-windows.exe"; -#endif -#ifdef Q_WS_MAC +#elif Q_OS_MAC const QString CASettings::DEFAULT_TYPESETTER_LOCATION = "/Applications/LilyPond.app/Contents/Resources/bin/lilypond"; +#else +const QString CASettings::DEFAULT_TYPESETTER_LOCATION = "lilypond"; #endif const bool CASettings::DEFAULT_USE_SYSTEM_TYPESETTER = true; const QString CASettings::DEFAULT_PDF_VIEWER_LOCATION = ""; Modified: trunk/src/export/pdfexport.cpp =================================================================== --- trunk/src/export/pdfexport.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/export/pdfexport.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -147,7 +147,7 @@ setStatus( iExitCode ); QFile oTempFile( getTempFilePath()+".pdf" ); oTempFile.setFileName( getTempFilePath()+".pdf" ); - qDebug("Exporting PDF file %s", file()->fileName().toAscii().data()); + qDebug("Exporting PDF file %s", file()->fileName().toLatin1().data()); if( !iExitCode && !oTempFile.copy( file()->fileName() ) ) // Rename it, so we can delete the temporary file { qCritical("PDFExport: Could not copy temporary file %s, error %s", qPrintable( oTempFile.fileName() ), Modified: trunk/src/export/svgexport.cpp =================================================================== --- trunk/src/export/svgexport.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/export/svgexport.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -149,7 +149,7 @@ setStatus( iExitCode ); QFile oTempFile( getTempFilePath()+".svg" ); oTempFile.setFileName( getTempFilePath()+".svg" ); - qDebug("Exporting SVG file %s", file()->fileName().toAscii().data()); + qDebug("Exporting SVG file %s", file()->fileName().toLatin1().data()); if( !iExitCode && !oTempFile.copy( file()->fileName() ) ) // Rename it, so we can delete the temporary file { qCritical("SVGExport: Could not copy temporary file %s, error %s", qPrintable( oTempFile.fileName() ), Modified: trunk/src/import/midiimport.cpp =================================================================== --- trunk/src/import/midiimport.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/import/midiimport.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -134,8 +134,8 @@ CAMidiImportEvent *event = _allChannelsEvents[i]->at(voiceIdx)->at(j); for (int pitchIdx=0; pitchIdx<event->_pitchList.size(); pitchIdx++) { // temporary solutionsort midi events by time - int timeStart = qRound(event->_time); - int timeLength = qRound(event->_length); + int timeStart = event->_time; + int timeLength = event->_length; int k; for (k=0; k<midiNotes.last().size() && midiNotes.last()[k]->timeStart()<timeStart; k++); midiNotes.last().insert(k, new CAMidiNote( event->_pitchList[pitchIdx], timeStart, timeLength, 0 )); Modified: trunk/src/interface/pluginmanager.cpp =================================================================== --- trunk/src/interface/pluginmanager.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/interface/pluginmanager.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -342,7 +342,7 @@ for (int i=0; i<filters.size(); i++) { _exportFilterMap[filters[i]] = action; #ifndef SWIGCPP - _mainWin->exportDialog()->setFilters(_mainWin->exportDialog()->filters() << filters[i]); + _mainWin->exportDialog()->setNameFilters(_mainWin->exportDialog()->nameFilters() << filters[i]); #else // TODO #endif @@ -352,7 +352,7 @@ for (int i=0; i<filters.size(); i++) { _importFilterMap[filters[i]] = action; #ifndef SWIGCPP - _mainWin->importDialog()->setFilters(_mainWin->importDialog()->filters() << filters[i]); + _mainWin->importDialog()->setNameFilters(_mainWin->importDialog()->nameFilters() << filters[i]); #else // TODO #endif Modified: trunk/src/layout/drawablebarline.cpp =================================================================== --- trunk/src/layout/drawablebarline.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/layout/drawablebarline.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -68,15 +68,15 @@ // draw single barline pen.setWidth(qRound(BARLINE_WIDTH*s.z)); p->setPen(pen); - p->drawLine(qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z)); + p->drawLine(s.x, s.y, + s.x, qRound(s.y + height()*s.z)); break; case CABarline::Double: // draw double barline pen.setWidth((int)(BARLINE_WIDTH*s.z)); p->setPen(pen); - p->drawLine(qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z)); + p->drawLine(s.x, s.y, + s.x, qRound(s.y + height()*s.z)); p->drawLine(qRound(s.x + BARLINE_WIDTH*s.z + SPACE_BETWEEN_BARLINES*s.z), s.y, qRound(s.x + BARLINE_WIDTH*s.z + SPACE_BETWEEN_BARLINES*s.z), qRound(s.y + height()*s.z)); break; @@ -84,8 +84,8 @@ // draw thin barline pen.setWidth(qRound(BARLINE_WIDTH*s.z)); p->setPen(pen); - p->drawLine(qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z)); + p->drawLine(s.x, s.y, + s.x, qRound(s.y + height()*s.z)); // draw bold barline pen.setWidth(qRound(BOLD_BARLINE_WIDTH*s.z)); p->setPen(pen); @@ -96,21 +96,21 @@ pen.setWidth(qRound(BOLD_BARLINE_WIDTH*s.z)); p->setPen(pen); // draw bold barline - p->drawLine( qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z)); + p->drawLine( s.x, s.y, + s.x, qRound(s.y + height()*s.z)); s.x += qRound((BOLD_BARLINE_WIDTH/2 + SPACE_BETWEEN_BARLINES + BARLINE_WIDTH/2)*s.z); // draw single barline pen.setWidth(qRound(BARLINE_WIDTH*s.z)); p->setPen(pen); - p->drawLine(qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z)); + p->drawLine(s.x, s.y, + s.x, qRound(s.y + height()*s.z)); s.x += qRound((BARLINE_WIDTH/2 + SPACE_BETWEEN_BARLINES)*s.z); // draw upper dot - p->drawEllipse( qRound(s.x), + p->drawEllipse( s.x, qRound(s.y + 4*SPACE_BETWEEN_BARLINES*s.z), qRound(REPEAT_DOTS_WIDTH*s.z), qRound(REPEAT_DOTS_WIDTH*s.z) ); // draw lower dot - p->drawEllipse( qRound(s.x), + p->drawEllipse( s.x, qRound(s.y + (height()-REPEAT_DOTS_WIDTH-4*SPACE_BETWEEN_BARLINES)*s.z), qRound(REPEAT_DOTS_WIDTH*s.z), qRound(REPEAT_DOTS_WIDTH*s.z) ); break; @@ -118,58 +118,58 @@ pen.setWidth(qRound(BARLINE_WIDTH*s.z)); p->setPen(pen); // draw upper dot - p->drawEllipse( qRound(s.x), + p->drawEllipse( s.x, qRound(s.y + 4*SPACE_BETWEEN_BARLINES*s.z), qRound(REPEAT_DOTS_WIDTH*s.z), qRound(REPEAT_DOTS_WIDTH*s.z) ); // draw lower dot - p->drawEllipse( qRound(s.x), + p->drawEllipse( s.x, qRound(s.y + (height()-REPEAT_DOTS_WIDTH-4*SPACE_BETWEEN_BARLINES)*s.z), qRound(REPEAT_DOTS_WIDTH*s.z), qRound(REPEAT_DOTS_WIDTH*s.z) ); s.x += qRound((REPEAT_DOTS_WIDTH + SPACE_BETWEEN_BARLINES + BARLINE_WIDTH/2)*s.z); // draw single barline - p->drawLine(qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z)); + p->drawLine(s.x, s.y, + s.x, qRound(s.y + height()*s.z)); s.x += qRound((BARLINE_WIDTH/2 + SPACE_BETWEEN_BARLINES + BOLD_BARLINE_WIDTH/2)*s.z); // draw bold barline pen.setWidth(qRound(BOLD_BARLINE_WIDTH*s.z)); p->setPen(pen); - p->drawLine( qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z)); + p->drawLine( s.x, s.y, + s.x, qRound(s.y + height()*s.z)); break; case CABarline::RepeatCloseOpen: pen.setWidth(qRound(BARLINE_WIDTH*s.z)); p->setPen(pen); // draw upper dot - p->drawEllipse( qRound(s.x), + p->drawEllipse( s.x, qRound(s.y + 4*SPACE_BETWEEN_BARLINES*s.z), qRound(REPEAT_DOTS_WIDTH*s.z), qRound(REPEAT_DOTS_WIDTH*s.z) ); // draw lower dot - p->drawEllipse( qRound(s.x), + p->drawEllipse( s.x, qRound(s.y + (height()-REPEAT_DOTS_WIDTH-4*SPACE_BETWEEN_BARLINES)*s.z), qRound(REPEAT_DOTS_WIDTH*s.z), qRound(REPEAT_DOTS_WIDTH*s.z) ); s.x += qRound((REPEAT_DOTS_WIDTH + SPACE_BETWEEN_BARLINES + BARLINE_WIDTH/2)*s.z); // draw single barline - p->drawLine(qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z)); + p->drawLine(s.x, s.y, + s.x, qRound(s.y + height()*s.z)); s.x += qRound((BARLINE_WIDTH/2 + SPACE_BETWEEN_BARLINES + BOLD_BARLINE_WIDTH/2)*s.z); // draw bold barline pen.setWidth(qRound(BOLD_BARLINE_WIDTH*s.z)); p->setPen(pen); - p->drawLine( qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z)); + p->drawLine( s.x, s.y, + s.x, qRound(s.y + height()*s.z)); s.x += qRound((BOLD_BARLINE_WIDTH/2 + SPACE_BETWEEN_BARLINES + BARLINE_WIDTH/2)*s.z); pen.setWidth(qRound(BARLINE_WIDTH*s.z)); p->setPen(pen); // draw single barline - p->drawLine(qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z)); + p->drawLine(s.x, s.y, + s.x, qRound(s.y + height()*s.z)); s.x += qRound((BARLINE_WIDTH/2 + SPACE_BETWEEN_BARLINES)*s.z); // draw upper dot - p->drawEllipse( qRound(s.x), + p->drawEllipse( s.x, qRound(s.y + 4*SPACE_BETWEEN_BARLINES*s.z), qRound(REPEAT_DOTS_WIDTH*s.z), qRound(REPEAT_DOTS_WIDTH*s.z) ); // draw lower dot - p->drawEllipse( qRound(s.x), + p->drawEllipse( s.x, qRound(s.y + (height()-REPEAT_DOTS_WIDTH-4*SPACE_BETWEEN_BARLINES)*s.z), qRound(REPEAT_DOTS_WIDTH*s.z), qRound(REPEAT_DOTS_WIDTH*s.z) ); @@ -179,8 +179,8 @@ pen.setCapStyle(Qt::RoundCap); pen.setWidth(qRound(DOTTED_BARLINE_WIDTH*s.z)); p->setPen(pen); - p->drawLine( qRound(s.x), s.y, - qRound(s.x), qRound(s.y + height()*s.z) ); + p->drawLine( s.x, s.y, + s.x, qRound(s.y + height()*s.z) ); break; case CABarline::Undefined: break; Modified: trunk/src/layout/drawablenote.cpp =================================================================== --- trunk/src/layout/drawablenote.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/layout/drawablenote.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -177,7 +177,7 @@ // Draw notehead s.y += height()*s.z/2; - p->drawText(s.x, qRound(s.y), QString(CACanorus::fetaCodepoint(_noteHeadGlyphName))); + p->drawText(s.x, s.y, QString(CACanorus::fetaCodepoint(_noteHeadGlyphName))); if (note()->noteLength().musicLength() >= CAPlayableLength::Half) { // Draw stem and flag Modified: trunk/src/layout/drawablesyllable.cpp =================================================================== --- trunk/src/layout/drawablesyllable.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/layout/drawablesyllable.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -47,7 +47,7 @@ qRound(s.x + width()*s.z*0.5 + 0.5*textWidth + 0.5*s.z*DEFAULT_DASH_LENGTH), s.y + qRound(height()*s.z*0.7)); } else if ( syllable()->melismaStart() && (width()*s.z - textWidth) > qRound(DEFAULT_DASH_LENGTH*s.z) ) { - p->drawLine( qRound(s.x + textWidth), s.y + qRound(height()*s.z), + p->drawLine( s.x + textWidth, s.y + qRound(height()*s.z), qRound(s.x + width()*s.z), s.y + qRound(height()*s.z)); } } Modified: trunk/src/layout/drawabletuplet.cpp =================================================================== --- trunk/src/layout/drawabletuplet.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/layout/drawabletuplet.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -41,7 +41,7 @@ // generate an array of points for the rounded slur using the exponent shape QPoint points[9]; - points[0] = QPoint( qRound(s.x), qRound(yLeft) ); + points[0] = QPoint( s.x, qRound(yLeft) ); points[1] = QPoint( qRound(s.x + 0.1*deltaX1), qRound(yLeft + deltaY1*0.34) ); points[2] = QPoint( qRound(s.x + 0.2*deltaX1), qRound(yLeft + deltaY1*0.53) ); points[3] = QPoint( qRound(s.x + 0.3*deltaX1), qRound(yLeft + deltaY1*0.71) ); Modified: trunk/src/main.cpp =================================================================== --- trunk/src/main.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/main.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -19,7 +19,7 @@ #include <iostream> -#ifdef Q_WS_X11 +#ifndef Q_OS_WIN #include <signal.h> //Duma leads to a crash on libfontconfig with Ubuntu (10.04/12.04) Modified: trunk/src/score/tuplet.cpp =================================================================== --- trunk/src/score/tuplet.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/score/tuplet.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -186,7 +186,7 @@ j++; } if ( j < noteList().size() ) { - noteList()[i]->setTimeLength( qRound( noteList()[j]->timeStart() - noteList()[i]->timeStart() ) ); + noteList()[i]->setTimeLength( noteList()[j]->timeStart() - noteList()[i]->timeStart() ); } else { noteList()[i]->setTimeLength( qRound( CAPlayableLength::playableLengthToTimeLength( noteList()[i]->playableLength() ) * ((float)actualNumber() / number()) ) ); } Index: trunk/src/scripting =================================================================== --- trunk/src/scripting 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/scripting 2015-04-10 18:52:10 UTC (rev 1393) Property changes on: trunk/src/scripting ___________________________________________________________________ Modified: svn:ignore ## -1,9 +1,3 ## -Makefile -cmake_install.cmake -progress.make -CMakeFiles -.directory -_CanorusPython.so -canorus -ui_*.h -*.cxx + +canoruspythonPYTHON_wrap.cxx +canorusrubyRUBY_wrap.cxx Modified: trunk/src/scripting/swigpython.cpp =================================================================== --- trunk/src/scripting/swigpython.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/scripting/swigpython.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -57,7 +57,7 @@ PyRun_SimpleString((QString("sys.path.append('")+QFileInfo("base:CanorusPython.py").absolutePath()+"')").toStdString().c_str()); } -#ifdef Q_WS_WIN +#ifdef Q_OS_WIN if ( QFileInfo("base:_CanorusPython.dll").exists() ) { PyRun_SimpleString((QString("sys.path.append('")+QFileInfo("base:_CanorusPython.dll").absolutePath()+"')").toStdString().c_str()); } else { Modified: trunk/src/scripting/swigruby.cpp =================================================================== --- trunk/src/scripting/swigruby.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/scripting/swigruby.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -23,7 +23,7 @@ if (QDir::searchPaths("scripts").size()) rb_eval_string((QString("$: << '") + QDir::searchPaths("scripts")[0] + "'").toStdString().c_str()); // add path to CanorusRuby module to Scripting path -#ifdef Q_WS_WIN +#ifdef Q_OS_WIN if (QFileInfo("base:CanorusRuby.dll").exists()) rb_eval_string((QString("$: << '") + QFileInfo("base:CanorusRuby.dll").absolutePath() + "'").toStdString().c_str()); #else Modified: trunk/src/ui/mainwin.cpp =================================================================== --- trunk/src/ui/mainwin.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/ui/mainwin.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -11,6 +11,7 @@ #endif #include <QtGui> +#include <QMessageBox> #include <QSlider> #include <QComboBox> #include <QMouseEvent> @@ -19,6 +20,7 @@ #include <QKeyEvent> #include <QString> #include <QTextStream> +#include <QToolBar> #include <QXmlInputSource> #include <QComboBox> #include <QCheckBox> @@ -602,11 +604,11 @@ // Standard Toolbar uiUndo->setDefaultAction( uiStandardToolBar->insertWidget( uiCut, uiUndo ) ); uiUndo->defaultAction()->setText(tr("Undo")); - uiUndo->defaultAction()->setShortcut(QApplication::translate("uiMainWindow", "Ctrl+Z", 0, QApplication::UnicodeUTF8)); + uiUndo->defaultAction()->setShortcut(QApplication::translate("uiMainWindow", "Ctrl+Z", 0 /*, QApplication::UnicodeUTF8*/)); uiMenuEdit->insertAction( uiCut, uiUndo->defaultAction() ); QList<QKeySequence> redoShortcuts; - redoShortcuts << QApplication::translate("uiMainWindow", "Ctrl+Y", 0, QApplication::UnicodeUTF8); - redoShortcuts << QApplication::translate("uiMainWindow", "Ctrl+Shift+Z", 0, QApplication::UnicodeUTF8); + redoShortcuts << QApplication::translate("uiMainWindow", "Ctrl+Y", 0 /*, QApplication::UnicodeUTF8*/ ); + redoShortcuts << QApplication::translate("uiMainWindow", "Ctrl+Shift+Z", 0 /*, QApplication::UnicodeUTF8*/ ); uiRedo->setDefaultAction( uiStandardToolBar->insertWidget( uiCut, uiRedo ) ); uiRedo->defaultAction()->setText(tr("Redo")); uiRedo->defaultAction()->setShortcuts(redoShortcuts); @@ -1450,7 +1452,7 @@ */ void CAMainWin::setMode(CAMode mode, const QString &oModeHash) { int iAllowed = _modeHash[oModeHash]; - qWarning("Allowed %d, max allowed %d, modeHash %s",iAllowed,_iNumAllowed,oModeHash.toAscii().constData()); + qWarning("Allowed %d, max allowed %d, modeHash %s",iAllowed,_iNumAllowed,oModeHash.toLatin1().constData()); if( iAllowed > 0 && iAllowed < _iNumAllowed ) setMode( mode ); } @@ -2983,9 +2985,9 @@ // append the extension, if the filename doesn't contain a dot //int i; if (!s.contains('.')) { - int left = uiSaveDialog->selectedFilter().indexOf("(*.") + 2; - int len = uiSaveDialog->selectedFilter().size() - left - 1; - s.append( uiSaveDialog->selectedFilter().mid( left, len ) ); + int left = uiSaveDialog->selectedNameFilter().indexOf("(*.") + 2; + int len = uiSaveDialog->selectedNameFilter().size() - left - 1; + s.append( uiSaveDialog->selectedNameFilter().mid( left, len ) ); } return saveDocument(s); @@ -3006,10 +3008,10 @@ CAImport *open = 0; if ( fileName.endsWith(".xml") ) { open = new CACanorusMLImport(); - uiSaveDialog->selectFilter( CAFileFormats::CANORUSML_FILTER ); + uiSaveDialog->selectNameFilter( CAFileFormats::CANORUSML_FILTER ); } else if ( fileName.endsWith(".can") ) { open = new CACanImport(); - uiSaveDialog->selectFilter( CAFileFormats::CAN_FILTER ); + uiSaveDialog->selectNameFilter( CAFileFormats::CAN_FILTER ); } else { return 0; // FIXME Failing quietly, add error message } @@ -3075,9 +3077,9 @@ CACanorus::restartTimeEditedTimes( document() ); CAExport *save=0; - if ( uiSaveDialog->selectedFilter()==CAFileFormats::CANORUSML_FILTER ) { + if ( uiSaveDialog->selectedNameFilter()==CAFileFormats::CANORUSML_FILTER ) { save = new CACanorusMLExport(); - } else if ( uiSaveDialog->selectedFilter()==CAFileFormats::CAN_FILTER ) { + } else if ( uiSaveDialog->selectedNameFilter()==CAFileFormats::CAN_FILTER ) { save = new CACanExport(); } @@ -3109,7 +3111,7 @@ QMessageBox::critical( this, tr("Error while saving document"), - tr("Unknown file format %1.").arg(uiSaveDialog->selectedFilter()) + tr("Unknown file format %1.").arg(uiSaveDialog->selectedNameFilter()) ); return false; } @@ -3164,30 +3166,30 @@ } if (!s.contains('.')) { - int left = uiExportDialog->selectedFilter().indexOf("(*.") + 2; - int len = uiExportDialog->selectedFilter().size() - left - 1; - fileExtString = uiExportDialog->selectedFilter().mid( left, len ); + int left = uiExportDialog->selectedNameFilter().indexOf("(*.") + 2; + int len = uiExportDialog->selectedNameFilter().size() - left - 1; + fileExtString = uiExportDialog->selectedNameFilter().mid( left, len ); // the default file extension is the first one: fileExtList = fileExtString.split( " " ); s.append( fileExtList[0] ); } - if (CAPluginManager::exportFilterExists(uiExportDialog->selectedFilter())) { - CAPluginManager::exportAction(uiExportDialog->selectedFilter(), document(), s); + if (CAPluginManager::exportFilterExists(uiExportDialog->selectedNameFilter())) { + CAPluginManager::exportAction(uiExportDialog->selectedNameFilter(), document(), s); } else { - if ( uiExportDialog->selectedFilter() == CAFileFormats::MIDI_FILTER ) { + if ( uiExportDialog->selectedNameFilter() == CAFileFormats::MIDI_FILTER ) { CAMidiExport *pme = new CAMidiExport; _poExp = pme; - } else if ( uiExportDialog->selectedFilter() == CAFileFormats::LILYPOND_FILTER ) { + } else if ( uiExportDialog->selectedNameFilter() == CAFileFormats::LILYPOND_FILTER ) { CALilyPondExport *ple = new CALilyPondExport; _poExp = ple; - } else if ( uiExportDialog->selectedFilter() == CAFileFormats::MUSICXML_FILTER ) { + } else if ( uiExportDialog->selectedNameFilter() == CAFileFormats::MUSICXML_FILTER ) { CAMusicXmlExport *musicxml = new CAMusicXmlExport; _poExp = musicxml; - } else if ( uiExportDialog->selectedFilter() == CAFileFormats::PDF_FILTER ) { + } else if ( uiExportDialog->selectedNameFilter() == CAFileFormats::PDF_FILTER ) { CAPDFExport *ppe = new CAPDFExport; _poExp = ppe; - } else if ( uiExportDialog->selectedFilter() == CAFileFormats::SVG_FILTER ) { + } else if ( uiExportDialog->selectedNameFilter() == CAFileFormats::SVG_FILTER ) { CASVGExport *pse = new CASVGExport; _poExp = pse; } else { @@ -3226,19 +3228,19 @@ QString s = fileNames[0]; - if (CAPluginManager::importFilterExists(uiImportDialog->selectedFilter())) { + if (CAPluginManager::importFilterExists(uiImportDialog->selectedNameFilter())) { // Import done using a scripting engine setDocument(new CADocument()); CACanorus::undo()->createUndoStack( document() ); uiCloseDocument->setEnabled(true); - CAPluginManager::importAction(uiImportDialog->selectedFilter(), document(), fileNames[0]); + CAPluginManager::importAction(uiImportDialog->selectedNameFilter(), document(), fileNames[0]); CACanorus::rebuildUI( document() ); } else { CAImport *import=0; - if ( uiImportDialog->selectedFilter() == CAFileFormats::MIDI_FILTER ) { + if ( uiImportDialog->selectedNameFilter() == CAFileFormats::MIDI_FILTER ) { if (!document()) newDocument(); import = new CAMidiImport( document() ); @@ -3248,7 +3250,7 @@ import->importSheet(); } } else - if ( uiImportDialog->selectedFilter() == CAFileFormats::LILYPOND_FILTER ) { + if ( uiImportDialog->selectedNameFilter() == CAFileFormats::LILYPOND_FILTER ) { // activate this filter in src/canorus.cpp when sheet import is usable if (!document()) newDocument(); @@ -3259,7 +3261,7 @@ import->importSheet(); } } else - if ( uiImportDialog->selectedFilter() == CAFileFormats::MUSICXML_FILTER ) { + if ( uiImportDialog->selectedNameFilter() == CAFileFormats::MUSICXML_FILTER ) { import = new CAMusicXmlImport(); if (import) { import->setStreamFromFile( s ); @@ -3309,7 +3311,7 @@ Called when Export directly to PDF action is clicked. */ void CAMainWin::on_uiExportToPdf_triggered() { - uiExportDialog->setFilter( CAFileFormats::PDF_FILTER ); + uiExportDialog->setNameFilter( CAFileFormats::PDF_FILTER ); on_uiExportDocument_triggered(); } Modified: trunk/src/ui/settingsdialog.cpp =================================================================== --- trunk/src/ui/settingsdialog.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/ui/settingsdialog.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -78,7 +78,7 @@ // Loading Saving Page uiDocumentsDirectory->setText( CACanorus::settings()->documentsDirectory().absolutePath() ); - uiDefaultSaveComboBox->addItems( CAMainWin::uiSaveDialog->filters() ); + uiDefaultSaveComboBox->addItems( CAMainWin::uiSaveDialog->nameFilters() ); uiDefaultSaveComboBox->setCurrentIndex( uiDefaultSaveComboBox->findText( CAFileFormats::getFilter(CACanorus::settings()->defaultSaveFormat()) @@ -152,7 +152,7 @@ CAMainWin::uiImportDialog->setDirectory( CACanorus::settings()->documentsDirectory() ); CAMainWin::uiExportDialog->setDirectory( CACanorus::settings()->documentsDirectory() ); CACanorus::settings()->setDefaultSaveFormat( CAFileFormats::getType( uiDefaultSaveComboBox->currentText() ) ); - CAMainWin::uiSaveDialog->selectFilter( uiDefaultSaveComboBox->currentText() ); + CAMainWin::uiSaveDialog->selectNameFilter( uiDefaultSaveComboBox->currentText() ); CACanorus::settings()->setAutoRecoveryInterval( uiAutoRecoverySpinBox->value() ); CACanorus::autoRecovery()->updateTimer(); Modified: trunk/src/widgets/actionseditor.cpp =================================================================== --- trunk/src/widgets/actionseditor.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/widgets/actionseditor.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -98,8 +98,8 @@ actionsTable->setSelectionMode( QAbstractItemView::SingleSelection ); actionsTable->verticalHeader()->hide(); - actionsTable->horizontalHeader()->setResizeMode(COL_COMMAND, QHeaderView::Stretch); - actionsTable->horizontalHeader()->setResizeMode(COL_CONTEXT, QHeaderView::Stretch); + actionsTable->horizontalHeader()->setSectionResizeMode(COL_COMMAND, QHeaderView::Stretch); + actionsTable->horizontalHeader()->setSectionResizeMode(COL_CONTEXT, QHeaderView::Stretch); actionsTable->setAlternatingRowColors(true); //#if USE_SHORTCUTGETTER @@ -279,7 +279,7 @@ //#else // @ToDo Update Midi/Shortcut corresponding but // Update our own list of settings - action->setShortCut( QKeySequence(i->text()) ); + action->setShortCut( QKeySequence(i->text()).toString() ); //#endif } } @@ -632,7 +632,7 @@ //#else accelText = set->value(action->text(), action->getShortCut()).toString(); if( accelText != "none" ) - action->setShortCut(QKeySequence(accelText)); + action->setShortCut( QKeySequence(accelText).toString() ); //#endif } } Modified: trunk/src/widgets/pyconsole.cpp =================================================================== --- trunk/src/widgets/pyconsole.cpp 2015-04-10 17:04:27 UTC (rev 1392) +++ trunk/src/widgets/pyconsole.cpp 2015-04-10 18:52:10 UTC (rev 1393) @@ -317,7 +317,7 @@ QString *str = new QString(_bufSend); //put contents of _bufSend into buffer \todo: synch if (_bufSend == "html") { - std::cout << toHtml().toAscii().data() << std::endl; + std::cout << toHtml().toLatin1().data() << std::endl; } _bufSend = ""; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <its...@us...> - 2015-04-10 17:04:29
|
Revision: 1392 http://sourceforge.net/p/canorus/code/1392 Author: itsgeorg Date: 2015-04-10 17:04:27 +0000 (Fri, 10 Apr 2015) Log Message: ----------- Bar reference list added to CAStaff Modified Paths: -------------- trunk/src/score/staff.h Modified: trunk/src/score/staff.h =================================================================== --- trunk/src/score/staff.h 2015-04-10 15:32:12 UTC (rev 1391) +++ trunk/src/score/staff.h 2015-04-10 17:04:27 UTC (rev 1392) @@ -68,6 +68,11 @@ inline const QList<CAMusElement *>& timeSignatureReferences() { return _timeSignatureList; } inline void addTimeSignatureReference(CAMusElement *el) { _timeSignatureList << el; } inline int removeTimeSignatureReference(CAMusElement *el) { return _timeSignatureList.removeAll(el); } + + inline const QList<CAMusElement *>& barReferences() { return _barList; } + inline void addBarReference(CAMusElement *el) { _barList << el; } + inline int removeBarReference(CAMusElement *el) { return _barList.removeAll(el); } + private: QList<CAVoice *> _voiceList; @@ -76,5 +81,6 @@ QList<CAMusElement *> _clefList; QList<CAMusElement *> _keySignatureList; QList<CAMusElement *> _timeSignatureList; + QList<CAMusElement *> _barList; }; #endif /* STAFF_H_ */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <its...@us...> - 2015-04-10 15:32:14
|
Revision: 1391 http://sourceforge.net/p/canorus/code/1391 Author: itsgeorg Date: 2015-04-10 15:32:12 +0000 (Fri, 10 Apr 2015) Log Message: ----------- Repeat bar lines in lilypond export fixed Modified Paths: -------------- trunk/src/export/lilypondexport.cpp Modified: trunk/src/export/lilypondexport.cpp =================================================================== --- trunk/src/export/lilypondexport.cpp 2015-04-10 14:41:05 UTC (rev 1390) +++ trunk/src/export/lilypondexport.cpp 2015-04-10 15:32:12 UTC (rev 1391) @@ -740,14 +740,14 @@ case CABarline::End: return "|."; break; - case CABarline::RepeatOpen: - return "|:"; + case CABarline::RepeatOpen: // possible repeat bar lines: ".|:" ":..:" ":|.|:" ":|.:" ":|." + return ".|:"; break; case CABarline::RepeatClose: - return ":|"; + return ":|."; break; case CABarline::RepeatCloseOpen: - return ":|:"; + return ":|.|:"; break; case CABarline::Dotted: return ":"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2015-04-10 14:41:12
|
Revision: 1390 http://sourceforge.net/p/canorus/code/1390 Author: suamor Date: 2015-04-10 14:41:05 +0000 (Fri, 10 Apr 2015) Log Message: ----------- Update Qt5 Support; Fix Ubuntu 14.04 specific Python3 Issue Modified Paths: -------------- trunk/CMakeListsQt5.txt trunk/src/CMakeListsQt5.txt Modified: trunk/CMakeListsQt5.txt =================================================================== --- trunk/CMakeListsQt5.txt 2015-04-10 11:08:42 UTC (rev 1389) +++ trunk/CMakeListsQt5.txt 2015-04-10 14:41:05 UTC (rev 1390) @@ -83,6 +83,7 @@ FIND_PACKAGE(Qt5Widgets REQUIRED) FIND_PACKAGE(Qt5LinguistTools REQUIRED) FIND_PACKAGE(Qt5Xml REQUIRED) +FIND_PACKAGE(Qt5Help REQUIRED) FIND_PACKAGE(Qt5PrintSupport REQUIRED) # in the following lines all the requires include directories are added Modified: trunk/src/CMakeListsQt5.txt =================================================================== --- trunk/src/CMakeListsQt5.txt 2015-04-10 11:08:42 UTC (rev 1389) +++ trunk/src/CMakeListsQt5.txt 2015-04-10 14:41:05 UTC (rev 1390) @@ -34,7 +34,7 @@ SET(USE_SWIG True) MESSAGE("SWIG found, using scripting extensions.") ELSE(SWIG_FOUND AND NOT NO_SWIG) - MESSAGE("SWIG *not* found, disabling SWIG!") + MESSAGE("SWIG version >=3 *not* found, disabling SWIG!") SET(NO_RUBY True) SET(NO_PYTHON True) ENDIF(SWIG_FOUND AND NOT NO_SWIG) @@ -50,7 +50,10 @@ SET(RUBY_LIBRARY "") ENDIF(RUBY_INCLUDE_PATH AND NOT NO_RUBY) -FIND_PACKAGE(PythonLibs) +set(Python_ADDITIONAL_VERSIONS 3.4) # Required for Ubuntu LTS 14.04 + +FIND_PACKAGE(PythonLibs 3) + IF(PYTHON_INCLUDE_DIRS AND NOT NO_PYTHON) MESSAGE("Python Library and Development files found. Python extensions enabled.") # PYTHON_LIBRARY points to C:\PythonXY\pythonXY.dll @@ -476,10 +479,11 @@ SET(Canorus_OSX_Info ${CANORUS_OSX_DIR}/files/Info.plist) SET(Canorus_OSX_Qt_libs - ${QT_QTCORE_LIBRARY}/Versions/4/QtCore - ${QT_QTGUI_LIBRARY}/Versions/4/QtGui - ${QT_QTXML_LIBRARY}/Versions/4/QtXml - ${QT_QTSVG_LIBRARY}/Versions/4/QtSvg + ${QT_QTCORE_LIBRARY}/Versions/5/QtCore + ${QT_QTGUI_LIBRARY}/Versions/5/QtGui + ${QT_QTWIDGETS_LIBRARY}/Versions/5/QtWidgets + ${QT_QTXML_LIBRARY}/Versions/5/QtXml + ${QT_QTSVG_LIBRARY}/Versions/5/QtSvg ) ENDIF(APPLE) @@ -547,8 +551,14 @@ INCLUDE_DIRECTORIES(${Qt5Svg_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${Qt5Widgets_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${Qt5Xml_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${Qt5Help_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${Qt5PrintSupport_INCLUDE_DIRS}) +# FIX: Qt was built with -reduce-relocations +if (Qt5_POSITION_INDEPENDENT_CODE) + SET(CMAKE_POSITION_INDEPENDENT_CODE ON) +endif() + IF(USE_SWIG) INCLUDE(${SWIG_USE_FILE}) SET(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_SOURCE_DIR}) @@ -625,7 +635,7 @@ # command. Never remove that line :-) # Add ${QT_QTTEST_LIBRARY} below to add the Qt Test library as well # Add ${POPPLERQT4_LIBRARY} ${POPPLER_LIBRARY} to reactivate poppler libraries -TARGET_LINK_LIBRARIES(canorus ${QT_LIBRARIES} ${RUBY_LIBRARY} ${PYTHON_LIBRARY} z pthread ) +TARGET_LINK_LIBRARIES(canorus Qt5::Widgets Qt5::Core Qt5::Gui Qt5::Svg Qt5::Xml Qt5::Svg Qt5::Help Qt5::PrintSupport ${RUBY_LIBRARY} ${PYTHON_LIBRARY} z pthread ) # Duma leads to a crash on libfontconfig with Ubuntu (10.04/12.04) # duma ) @@ -673,13 +683,15 @@ ADD_CUSTOM_COMMAND( TARGET canorus PRE_BUILD - COMMAND ${QT_BINARY_DIR}/lupdate + #COMMAND ${QT_BINARY_DIR}/lupdate + COMMAND lupdate ARGS -noobsolete ${Canorus_UIC_Srcs} ${Canorus_Srcs} -ts ${Canorus_Translation_Srcs} lang/template.ts ) ADD_CUSTOM_COMMAND( TARGET canorus PRE_BUILD - COMMAND ${QT_BINARY_DIR}/lrelease + #COMMAND ${QT_BINARY_DIR}/lrelease + COMMAND lrelease ARGS ${Canorus_Translation_Srcs} ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2015-04-10 11:08:45
|
Revision: 1389 http://sourceforge.net/p/canorus/code/1389 Author: matevz Date: 2015-04-10 11:08:42 +0000 (Fri, 10 Apr 2015) Log Message: ----------- Removed obsolete clipping from CAScoreView. Modified Paths: -------------- trunk/src/widgets/scoreview.cpp Modified: trunk/src/widgets/scoreview.cpp =================================================================== --- trunk/src/widgets/scoreview.cpp 2015-04-09 22:11:14 UTC (rev 1388) +++ trunk/src/widgets/scoreview.cpp 2015-04-10 11:08:42 UTC (rev 1389) @@ -835,22 +835,6 @@ p.drawRect(0,0,width()-1,height()-1); } - p.setClipping(true); - if (_repaintArea) { - p.setClipRect(QRect(qRound((_repaintArea->x() - _worldX)*_zoom), - qRound((_repaintArea->y() - _worldY)*_zoom), - qRound(_repaintArea->width()*_zoom), - qRound(_repaintArea->height()*_zoom)), - Qt::UniteClip); - } else { - p.setClipRect(QRect(_canvas->x(), - _canvas->y(), - _canvas->width(), - _canvas->height()), - Qt::UniteClip); - } - - // draw the background if (_repaintArea) p.fillRect(qRound((_repaintArea->x() - _worldX)*_zoom), qRound((_repaintArea->y() - _worldY)*_zoom), qRound(_repaintArea->width()*_zoom), qRound(_repaintArea->height()*_zoom), _backgroundColor); @@ -1014,7 +998,6 @@ if (_repaintArea) { delete _repaintArea; _repaintArea = 0; - p.setClipping(false); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2015-04-09 22:11:22
|
Revision: 1388 http://sourceforge.net/p/canorus/code/1388 Author: matevz Date: 2015-04-09 22:11:14 +0000 (Thu, 09 Apr 2015) Log Message: ----------- Added shortcuts icon. Modified Paths: -------------- trunk/src/ui/settingsdialog.ui Added Paths: ----------- trunk/src/ui/images/settings/shortcuts.svg Added: trunk/src/ui/images/settings/shortcuts.svg =================================================================== --- trunk/src/ui/images/settings/shortcuts.svg (rev 0) +++ trunk/src/ui/images/settings/shortcuts.svg 2015-04-09 22:11:14 UTC (rev 1388) @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="128" + height="128" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.48.5 r10040" + sodipodi:docname="shortcuts.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + version="1.0" + sodipodi:modified="true"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.979899" + inkscape:cx="-32.979276" + inkscape:cy="81.680755" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="1400" + inkscape:window-height="974" + inkscape:window-x="124" + inkscape:window-y="49" + width="128px" + height="128px" + showgrid="false" + inkscape:window-maximized="0" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + inkscape:connector-curvature="0" + style="fill:none;stroke:#000000;stroke-width:4.13647127;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.67634858;stroke-dasharray:none" + d="m 5.7241747,85.404077 31.8356923,0 22.65057,-18.067412 0,-14.451351" + id="path2302" + sodipodi:nodetypes="cccc" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.64675558px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 2.5896389,69.146797 0,14.590477 33.5537091,0 23.000067,-18.346215 0,-14.674342" + id="path2174" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + style="fill:none;stroke:#000000;stroke-width:0.64675558px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 26.472238,49.957052 -23.9041533,19.067352 32.8342123,0 23.230732,-18.530185 z" + id="path2160" /> + <path + inkscape:connector-curvature="0" + style="fill:none;stroke:#000000;stroke-width:0.64675558px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 18.429377,68.65089 0,14.782455" + id="path2176" + sodipodi:nodetypes="cc" /> + <path + inkscape:connector-curvature="0" + style="fill:none;stroke:#000000;stroke-width:0.64675558px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 40.523431,49.83685 18.079185,68.663009" + id="path2162" + sodipodi:nodetypes="cc" /> + <g + id="g2255" + transform="matrix(0.550557,0,0,0.6017335,-90.738435,-201.87362)"> + <path + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" + id="path2186" + d="m 233.13923,403.61912 -23.32809,17.01593 0,15.47031 11.72765,0 24.19013,-17.65441 0,-14.83183 -12.58969,0 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.12366533px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path3159" + d="m 245.98901,403.02124 -24.08563,17.57815 0,15.92157" + style="fill:none;stroke:#ffffa9;stroke-width:1.12366533px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4130" + d="m 209.64452,420.40919 12.24102,0" + style="fill:none;stroke:#ffff7b;stroke-width:1.12366533px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> + <path + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" + id="path3042" + d="m 34.864661,68.65089 0,14.782455" + style="fill:none;stroke:#000000;stroke-width:0.64675558px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path3814" + d="M 61.011209,35.859695 98.153649,47.78826 119.41281,37.022012 83.00344,25.328877 z" + style="fill:none;stroke:#000000;stroke-width:1.25208604;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <path + sodipodi:nodetypes="ccc" + id="path3856" + d="M 62.023747,37.956006 96.797471,49.123844 122.20611,37.539931" + style="fill:none;stroke:#000000;stroke-width:5.92923307;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.67634858;stroke-dasharray:none" + inkscape:connector-curvature="0" /> + <path + style="fill:#ffffff;stroke:#000000;stroke-width:0.92741215;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="M 71.430591,26.698676 98.941759,35.534091 114.68829,27.559595 87.7201,18.898565 z" + id="path3044" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:#e6e6e6;stroke:#000000;stroke-width:0.92741215;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 61.032948,35.48603 10.316688,-8.994349 27.149183,9.081148 -0.72398,11.532136 z" + id="path3816" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:#b3b3b3;stroke:#000000;stroke-width:0.92741215;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 120.03717,36.698203 -5.42984,-9.526595 -15.746521,7.974494 -0.72398,12.075118 z" + id="path3818" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:17.45615196px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:FreeSans;-inkscape-font-specification:FreeSans" + x="52.281651" + y="1.9155824" + id="text3820" + sodipodi:linespacing="125%" + transform="matrix(1.5646665,0.50250415,-0.69108494,0.41716682,0,0)"><tspan + sodipodi:role="line" + id="tspan3822" + x="52.281651" + y="1.9155824">A</tspan></text> + <path + inkscape:connector-curvature="0" + style="fill:none;stroke:#000000;stroke-width:6.35208273;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.67634858;stroke-dasharray:none" + d="M 60.996443,114.56337 100.62486,103.78926 115.95721,79.736126" + id="path3870" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1.34137988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="M 57.234169,112.91165 99.561981,101.40362 111.64929,80.398348 70.156893,91.679246 z" + id="path3858" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path3860" + d="M 60.478094,99.433408 91.830046,90.909481 100.78304,75.351009 70.049875,83.706698 z" + style="fill:#ffffff;stroke:#000000;stroke-width:0.99355155;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path3862" + d="m 56.996295,112.59297 3.264655,-13.282808 31.189199,-8.115115 7.292614,9.865663 z" + style="fill:#e6e6e6;stroke:#000000;stroke-width:0.99355155;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path3864" + d="m 111.99903,79.775204 -11.55802,-4.695771 -8.952995,15.558474 7.667271,10.310643 z" + style="fill:#b3b3b3;stroke:#000000;stroke-width:0.99355155;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <text + transform="matrix(1.6644075,-0.45251695,-0.32350323,0.68876804,0,0)" + sodipodi:linespacing="125%" + id="text3866" + y="188.67889" + x="79.166344" + style="font-size:18.70105743px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:FreeSans;-inkscape-font-specification:FreeSans" + xml:space="preserve"><tspan + y="188.67889" + x="79.166344" + id="tspan3868" + sodipodi:role="line">1</tspan></text> + </g> +</svg> Modified: trunk/src/ui/settingsdialog.ui =================================================================== --- trunk/src/ui/settingsdialog.ui 2015-04-09 15:52:46 UTC (rev 1387) +++ trunk/src/ui/settingsdialog.ui 2015-04-09 22:11:14 UTC (rev 1388) @@ -74,8 +74,12 @@ </item> <item> <property name="text"> - <string>Commands</string> + <string>Shortcuts</string> </property> + <property name="icon"> + <iconset> + <normaloff>images:settings/shortcuts.svg</normaloff>images:settings/shortcuts.svg</iconset> + </property> </item> <item> <property name="text"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2015-04-09 15:52:49
|
Revision: 1387 http://sourceforge.net/p/canorus/code/1387 Author: matevz Date: 2015-04-09 15:52:46 +0000 (Thu, 09 Apr 2015) Log Message: ----------- Added newDocument() fallback for environment without Python. Added "Canorus is compiled with Python support." to about dialog box. Updated Slovenian translation. Modified Paths: -------------- trunk/src/lang/sl.ts trunk/src/ui/mainwin.cpp Modified: trunk/src/lang/sl.ts =================================================================== --- trunk/src/lang/sl.ts 2015-04-09 15:13:19 UTC (rev 1386) +++ trunk/src/lang/sl.ts 2015-04-09 15:52:46 UTC (rev 1387) @@ -190,7 +190,7 @@ <context> <name>CALilyPondExport</name> <message> - <location filename="../export/lilypondexport.cpp" line="859"/> + <location filename="../export/lilypondexport.cpp" line="834"/> <source>arr.</source> <comment>arrangement</comment> <translation>prir.</translation> @@ -279,43 +279,43 @@ <translation>Izberite smer notnih vratov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4065"/> + <location filename="../ui/mainwin.cpp" line="4084"/> <source>About Qt</source> <translation>O knjižnici Qt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4069"/> + <location filename="../ui/mainwin.cpp" line="4098"/> <source>About Canorus</source> <translation>O programu Canorus</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1754"/> - <location filename="../ui/mainwin.cpp" line="5357"/> + <location filename="../ui/mainwin.cpp" line="1773"/> + <location filename="../ui/mainwin.cpp" line="5379"/> <source>Staff%1</source> <translation>Črtovje%1</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1344"/> + <location filename="../ui/mainwin.cpp" line="1363"/> <source>Voice%1</source> <translation>Glas%1</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1362"/> - <location filename="../ui/mainwin.cpp" line="1369"/> - <location filename="../ui/mainwin.cpp" line="1397"/> - <location filename="../ui/mainwin.cpp" line="3283"/> + <location filename="../ui/mainwin.cpp" line="1381"/> + <location filename="../ui/mainwin.cpp" line="1388"/> + <location filename="../ui/mainwin.cpp" line="1416"/> + <location filename="../ui/mainwin.cpp" line="3302"/> <source>Canorus</source> <translation>Canorus</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1370"/> + <location filename="../ui/mainwin.cpp" line="1389"/> <source>Are you sure do you want to delete voice %1 and all its notes?</source> <translation>Ali res želite zbrisati glas %1 in vse njegove note?</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1398"/> + <location filename="../ui/mainwin.cpp" line="1417"/> <source>Are you sure do you want to delete context %1 and all its contents?</source> <translation>Ali res želite zbrisati trak @@ -357,7 +357,7 @@ <translation>Orodjarna za liste</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1363"/> + <location filename="../ui/mainwin.cpp" line="1382"/> <source>Cannot delete the last voice in the staff!</source> <translation>Ni mogoče zbrisati zadnjega glasu v črtovju!</translation> </message> @@ -596,8 +596,8 @@ <translation>Novo besedilo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1771"/> - <location filename="../ui/mainwin.cpp" line="5371"/> + <location filename="../ui/mainwin.cpp" line="1790"/> + <location filename="../ui/mainwin.cpp" line="5393"/> <source>LyricsContext%1</source> <translation>Besedilo%1</translation> </message> @@ -612,164 +612,164 @@ <translation>Dodeljen glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1321"/> + <location filename="../ui/mainwin.cpp" line="1340"/> <source>new sheet</source> <comment>undo</comment> <translation>nov list</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1342"/> + <location filename="../ui/mainwin.cpp" line="1361"/> <source>new voice</source> <comment>undo</comment> <translation>nov glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1376"/> + <location filename="../ui/mainwin.cpp" line="1395"/> <source>voice removal</source> <comment>undo</comment> <translation>odstranitev glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1404"/> + <location filename="../ui/mainwin.cpp" line="1423"/> <source>context removal</source> <comment>undo</comment> <translation>odstranitev traku</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1750"/> + <location filename="../ui/mainwin.cpp" line="1769"/> <source>new staff</source> <comment>undo</comment> <translation>novo črtovje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1762"/> + <location filename="../ui/mainwin.cpp" line="1781"/> <source>new lyrics context</source> <comment>undo</comment> <translation>novo besedilo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2093"/> + <location filename="../ui/mainwin.cpp" line="2112"/> <source>insert barline</source> <comment>undo</comment> <translation>vstavljanje taktnice</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2125"/> + <location filename="../ui/mainwin.cpp" line="2144"/> <source>rise note</source> <comment>undo</comment> <translation>višanje note</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2163"/> + <location filename="../ui/mainwin.cpp" line="2182"/> <source>lower note</source> <comment>undo</comment> <translation>nižanje note</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2208"/> + <location filename="../ui/mainwin.cpp" line="2227"/> <source>add sharp</source> <comment>undo</comment> <translation>dodajanje višaja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2242"/> + <location filename="../ui/mainwin.cpp" line="2261"/> <source>add flat</source> <comment>undo</comment> <translation>dodajanje nižaja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2269"/> + <location filename="../ui/mainwin.cpp" line="2288"/> <source>set dotted</source> <comment>undo</comment> <translation>punktacijo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5099"/> + <location filename="../ui/mainwin.cpp" line="5121"/> <source>deletion of elements</source> <comment>undo</comment> <translation>brisanje elementov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2447"/> + <location filename="../ui/mainwin.cpp" line="2466"/> <source>insertion of music element</source> <comment>undo</comment> <translation>dodajanje elementov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3362"/> + <location filename="../ui/mainwin.cpp" line="3381"/> <source>change voice name</source> <comment>undo</comment> <translation>spreminjanje imena glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3518"/> + <location filename="../ui/mainwin.cpp" line="3537"/> <source>lyrics edit</source> <comment>undo</comment> <translation>spreminjanje besedila</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3980"/> + <location filename="../ui/mainwin.cpp" line="3999"/> <source>commit CanorusML source</source> <comment>undo</comment> <translation>potrditev CanorusML izvorne kode</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3999"/> - <location filename="../ui/mainwin.cpp" line="4035"/> + <location filename="../ui/mainwin.cpp" line="4018"/> + <location filename="../ui/mainwin.cpp" line="4054"/> <source>commit LilyPond source</source> <comment>undo</comment> <translation>potrditev LilyPond izvorne kode</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4153"/> + <location filename="../ui/mainwin.cpp" line="4175"/> <source>deletion of the sheet</source> <comment>undo</comment> <translation>brisanje lista</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4212"/> + <location filename="../ui/mainwin.cpp" line="4234"/> <source>change sheet name</source> <comment>undo</comment> <translation>spreminjanje imena lista</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4232"/> + <location filename="../ui/mainwin.cpp" line="4254"/> <source>change context name</source> <comment>undo</comment> <translation>spreminjanje imena traku</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4251"/> + <location filename="../ui/mainwin.cpp" line="4273"/> <source>change stanza number</source> <comment>undo</comment> <translation>spreminjanje številke kitice</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4263"/> + <location filename="../ui/mainwin.cpp" line="4285"/> <source>change associated voice</source> <comment>undo</comment> <translation>dodeljevanje glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4274"/> + <location filename="../ui/mainwin.cpp" line="4296"/> <source>change voice stem direction</source> <comment>undo</comment> <translation>spreminjanje smeri vratov za glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4291"/> + <location filename="../ui/mainwin.cpp" line="4313"/> <source>change note stem direction</source> <comment>undo</comment> <translation>spreminjanje smeri vratov not</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4916"/> + <location filename="../ui/mainwin.cpp" line="4938"/> <source>cut</source> <comment>undo</comment> <translation>rezanje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5331"/> + <location filename="../ui/mainwin.cpp" line="5353"/> <source>paste</source> <comment>undo</comment> <translation>lepljenje</translation> @@ -835,13 +835,13 @@ <translation>Odmik ključa</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3344"/> + <location filename="../ui/mainwin.cpp" line="3363"/> <source>change clef offset</source> <comment>undo</comment> <translation>spreminjanje odmika ključa</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3649"/> + <location filename="../ui/mainwin.cpp" line="3668"/> <source>change function</source> <comment>undo</comment> <translation>spreminjanje funkcije</translation> @@ -853,25 +853,25 @@ <translation>Brez</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3672"/> + <location filename="../ui/mainwin.cpp" line="3691"/> <source>change chord area</source> <comment>undo</comment> <translation>spreminjanje akordičnega območja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3695"/> + <location filename="../ui/mainwin.cpp" line="3714"/> <source>change tonic degree</source> <comment>undo</comment> <translation>spreminjanje glavne veje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3717"/> + <location filename="../ui/mainwin.cpp" line="3736"/> <source>set/unset ellipse</source> <comment>undo</comment> <translation>elipse</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3426"/> + <location filename="../ui/mainwin.cpp" line="3445"/> <source>change playable length</source> <comment>undo</comment> <translation>spreminjanje dolžine</translation> @@ -1414,67 +1414,72 @@ <translation>Tip korone</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="993"/> + <location filename="../ui/mainwin.cpp" line="1012"/> <source>change sheet order</source> <comment>undo</comment> <translation>vrstni red listov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1780"/> + <location filename="../ui/mainwin.cpp" line="1799"/> <source>new figured bass context</source> <comment>undo</comment> <translation>nove generalbasne oznake</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1784"/> + <location filename="../ui/mainwin.cpp" line="1803"/> <source>FiguredBassContext%1</source> <translation>GeneralBas%1</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3081"/> - <location filename="../ui/mainwin.cpp" line="3092"/> + <location filename="../ui/mainwin.cpp" line="3100"/> + <location filename="../ui/mainwin.cpp" line="3111"/> <source>Error while saving document</source> <translation>Napaka pri shranjevanju</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3082"/> + <location filename="../ui/mainwin.cpp" line="3101"/> <source>The document was not saved! Error number %1 %2.</source> <translation>Datoteka ni bila shranjena! Napaka številka %1 %2.</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3093"/> + <location filename="../ui/mainwin.cpp" line="3112"/> <source>Unknown file format %1.</source> <translation>Neznan format %1.</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3584"/> - <location filename="../ui/mainwin.cpp" line="3621"/> + <location filename="../ui/mainwin.cpp" line="3603"/> + <location filename="../ui/mainwin.cpp" line="3640"/> <source>change figured bass</source> <comment>undo</comment> <translation>generalbasno spremembo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4070"/> + <location filename="../ui/mainwin.cpp" line="4088"/> <source><p><b>Canorus - The next generation music score editor</b></p><p>Version %1<br>(C) 2006-2013 Canorus Development team. All rights reserved.<br>See the file AUTHORS for the list of Canorus developers<br><br>This program is licensed under the GNU General Public License (GPL).<br>See the file LICENSE.GPL for details.<br><br>Homepage: <a href="http://www.canorus.org">http://www.canorus.org</a></p></source> <translation><p><b>Canorus - Urejevalnik not naslednje generacije</b></p><p>Verzija %1<br>(C) 2006-2013 Razvojna ekpia Canorus. Vse pravice pridržane.<br>Za poimenski seznam razvijalcev si oglejte datoteko AUTHORS.<br><br>Programska oprema je licencirana pod GNU General Public License (GPL).<br>Za podrobnosti si oglejte datoteko LICENSE.GPL.<br><br>Spletna stran: <a href="http://www.canorus.org">http://www.canorus.org</a></p></translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5586"/> - <location filename="../ui/mainwin.cpp" line="5609"/> + <location filename="../ui/mainwin.cpp" line="4096"/> + <source>Canorus is compiled with Python support.</source> + <translation>Canorus je preveden s podporo za Python.</translation> + </message> + <message> + <location filename="../ui/mainwin.cpp" line="5608"/> + <location filename="../ui/mainwin.cpp" line="5631"/> <source>change fermata type</source> <comment>undo</comment> <translation>spreminjanje tipa korone</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5709"/> + <location filename="../ui/mainwin.cpp" line="5731"/> <source>change tempo beat</source> <comment>undo</comment> <translation>spreminjanje dobe pri tempu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5732"/> + <location filename="../ui/mainwin.cpp" line="5754"/> <source>change tempo bpm</source> <comment>undo</comment> <translation>spreminjanje udarcev na minuto</translation> @@ -1490,7 +1495,7 @@ <translation>Tip korone</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3284"/> + <location filename="../ui/mainwin.cpp" line="3303"/> <source>Error while opening the file! Error %1: </source> <translation>Napaka pri odpiranju datoteke! @@ -1567,13 +1572,13 @@ <translation>Tip ponavljanja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5685"/> + <location filename="../ui/mainwin.cpp" line="5707"/> <source>change repeat mark</source> <comment>undo</comment> <translation>spreminjanje ponaljanja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3549"/> + <location filename="../ui/mainwin.cpp" line="3568"/> <source>text edit</source> <comment>undo</comment> <translation>urejanje besedila</translation> @@ -1666,13 +1671,13 @@ <translation>Prst</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5632"/> + <location filename="../ui/mainwin.cpp" line="5654"/> <source>change finger</source> <comment>undo</comment> <translation>spreminjanje prsta</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5653"/> + <location filename="../ui/mainwin.cpp" line="5675"/> <source>change finger original property</source> <comment>undo</comment> <translation>spreminjanje prvotnosti prstnega reda</translation> @@ -1708,25 +1713,25 @@ <translation>Glavna/Stranska veja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1698"/> + <location filename="../ui/mainwin.cpp" line="1717"/> <source>resize</source> <comment>undo</comment> <translation>spremembo velikosti</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1791"/> + <location filename="../ui/mainwin.cpp" line="1810"/> <source>new function mark context</source> <comment>undo</comment> <translation>nove funkcijske oznake</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1795"/> - <location filename="../ui/mainwin.cpp" line="5376"/> + <location filename="../ui/mainwin.cpp" line="1814"/> + <location filename="../ui/mainwin.cpp" line="5398"/> <source>FunctionMarkContext%1</source> <translation>FunkcijskeOznake%1</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1017"/> + <location filename="../ui/mainwin.cpp" line="1036"/> <source>change hidden rest</source> <comment>undo</comment> <translation>skrito pavzo</translation> @@ -1767,7 +1772,7 @@ <translation>namesto</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3914"/> + <location filename="../ui/mainwin.cpp" line="3933"/> <source>insert tuplet</source> <comment>undo</comment> <translation>vstavljanje triole</translation> @@ -1778,38 +1783,38 @@ <translation>Pedalne oznake</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4086"/> + <location filename="../ui/mainwin.cpp" line="4108"/> <source>Recorded Midi file</source> <translation>Posneta Midi datoteka</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3143"/> + <location filename="../ui/mainwin.cpp" line="3162"/> <source>No file name</source> <translation>Brez imena</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3143"/> + <location filename="../ui/mainwin.cpp" line="3162"/> <source>Warning: No file name for export specified.</source> <translation>Pozor: Napačno ime datoteka za izvoz.</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="894"/> - <location filename="../ui/mainwin.cpp" line="3106"/> + <location filename="../ui/mainwin.cpp" line="913"/> + <location filename="../ui/mainwin.cpp" line="3125"/> <source>Untitled</source> <translation>Brez naslova</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="894"/> + <location filename="../ui/mainwin.cpp" line="913"/> <source>Unsaved changes</source> <translation>Neshranjene spremembe</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="894"/> + <location filename="../ui/mainwin.cpp" line="913"/> <source>Document "%1" was modified. Do you want to save the changes?</source> <translation>Dokument "%1" je bil spremenjen. Ali želite shraniti spremembe?</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3112"/> + <location filename="../ui/mainwin.cpp" line="3131"/> <source>(modified)</source> <translation>(spremenjen)</translation> </message> @@ -1825,7 +1830,7 @@ <translation>Stoosemindvajsetinka</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3376"/> + <location filename="../ui/mainwin.cpp" line="3395"/> <source>change voice instrument</source> <comment>undo</comment> <translation>spremembo inštrumenta</translation> Modified: trunk/src/ui/mainwin.cpp =================================================================== --- trunk/src/ui/mainwin.cpp 2015-04-09 15:13:19 UTC (rev 1386) +++ trunk/src/ui/mainwin.cpp 2015-04-09 15:52:46 UTC (rev 1387) @@ -868,8 +868,27 @@ QList<PyObject*> argsPython; argsPython << CASwigPython::toPythonObject(document(), CASwigPython::Document); CASwigPython::callFunction(QFileInfo("scripts:newdocument.py").absoluteFilePath(), "newDefaultDocument", argsPython); +#else + // fallback: add basic sheet with two staffs + CASheet *sheet1 = document()->addSheet(); + CAStaff *staff1 = sheet1->addStaff(); + staff1->addVoice(); + staff1->voiceList()[0]->setStemDirection( CANote::StemUp ); + staff1->voiceList()[1]->setStemDirection( CANote::StemDown ); + staff1->voiceList()[0]->append( new CAClef( CAClef::Treble, staff1, 0 ) ); + staff1->voiceList()[0]->append( new CATimeSignature( 4, 4, staff1, 0 ) ); + + CAStaff *staff2 = sheet1->addStaff(); + staff2->addVoice(); + staff2->voiceList()[0]->setStemDirection( CANote::StemUp ); + staff2->voiceList()[1]->setStemDirection( CANote::StemDown ); + staff2->voiceList()[0]->append( new CAClef( CAClef::Bass, staff2, 0 ) ); + staff2->voiceList()[0]->append( new CATimeSignature( 4, 4, staff2, 0 ) ); + + staff1->synchronizeVoices(); + staff2->synchronizeVoices(); #endif - + // call local rebuild only because no other main windows share the new document rebuildUI(); @@ -4066,14 +4085,17 @@ } void CAMainWin::on_uiAboutCanorus_triggered() { - QMessageBox::about( this, tr("About Canorus"), - tr("<p><b>Canorus - The next generation music score editor</b></p>\ + QString about=tr("<p><b>Canorus - The next generation music score editor</b></p>\ <p>Version %1<br>\ (C) 2006-2013 Canorus Development team. All rights reserved.<br>\ See the file AUTHORS for the list of Canorus developers<br><br>\ This program is licensed under the GNU General Public License (GPL).<br>\ See the file LICENSE.GPL for details.<br><br>\ -Homepage: <a href=\"http://www.canorus.org\">http://www.canorus.org</a></p>").arg(CANORUS_VERSION) ); +Homepage: <a href=\"http://www.canorus.org\">http://www.canorus.org</a></p>").arg(CANORUS_VERSION); +#ifdef USE_PYTHON + about += "<p>"+tr("Canorus is compiled with Python support."); +#endif + QMessageBox::about( this, tr("About Canorus"), about); } void CAMainWin::on_uiSettings_triggered() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2015-04-09 15:13:22
|
Revision: 1386 http://sourceforge.net/p/canorus/code/1386 Author: matevz Date: 2015-04-09 15:13:19 +0000 (Thu, 09 Apr 2015) Log Message: ----------- Added Python 3 requirement to CMakeLists. Modified Paths: -------------- trunk/src/CMakeLists.txt Modified: trunk/src/CMakeLists.txt =================================================================== --- trunk/src/CMakeLists.txt 2015-04-09 14:57:43 UTC (rev 1385) +++ trunk/src/CMakeLists.txt 2015-04-09 15:13:19 UTC (rev 1386) @@ -34,7 +34,7 @@ SET(USE_SWIG True) MESSAGE("SWIG found, using scripting extensions.") ELSE(SWIG_FOUND AND NOT NO_SWIG) - MESSAGE("SWIG *not* found, disabling SWIG!") + MESSAGE("SWIG version >=3 *not* found, disabling SWIG!") SET(NO_RUBY True) SET(NO_PYTHON True) ENDIF(SWIG_FOUND AND NOT NO_SWIG) @@ -50,7 +50,7 @@ SET(RUBY_LIBRARY "") ENDIF(RUBY_INCLUDE_PATH AND NOT NO_RUBY) -FIND_PACKAGE(PythonLibs) +FIND_PACKAGE(PythonLibs 3.0) IF(PYTHON_INCLUDE_DIRS AND NOT NO_PYTHON) MESSAGE("Python Library and Development files found. Python extensions enabled.") # PYTHON_LIBRARY points to C:\PythonXY\pythonXY.dll This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2015-04-09 14:57:51
|
Revision: 1385 http://sourceforge.net/p/canorus/code/1385 Author: matevz Date: 2015-04-09 14:57:43 +0000 (Thu, 09 Apr 2015) Log Message: ----------- Added support for Python 3 bindings. Modified Paths: -------------- trunk/src/plugins/pycli/pycli.py trunk/src/scripting/swigpython.cpp Modified: trunk/src/plugins/pycli/pycli.py =================================================================== --- trunk/src/plugins/pycli/pycli.py 2015-04-09 11:08:32 UTC (rev 1384) +++ trunk/src/plugins/pycli/pycli.py 2015-04-09 14:57:43 UTC (rev 1385) @@ -22,7 +22,7 @@ "compile_command"] def init(pluginDir, canorusInterface): - print "Python CLI initialized" + print("Python CLI initialized") def pycli(document, canorusInterface): canorusInterface.pluginInit(); @@ -155,7 +155,7 @@ """ try: - exec code in self.locals + exec(code, locale=self.locals) except SystemExit: raise except: Modified: trunk/src/scripting/swigpython.cpp =================================================================== --- trunk/src/scripting/swigpython.cpp 2015-04-09 11:08:32 UTC (rev 1384) +++ trunk/src/scripting/swigpython.cpp 2015-04-09 14:57:43 UTC (rev 1385) @@ -30,7 +30,7 @@ PyThreadState * CASwigPython::pycliThreadState; /// Load 'CanorusPython' module and initialize classes - defined in SWIG wrapper class -extern "C" void init_CanorusPython(); +extern "C" void PyInit__CanorusPython(); /*! Initializes Python and loads base 'CanorusPython' module. Call this before any other @@ -41,10 +41,10 @@ Py_Initialize(); PyEval_InitThreads(); // our python will use GIL + + PyInit__CanorusPython(); + PyRun_SimpleString("import sys"); - init_CanorusPython(); - PyRun_SimpleString("import sys"); - // add path to scripts to Scripting path if (QDir::searchPaths("scripts").size()) { PyRun_SimpleString((QString("sys.path.append('")+QDir::searchPaths("scripts")[0]+"')").toStdString().c_str()); @@ -141,9 +141,9 @@ PyObject *pyModule; if (autoReload) { PyObject *moduleDict = PyImport_GetModuleDict(); // borrowed ref. - PyObject *ourModuleName = PyString_FromString((char*)moduleName.toStdString().c_str()); // new ref. + PyObject *ourModuleName = PyBytes_FromString((char*)moduleName.toStdString().c_str()); // new ref. pyModule = PyDict_GetItem(moduleDict, ourModuleName); // borrowed ref. - Py_DECREF(ourModuleName); +// Py_DECREF(ourModuleName); // -Matevz if (pyModule == NULL) // not imported yet pyModule = PyImport_ImportModule((char*)moduleName.toStdString().c_str()); @@ -166,11 +166,11 @@ ret = PyEval_CallObject(pyFunction, NULL); if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseLock(); return NULL; } - Py_DECREF(pyFunction); - Py_DECREF(pyModule); +// Py_DECREF(pyFunction); // -Matevz +// Py_DECREF(pyModule); // -Matevz // Py_DECREF(pyArgs); /// \todo Crashes if uncommented?! - for (int i=0; i<args.size(); i++) - Py_DECREF(args[i]); +// for (int i=0; i<args.size(); i++) +// Py_DECREF(args[i]); // -Matevz PyEval_ReleaseLock(); return ret; @@ -223,11 +223,11 @@ ret = PyEval_CallObject(pyFunction, pyArgs); if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseLock(); return NULL; } - Py_DECREF(pyFunction); +// Py_DECREF(pyFunction); // -Matevz // Py_DECREF(pyArgs); /// \todo Crashes if uncommented?!d - Py_DECREF(pyModule); - for (int i=0; i<args.size(); i++) - Py_DECREF(args[i]); +// Py_DECREF(pyModule); // -Matevz +// for (int i=0; i<args.size(); i++) +// Py_DECREF(args[i]); // -Matevz PyThreadState_Swap(mainThreadState); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2015-04-09 11:08:42
|
Revision: 1384 http://sourceforge.net/p/canorus/code/1384 Author: suamor Date: 2015-04-09 11:08:32 +0000 (Thu, 09 Apr 2015) Log Message: ----------- Preliminary Qt5 Support Added Paths: ----------- trunk/CMakeListsQt5.txt trunk/src/CMakeListsQt5.txt Added: trunk/CMakeListsQt5.txt =================================================================== --- trunk/CMakeListsQt5.txt (rev 0) +++ trunk/CMakeListsQt5.txt 2015-04-09 11:08:32 UTC (rev 1384) @@ -0,0 +1,100 @@ +# The name of our project is "Canorus". CMakeLists files in this project can +# refer to the root source directory of the project as ${CANORUS_SOURCE_DIR} +# and to the root binary directory of the project as ${CANORUS_BINARY_DIR}. +PROJECT(Canorus) + +# Don't build anything unless the version of CMake is high enough. +cmake_minimum_required(VERSION 2.6) + +# Disable ruby support by default +SET(NO_RUBY 1) + +# Enable make uninstall rule +CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" + IMMEDIATE @ONLY) + +ADD_CUSTOM_TARGET(uninstall + "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") + +# Set MingW bin dir, if MingW present +IF(MINGW) + STRING(REGEX REPLACE "([^ ]+)[/\\].*" "\\1" MINGW_BIN_DIR "${CMAKE_CXX_COMPILER}") + STRING(REGEX REPLACE "\\\\" "/" MINGW_BIN_DIR "${MINGW_BIN_DIR}") # Replace back slashes to slashes +ENDIF(MINGW) + +# Set Qt5 bin dir to find QtCore5.dll and other libs to install +STRING(REGEX REPLACE "([^ ]+)[/\\].*" "\\1" QT_BIN_DIR "${QT_QMAKE_EXECUTABLE}") +STRING(REGEX REPLACE "\\\\" "/" QT_BIN_DIR "${QT_BIN_DIR}") # Replace back slashes to slashes + +#----------------------------------------------------------------------------- +# Canorus version number. +FILE(READ VERSION CANORUS_VERSION) +STRING(REGEX REPLACE "\n" "" CANORUS_VERSION "${CANORUS_VERSION}") # get rid of the newline at the end + +# Set default install path: +# In *nix environments this is /usr/local +# Under M$ Windows this is C:\Program files\Canorus +# On Mac OS X it is /Applications for the .app and /Library/Fonts for the fonts, but see note below +IF(MINGW) + IF (NOT CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "C:/Program files/Canorus") + ENDIF (NOT CMAKE_INSTALL_PREFIX) + SET(CANORUS_INSTALL_DATA_DIR "") + SET(CANORUS_INSTALL_BIN_DIR "") + SET(CANORUS_INSTALL_LIB_DIR "") + +ELSE(MINGW) +IF(APPLE) + # This is where OSX-specific resources and scripts live. + SET(CANORUS_OSX_DIR ${CMAKE_CURRENT_BINARY_DIR}/macosx) + + # "make install" will always install to macosx/package-contents, + # regardless of any -DCMAKE_INSTALL_PREFIX=foo + # To install locally, build a package and use the OSX installer + # TODO: integrate packaging script into CMake so we can just do "make install" + # or similar and have it install and link the libraries properly + SET(CMAKE_INSTALL_PREFIX "${CANORUS_OSX_DIR}/package-contents") + + SET(CANORUS_OSX_APP_DIR "Canorus.app/Contents") + + SET(CANORUS_INSTALL_BIN_DIR ${CANORUS_OSX_APP_DIR}/MacOS) + SET(CANORUS_INSTALL_DATA_DIR ${CANORUS_OSX_APP_DIR}/Resources) + SET(CANORUS_INSTALL_LIB_DIR ${CANORUS_OSX_APP_DIR}/Resources/lib) +ELSE(APPLE) + IF (NOT CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") + ENDIF (NOT CMAKE_INSTALL_PREFIX) + SET(CANORUS_INSTALL_DATA_DIR "share/canorus") + SET(CANORUS_INSTALL_BIN_DIR "bin") + SET(CANORUS_INSTALL_LIB_DIR "lib") +ENDIF(APPLE) +ENDIF(MINGW) + +#----------------------------------------------------------------------------- +# Search for Qt5. We need the latest version of Qt +SET(QT_MIN_VERSION "5.3.2") + +# this line includes FindQt.cmake, which searches the Qt library and headers +FIND_PACKAGE(Qt5Core REQUIRED) +FIND_PACKAGE(Qt5Gui REQUIRED) +FIND_PACKAGE(Qt5Svg REQUIRED) +FIND_PACKAGE(Qt5Widgets REQUIRED) +FIND_PACKAGE(Qt5LinguistTools REQUIRED) +FIND_PACKAGE(Qt5Xml REQUIRED) +FIND_PACKAGE(Qt5PrintSupport REQUIRED) + +# in the following lines all the requires include directories are added +INCLUDE_DIRECTORIES(src) +INCLUDE_DIRECTORIES(src/zlib) + +# Recurse into the "src" and "doc" subdirectories. This does not actually +# cause another cmake executable to run. The same process will walk through +# the project's entire directory structure. +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(doc) + +# Install README, VERSION, COPYING and other raw txt files +INSTALL(FILES AUTHORS DEVELOPERS COPYING NEWS README VERSION DESTINATION "${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}") + Added: trunk/src/CMakeListsQt5.txt =================================================================== --- trunk/src/CMakeListsQt5.txt (rev 0) +++ trunk/src/CMakeListsQt5.txt 2015-04-09 11:08:32 UTC (rev 1384) @@ -0,0 +1,771 @@ +# Define Sources of this Canorus directory + +INCLUDE(CheckLibraryExists) + +#FIND_PACKAGE(Qt5) + +# This module is used to resolve the file dependencies +# for QT files using an UI (User Interface) Qt file +# created with the Qt4 designer +# INCLUDE(AddFileDependencies) + +IF(NOT CMAKE_BUILD_TYPE) + SET(CMAKE_BUILD_TYPE Debug) +ENDIF(NOT CMAKE_BUILD_TYPE) + +SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fstack-protector-all -Wall -Werror -Wuninitialized -Wtype-limits -Wstack-protector") +SET(CMAKE_C_FLAGS_RELEASE "-O2") + +SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") +SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + +# Build universal binaries on Mac +IF(APPLE) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch ppc -arch i386") + SET(DEFAULT_DATA_DIR "Canorus.app/Contents/Resources") +ENDIF(APPLE) + +####################### +# Scripting detection # +####################### +# The following lines detect scripting environments (SWIG, Ruby, Python etc.) +FIND_PACKAGE(SWIG QUIET) +IF(SWIG_FOUND AND NOT NO_SWIG) + SET(USE_SWIG True) + MESSAGE("SWIG found, using scripting extensions.") +ELSE(SWIG_FOUND AND NOT NO_SWIG) + MESSAGE("SWIG *not* found, disabling SWIG!") + SET(NO_RUBY True) + SET(NO_PYTHON True) +ENDIF(SWIG_FOUND AND NOT NO_SWIG) + +FIND_PACKAGE(Ruby) #Setup RUBY_INCLUDE_PATH and RUBY_LIBRARIES +IF(RUBY_INCLUDE_PATH AND NOT NO_RUBY) + MESSAGE("Ruby Library and Development files found. Ruby extensions enabled.") + SET(USE_RUBY True) + # Create empty file as needed so build does not stop here + FILE(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/scripting/canorusrubyRUBY_wrap.cxx "") +ELSE(RUBY_INCLUDE_PATH AND NOT NO_RUBY) + MESSAGE("Ruby Library and Development files *not* found. Ruby extensions disabled!") + SET(RUBY_LIBRARY "") +ENDIF(RUBY_INCLUDE_PATH AND NOT NO_RUBY) + +FIND_PACKAGE(PythonLibs) +IF(PYTHON_INCLUDE_DIRS AND NOT NO_PYTHON) + MESSAGE("Python Library and Development files found. Python extensions enabled.") + # PYTHON_LIBRARY points to C:\PythonXY\pythonXY.dll + # PYTHON_LIB should point to C:\PythonXY\Lib + STRING(REGEX REPLACE "([^ ]+)[/\\].*" "\\1" PYTHON_LIB "${PYTHON_LIBRARY}") # remove pythonXY.dll + STRING(REGEX REPLACE "\\\\" "/" PYTHON_LIB "${PYTHON_LIB}") # Replace back slashes to slashes + SET( PYTHON_LIB "${PYTHON_LIB}/Lib/" ) # add /Lib/ + + # Needed on some Linux distros (SuSE, Gentoo) to prevent linking issues (openpty, forkpty) + CHECK_LIBRARY_EXISTS(util openpty "" HAVE_OPENPTY) + IF("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") + IF (HAVE_OPENPTY) + SET(PYTHON_LIBRARY ${PYTHON_LIBRARY} util) + ENDIF (HAVE_OPENPTY) + ENDIF("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") + + SET(USE_PYTHON True) +ELSE(PYTHON_INCLUDE_DIRS AND NOT NO_PYTHON) + MESSAGE("Python Library and Development files *not* found. Python extensions disabled!") + SET(PYTHON_LIBRARY "") +ENDIF(PYTHON_INCLUDE_DIRS AND NOT NO_PYTHON) + +################################## +# Poppler detection for printing # +################################## +#FIND_PATH(POPPLER_INCLUDE_PATH +# NAMES poppler-config.h +# PATH_SUFFIXES poppler +# ) +#FIND_LIBRARY(POPPLER_LIBRARY NAMES poppler ) +#FIND_LIBRARY(POPPLERQT4_LIBRARY NAMES poppler-qt4) +#IF(POPPLER_INCLUDE_PATH AND POPPLER_LIBRARY AND POPPLERQT4_LIBRARY) +# MESSAGE("Poppler Libraries found. Printing enabled.") +# MESSAGE("Include path: ${POPPLER_INCLUDE_PATH}" ) +# SET(USE_POPPLER True) +# SET(POPPLER_SOURCE control/printctl.cpp) +# SET(POPPLER_HEADER control/printctl.h) +#ELSE(POPPLER_INCLUDE_PATH AND POPPLER_LIBRARY AND POPPLERQT4_LIBRARY) +# MESSAGE("Poppler Library and Development files *not* found. Printing disabled!") +# MESSAGE("Path ${POPPLER_INCLUDE_PATH}, Lib ${POPPLER_LIBRARIES}") +# SET(POPPLER_LIBRARY "") +# SET(POPPLER_INCLUDE_PATH "") +# SET(POPPLERQT4_LIBRARY "") +# SET(POPPLER_SOURCE "") +# SET(POPPLER_HEADER "") +#ENDIF(POPPLER_INCLUDE_PATH AND POPPLER_LIBRARY AND POPPLERQT4_LIBRARY) + +# Set ZLib sources on windows +FILE(GLOB ZLIB_Srcs "zlib/*.c") + +############################## +# List of Qt4-parsed sources # +############################## +# Define the UI source files used by Canorus +SET(Canorus_UIs # List of .ui forms drawn by qt-designer that need to be compiled + ui/mainwin.ui + ui/settingsdialog.ui + + ui/propertiesdialog.ui + ui/documentproperties.ui + ui/sheetproperties.ui + ui/staffproperties.ui + ui/voiceproperties.ui + ui/lyricscontextproperties.ui + ui/functionmarkcontextproperties.ui + + ui/midirecorder.ui + ui/transposeview.ui +) + +# Define the MOC source files used by Canorus +SET(Canorus_Gui_MOCs # List of classes which Qt needs to produce MOCs for them (in order for events, signals, slots and other macros to work) + core/autorecovery.h + + scoreui/keysignatureui.h + + ui/mainwin.h + ui/settingsdialog.h + ui/propertiesdialog.h + ui/transposeview.h + ui/singleaction.h + + widgets/lcdnumber.h + widgets/view.h + widgets/viewcontainer.h + widgets/scoreview.h + widgets/sourceview.h + widgets/toolbutton.h + widgets/toolbuttonpopup.h + widgets/menutoolbutton.h + widgets/undotoolbutton.h + widgets/pyconsole.h + widgets/midirecorderview.h + widgets/resourceview.h + widgets/helpbrowser.h + widgets/actionseditor.h + widgets/progressstatusbar.h + widgets/tabwidget.h + + control/previewctl.h + control/printctl.h + control/mainwinprogressctl.h + + scorectl/keysignaturectl.h +) + +SET(Canorus_Core_MOCs # MOCs compiled into scripting library as well + import/import.h + export/export.h + export/pdfexport.h + export/svgexport.h + + control/externprogram.h + control/typesetctl.h + + interface/mididevice.h + interface/playback.h + core/midirecorder.h + + interface/pluginaction.h +) + +################ +# Qt4 settings # +################ +# Enable needed Qt modules for Canorus +SET(QT_USE_QTXML True) # Save/Load +SET(QT_USE_QTSVG True) # Icons, Images etc. +SET(QT_USE_QTHELP True) # Inline help browser +SET(QT_USE_QTWEBKIT True) # Inline help browser + +# Add all resources to Canorus_Resrcs (icons, html files etc.) +#SET(Canorus_Resrcs ui/mainwin.qrc) # not needed, all resources are loaded on-the-fly + +# Add all the dependencies needed for the MainWindow +# add_file_dependencies( ui/mainwin.cpp ui/ui_mainwin.h ) + +# This scripts runs the resource compiler rcc. +# The result of it is stored into Canorus_Resrcs_Srcs +# variable. This has to be included later in the +# add_executable line. +QT5_ADD_RESOURCES(Canorus_Resrcs_Srcs ${Canorus_Resrcs}) + +# This scripts runs the user interface compiler uic. +# The result of it is stored into Canorus_UIC_Srcs +# variable. This has to be included later in the +# add_executable line. +QT5_WRAP_UI(Canorus_UIC_Srcs ${Canorus_UIs}) + +# This script runs the meta object compiler moc. +# The result of it is stored into Canorus_Gui_MOC_Srcs and Canorus_Core_MOC_Srcs +# variable. This has to be included later in the +# add_executable line. +QT5_WRAP_CPP(Canorus_Gui_MOC_Srcs ${Canorus_Gui_MOCs}) +QT5_WRAP_CPP(Canorus_Core_MOC_Srcs ${Canorus_Core_MOCs}) + +######################### +# List of other sources # +######################### +SET(Canorus_Core_Srcs # Core sources + core/settings.cpp + core/undocommand.cpp + core/undo.cpp + core/autorecovery.cpp + core/mimedata.cpp + core/file.cpp + core/fileformats.cpp + core/typesetter.cpp + core/tar.cpp + core/archive.cpp + core/midirecorder.cpp + core/muselementfactory.cpp + core/transpose.cpp +) + +SET(Canorus_Score_Srcs # Score representation + score/playablelength.cpp + score/diatonicpitch.cpp + score/interval.cpp + score/diatonickey.cpp + + score/document.cpp + score/resource.cpp + score/sheet.cpp + score/context.cpp + score/staff.cpp + score/functionmarkcontext.cpp + score/figuredbasscontext.cpp + score/lyricscontext.cpp + + score/muselement.cpp + score/voice.cpp + score/barline.cpp + score/clef.cpp + score/keysignature.cpp + score/timesignature.cpp + score/playable.cpp + score/note.cpp + score/slur.cpp + score/tuplet.cpp + score/rest.cpp + score/midinote.cpp + + score/mark.cpp + score/articulation.cpp + score/fermata.cpp + score/repeatmark.cpp + score/tempo.cpp + score/ritardando.cpp + score/text.cpp + score/bookmark.cpp + score/fingering.cpp + score/dynamic.cpp + score/crescendo.cpp + score/instrumentchange.cpp + + score/syllable.cpp + + score/functionmark.cpp + + score/figuredbassmark.cpp +) + +SET(Canorus_Scripting_Srcs # Sources meant for bridging C++<->scripting language + scripting/swigruby.cpp + scripting/swigpython.cpp +) + +SET(Canorus_Widget_Srcs # Sources for all custom widgets present in Canorus + widgets/lcdnumber.cpp + widgets/scoreview.cpp + widgets/sourceview.cpp + widgets/toolbutton.cpp + widgets/toolbuttonpopup.cpp + widgets/menutoolbutton.cpp + widgets/undotoolbutton.cpp + widgets/view.cpp + widgets/viewcontainer.cpp + widgets/pyconsole.cpp + widgets/midirecorderview.cpp + widgets/resourceview.cpp + widgets/helpbrowser.cpp + widgets/actionseditor.cpp + widgets/progressstatusbar.cpp + widgets/tabwidget.cpp +) + +SET(Canorus_Ui_Srcs # Implementations of widgets that have their own .ui qt-designer files + ui/mainwin.cpp + ui/settingsdialog.cpp + ui/propertiesdialog.cpp + ui/transposeview.cpp + ui/singleaction.cpp + + scoreui/keysignatureui.cpp +) + +SET(Canorus_Gui_Ctl_Srcs # Control instances for user interface or views + control/previewctl.cpp + control/printctl.cpp + control/helpctl.cpp + control/mainwinprogressctl.cpp + + scorectl/keysignaturectl.cpp +) + +SET(Canorus_Ctl_Srcs # Control instances for user interface or views and core + control/externprogram.cpp + control/typesetctl.cpp + control/resourcectl.cpp +) + +SET(Canorus_Layout_Srcs # Drawable instances of the data + layout/layoutengine.cpp + + layout/drawable.cpp + + layout/drawablecontext.cpp + layout/drawablestaff.cpp + layout/drawablelyricscontext.cpp + layout/drawablefiguredbasscontext.cpp + layout/drawablefunctionmarkcontext.cpp + + layout/drawablemuselement.cpp + layout/drawablenote.cpp + layout/drawableslur.cpp + layout/drawabletuplet.cpp + layout/drawablerest.cpp + layout/drawablemidinote.cpp + layout/drawableaccidental.cpp + layout/drawableclef.cpp + layout/drawablekeysignature.cpp + layout/drawabletimesignature.cpp + layout/drawablebarline.cpp + layout/drawablemark.cpp + layout/drawablesyllable.cpp + layout/drawablefiguredbassnumber.cpp + layout/drawablefunctionmark.cpp +) + +SET(Canorus_Interface_Srcs # Other interfaces like Engraver, Playback, Plugin manager and others belong here. + interface/playback.cpp + interface/rtmididevice.cpp + interface/mididevice.cpp + interface/pluginmanager.cpp + interface/pluginaction.cpp + interface/plugin.cpp + interface/keybdinput.cpp + + interface/pyconsoleinterface.cpp +) + +SET(Canorus_Export_Srcs # Classes for exporting Canorus data to various file formats + export/export.cpp + export/midiexport.cpp + export/lilypondexport.cpp + export/canorusmlexport.cpp + export/canexport.cpp + export/musicxmlexport.cpp + export/pdfexport.cpp + export/svgexport.cpp +) + +SET(Canorus_Import_Srcs # Classes for import various file formats to Canorus data + import/import.cpp + import/lilypondimport.cpp + import/midiimport.cpp + import/canorusmlimport.cpp + import/canimport.cpp + import/musicxmlimport.cpp +) + +SET(Canorus_RtMidi_Srcs # RtMIDI library + rtmidi/RtMidi.cpp +) + +SET(Canorus_PMIDI_Srcs # PMIDI excerpts + import/pmidi/glib.c + import/pmidi/elements.c + import/pmidi/except.c + import/pmidi/mdutil.c + import/pmidi/midiread.c + import/pmidi/wrapper.c +) + +SET(Canorus_Srcs + main.cpp + canorus.cpp + + ${Canorus_Core_Srcs} + ${Canorus_Score_Srcs} + ${Canorus_Ctl_Srcs} + ${Canorus_Gui_Ctl_Srcs} + ${Canorus_Scripting_Srcs} + ${Canorus_Layout_Srcs} + ${Canorus_Ui_Srcs} + ${Canorus_Interface_Srcs} + ${Canorus_Export_Srcs} + ${Canorus_Import_Srcs} + ${Canorus_RtMidi_Srcs} + ${Canorus_Widget_Srcs} + ${Canorus_PMIDI_Srcs} +) + +SET(Canorus_Swig_Srcs # Sources which Swig needs to build its Python/Ruby module. + ${Canorus_Score_Srcs} + core/transpose.cpp + + core/settings.cpp + core/file.cpp + core/tar.cpp + core/archive.cpp + core/midirecorder.cpp + core/typesetter.cpp + ${Canorus_Import_Srcs} + ${Canorus_Export_Srcs} + ${Canorus_Ctl_Srcs} + ${Canorus_RtMidi_Srcs} + ${Canorus_PMIDI_Srcs} + interface/rtmididevice.cpp + interface/mididevice.cpp + interface/playback.cpp + + interface/pyconsoleinterface.cpp + interface/plugin.cpp + interface/pluginaction.cpp + interface/pluginmanager.cpp + interface/plugins_swig.cpp + scripting/swigpython.cpp + scripting/swigruby.cpp + ${Canorus_Core_MOC_Srcs} +) +IF(MINGW) # Append ZLIB srcs to Swig srcs on Windows + SET( Canorus_Swig_Srcs ${Canorus_Swig_Srcs} ${ZLIB_Srcs} ) +ENDIF(MINGW) + +SET( Canorus_Scripts "scripts" ) # Official scripts shipped with Canorus. + +SET( Canorus_Plugins "plugins" ) # Official plug-ins shipped with Canorus. + +SET( Canorus_Images "ui/images" ) + +SET( Canorus_Examples "../examples" ) + +set_source_files_properties(${Canorus_RtMidi_Srcs} PROPERTIES COMPILE_FLAGS -Wno-stack-protector) +set_source_files_properties(${CANORUS_PYTHON_WRAP_CXX} PROPERTIES COMPILE_FLAGS -Wno-error) + +# Set translation files +FILE(GLOB Canorus_Translation_Srcs "lang/*.ts") # lang/*.ts -> Canorus_Translation_Srcs +STRING(REGEX REPLACE "\\.ts" ".qm" Canorus_Translation_Bins "${Canorus_Translation_Srcs}") # Set Canorus_Translation_Bins to same values as Canorus_Translation_Srcs with different extensions + +SET(Canorus_Fonts # Music fonts needed by Canorus + fonts/CenturySchL-BoldItal.ttf # Century family needed for numbers and signs + fonts/CenturySchL-Bold.ttf + fonts/CenturySchL-Ital.ttf + fonts/CenturySchL-Roma.ttf + fonts/Emmentaler-14.ttf # LilyPond's emmentaler needed for notes, rests, clefs etc. + fonts/FreeSans.ttf # FreeSans needed for function markings +) + +IF(APPLE) + SET(Canorus_OSX_Icon ${CANORUS_OSX_DIR}/files/canorus.icns) + SET(Canorus_OSX_Info ${CANORUS_OSX_DIR}/files/Info.plist) + + SET(Canorus_OSX_Qt_libs + ${QT_QTCORE_LIBRARY}/Versions/4/QtCore + ${QT_QTGUI_LIBRARY}/Versions/4/QtGui + ${QT_QTXML_LIBRARY}/Versions/4/QtXml + ${QT_QTSVG_LIBRARY}/Versions/4/QtSvg + ) +ENDIF(APPLE) + +######################### +# Compiler Define flags # +######################### +# RtMidi cross-platform definitions +IF("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") #IF(LINUX) isn't supported by CMake yet + ADD_DEFINITIONS(-D__LINUX_ALSASEQ__) +ENDIF("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") +IF(APPLE) + ADD_DEFINITIONS(-D__MACOSX_CORE__) +ENDIF(APPLE) +IF(MINGW) + ADD_DEFINITIONS(-D__WINDOWS_MM__) +ENDIF(MINGW) + +# Define default data dir, if under POSIX systems. +IF(NOT MINGW) + IF (NOT DEFAULT_DATA_DIR) + ADD_DEFINITIONS(-DDEFAULT_DATA_DIR=\"${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}\") + ELSE (NOT DEFAULT_DATA_DIR) + ADD_DEFINITIONS(-DDEFAULT_DATA_DIR=\"${DEFAULT_DATA_DIR}\") + ENDIF (NOT DEFAULT_DATA_DIR) +ENDIF(NOT MINGW) + +IF(APPLE) + SET(MACOSX_BUNDLE_INFO_STRING "Free music score editor") + SET(MACOSX_BUNDLE_ICON_FILE canorus.icns) # \todo Copy this file to Applications/canorus.app/Resources when the package is created +ENDIF(APPLE) + +# Define Canorus version +ADD_DEFINITIONS(-DCANORUS_VERSION=\"${CANORUS_VERSION}\") + +# Define Scripting parameters +IF(USE_SWIG) + IF("${SWIG_VERSION}" VERSION_EQUAL "2.0.4" OR "${SWIG_VERSION}" VERSION_GREATER "2.0.4") + CONFIGURE_FILE(scripting/canoruspython_2.i scripting/canoruspython.i COPYONLY) + ELSE("${SWIG_VERSION}" VERSION_EQUAL "2.0.4" OR "${SWIG_VERSION}" VERSION_GREATER "2.0.4") + CONFIGURE_FILE(scripting/canoruspython_1.i scripting/canoruspython.i COPYONLY) + MESSAGE("Warning: Python Swig 1.x support is deprecated") + ENDIF("${SWIG_VERSION}" VERSION_EQUAL "2.0.4" OR "${SWIG_VERSION}" VERSION_GREATER "2.0.4") + ADD_DEFINITIONS(-DUSE_SWIG) +ENDIF(USE_SWIG) +IF(USE_RUBY) + ADD_DEFINITIONS(-DUSE_RUBY) +ENDIF(USE_RUBY) +IF(USE_PYTHON) + ADD_DEFINITIONS(-DUSE_PYTHON) +ENDIF(USE_PYTHON) +#IF(USE_POPPLER) +# ADD_DEFINITIONS(-DUSE_POPPLER) +#ENDIF(USE_POPPLER) + +#################################### +# Include paths and set up targets # +#################################### +# This needs to be added in order for #include to work inside .cpp files - it adds src/ to include path +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) + +# These lines add the include paths of the Qt +# directory to the compiler include paths +INCLUDE_DIRECTORIES(${Qt5Core_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${Qt5Gui_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${Qt5Svg_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${Qt5Widgets_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${Qt5Xml_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${Qt5PrintSupport_INCLUDE_DIRS}) + +IF(USE_SWIG) + INCLUDE(${SWIG_USE_FILE}) + SET(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_SOURCE_DIR}) +ENDIF(USE_SWIG) + +IF(USE_RUBY) + INCLUDE_DIRECTORIES(${RUBY_INCLUDE_PATH}) + SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/scripting/canorusruby.i PROPERTIES CPLUSPLUS ON) + + SET(CANORUS_RUBY_WRAP_CXX ${CMAKE_CURRENT_SOURCE_DIR}/scripting/canorusrubyRUBY_wrap.cxx) + SET_SOURCE_FILES_PROPERTIES(${CANORUS_RUBY_WRAP_CXX} PROPERTIES GENERATED TRUE) + + SWIG_ADD_MODULE(CanorusRuby ruby + ${Canorus_Swig_Srcs} + ${CMAKE_CURRENT_SOURCE_DIR}/scripting/canorusruby.i + ) + SWIG_LINK_LIBRARIES(CanorusRuby ${RUBY_LIBRARY} ${QT_LIBRARIES}) + SET_TARGET_PROPERTIES( ${SWIG_MODULE_CanorusRuby_REAL_NAME} PROPERTIES COMPILE_FLAGS "-DSWIGCPP" ) +ENDIF(USE_RUBY) + +IF(USE_PYTHON) + INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS}) + SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/scripting/canoruspython.i PROPERTIES CPLUSPLUS ON) + + SET(CANORUS_PYTHON_WRAP_CXX ${CMAKE_CURRENT_SOURCE_DIR}/scripting/canoruspythonPYTHON_wrap.cxx) + SET_SOURCE_FILES_PROPERTIES(${CANORUS_PYTHON_WRAP_CXX} PROPERTIES GENERATED TRUE) + + SWIG_ADD_MODULE(CanorusPython python # Warning! CMake renames CanorusPython automatically to _CanorusPython + ${Canorus_Swig_Srcs} + ${CMAKE_CURRENT_SOURCE_DIR}/scripting/canoruspython.i + ) + SWIG_LINK_LIBRARIES(CanorusPython ${PYTHON_LIBRARY} ${QT_LIBRARIES}) + SET_TARGET_PROPERTIES( ${SWIG_MODULE_CanorusPython_REAL_NAME} PROPERTIES COMPILE_FLAGS "-DSWIGCPP" ) +ENDIF(USE_PYTHON) + +#IF(USE_POPPLER) +# INCLUDE_DIRECTORIES(${POPPLER_INCLUDE_PATH}) +#ENDIF(USE_POPPLER) + +# Adds Canorus resource file under Windows (Canorus icon etc.). +IF(MINGW) + # CMake currently doesn't support windres yet. Add command manually + FIND_PROGRAM( + WINDRES_PROGRAM windres.exe PATHS + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin" + c:/MinGW/bin /MinGW/bin + ) + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/canorusrc.obj + COMMAND ${WINDRES_PROGRAM} + -i canorusrc.rc + -o canorusrc.obj + ) + SET(Canorus_Srcs ${Canorus_Srcs} ${ZLIB_Srcs} canorusrc.obj) +ENDIF(MINGW) + +# This line tells cmake to create the Canorus program. +# All dependent libraries like RtMidi must be added here. +# Attention: In contrast to Makefiles don't add "\" to separate lines +ADD_EXECUTABLE(canorus ${Canorus_UIC_Srcs} ${Canorus_Srcs} + ${Canorus_Core_MOC_Srcs} ${Canorus_Gui_MOC_Srcs} ${Canorus_Resrcs_Srcs} + ${CANORUS_RUBY_WRAP_CXX} + ${CANORUS_PYTHON_WRAP_CXX} + ${MACOSX_BUNDLE} # Works only under Apple - adds the application description, icon etc. +) +IF(USE_RUBY) + ADD_DEPENDENCIES(canorus ${SWIG_MODULE_CanorusRuby_REAL_NAME}) # Build scripting modules first and then Canorus exe +ENDIF(USE_RUBY) +IF(USE_PYTHON) + ADD_DEPENDENCIES(canorus ${SWIG_MODULE_CanorusPython_REAL_NAME}) # Build scripting modules first and then Canorus exe +ENDIF(USE_PYTHON) + +# Here the needed Qt Libraries are added to the link +# command. Never remove that line :-) +# Add ${QT_QTTEST_LIBRARY} below to add the Qt Test library as well +# Add ${POPPLERQT4_LIBRARY} ${POPPLER_LIBRARY} to reactivate poppler libraries +TARGET_LINK_LIBRARIES(canorus ${QT_LIBRARIES} ${RUBY_LIBRARY} ${PYTHON_LIBRARY} z pthread ) +# Duma leads to a crash on libfontconfig with Ubuntu (10.04/12.04) +# duma ) + +############################ +# RtMIDI Library additions # +############################ +IF("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") + TARGET_LINK_LIBRARIES(canorus "asound") + IF(USE_PYTHON) + TARGET_LINK_LIBRARIES(${SWIG_MODULE_CanorusPython_REAL_NAME} "asound") + ENDIF(USE_PYTHON) + IF(USE_RUBY) + TARGET_LINK_LIBRARIES(${SWIG_MODULE_CanorusRuby_REAL_NAME} "asound") + ENDIF(USE_RUBY) +ENDIF("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") +IF(APPLE) + TARGET_LINK_LIBRARIES(canorus "-framework CoreMidi") + TARGET_LINK_LIBRARIES(canorus "-framework CoreAudio") + TARGET_LINK_LIBRARIES(canorus "-framework CoreFoundation") + IF(USE_PYTHON) + TARGET_LINK_LIBRARIES(${SWIG_MODULE_CanorusPython_REAL_NAME} "-framework CoreMidi") + TARGET_LINK_LIBRARIES(${SWIG_MODULE_CanorusPython_REAL_NAME} "-framework CoreAudio") + TARGET_LINK_LIBRARIES(${SWIG_MODULE_CanorusPython_REAL_NAME} "-framework CoreFoundation") + ENDIF(USE_PYTHON) + IF(USE_RUBY) + TARGET_LINK_LIBRARIES(${SWIG_MODULE_CanorusRuby_REAL_NAME} "-framework CoreMidi") + TARGET_LINK_LIBRARIES(${SWIG_MODULE_CanorusRuby_REAL_NAME} "-framework CoreAudio") + TARGET_LINK_LIBRARIES(${SWIG_MODULE_CanorusRuby_REAL_NAME} "-framework CoreFoundation") + ENDIF(USE_RUBY) +ENDIF(APPLE) +IF(MINGW) + TARGET_LINK_LIBRARIES(canorus "winmm.lib") + TARGET_LINK_LIBRARIES(canorus "-mwindows") # Disable console output on Windows + IF(USE_PYTHON) + TARGET_LINK_LIBRARIES(${SWIG_MODULE_CanorusPython_REAL_NAME} "winmm.lib") + ENDIF(USE_PYTHON) + IF(USE_RUBY) + TARGET_LINK_LIBRARIES(${SWIG_MODULE_CanorusRuby_REAL_NAME} "winmm.lib") + ENDIF(USE_RUBY) +ENDIF(MINGW) + +############### +# Translation # +############### +ADD_CUSTOM_COMMAND( + TARGET canorus + PRE_BUILD + COMMAND ${QT_BINARY_DIR}/lupdate + ARGS -noobsolete ${Canorus_UIC_Srcs} ${Canorus_Srcs} -ts ${Canorus_Translation_Srcs} lang/template.ts +) +ADD_CUSTOM_COMMAND( + TARGET canorus + PRE_BUILD + COMMAND ${QT_BINARY_DIR}/lrelease + ARGS ${Canorus_Translation_Srcs} +) + +################ +# Installation # +################ +# Install canorus exe and CanorusRuby lib +INSTALL(TARGETS canorus + RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_BIN_DIR} +) +IF(USE_RUBY) + INSTALL(TARGETS ${SWIG_MODULE_CanorusRuby_REAL_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_LIB_DIR}) + INSTALL(TARGETS ${SWIG_MODULE_CanorusRuby_REAL_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}) +ENDIF(USE_RUBY) +IF(USE_PYTHON) + INSTALL(TARGETS ${SWIG_MODULE_CanorusPython_REAL_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_LIB_DIR}) + INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/CanorusPython.py DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_LIB_DIR}) + INSTALL(TARGETS ${SWIG_MODULE_CanorusPython_REAL_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}) + INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/CanorusPython.py DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}) +ENDIF(USE_PYTHON) + +# Install scripts +INSTALL( DIRECTORY ${Canorus_Scripts} DESTINATION "${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}" ) +# Install plugins +INSTALL( DIRECTORY ${Canorus_Plugins} DESTINATION "${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}" ) +# Install data - icons, images, sounds etc. +INSTALL( DIRECTORY ${Canorus_Images} DESTINATION "${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}" ) +# Install translations +INSTALL(FILES ${Canorus_Translation_Bins} DESTINATION "${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}/lang") +# Install fonts +INSTALL(FILES ${Canorus_Fonts} DESTINATION "${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}/fonts") +# Install users manual, if it exists +INSTALL(CODE "FILE(MAKE_DIRECTORY ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}/doc)") +INSTALL(CODE "FILE(MAKE_DIRECTORY ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}/doc/usersguide)") +FILE(GLOB Canorus_Usersguide RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ../doc/usersguide/*.qhc ../doc/usersguide/*.qch) +INSTALL(FILES ${Canorus_Usersguide} DESTINATION "${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}/doc/usersguide") +# Install examples +INSTALL( DIRECTORY ${Canorus_Examples} DESTINATION "${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}" ) + +IF(MINGW) + # Install Qt libs + INSTALL( FILES ${QT_BIN_DIR}/QtCore4.dll ${QT_BIN_DIR}/QtGui4.dll ${QT_BIN_DIR}/QtSvg4.dll ${QT_BIN_DIR}/QtXml4.dll ${QT_BIN_DIR}/QtHelp4.dll ${QT_BIN_DIR}/QtSql4.dll ${QT_BIN_DIR}/QtNetwork4.dll ${QT_BIN_DIR}/QtCLucene4.dll DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_BIN_DIR} ) + + # Install qsvg plugin for rendering SVG icons + INSTALL( FILES ${QT_PLUGINS_DIR}/iconengines/qsvgicon4.dll DESTINATION "${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_BIN_DIR}/iconengines" ) + + # Install mingwm10.dll + INSTALL( FILES ${MINGW_BIN_DIR}/mingwm10.dll DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_BIN_DIR} ) + + # Install Python libs + IF(USE_PYTHON) + INSTALL( FILES ${PYTHON_LIBRARY} DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_BIN_DIR} ) # PythonXY.dll + INSTALL( DIRECTORY ${PYTHON_LIB} DESTINATION "${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_BIN_DIR}/pythonLib" ) # Python .py files + ENDIF(USE_PYTHON) + + # Install Ruby libs + IF(USE_RUBY) + INSTALL( FILES ${RUBY_LIBRARY} DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_BIN_DIR} ) + ENDIF(USE_RUBY) +ENDIF(MINGW) + +IF(APPLE) + # Install icon & Info.plist + INSTALL(FILES ${Canorus_OSX_Icon} DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_DATA_DIR}) + INSTALL(FILES ${Canorus_OSX_Info} DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_OSX_APP_DIR}) + + # FIXME: library installations disabled for now since linking bundled libs doesn't work properly. + # -- Sam 2007.06.09 + + # Install Qt libs + #INSTALL(PROGRAMS ${Canorus_OSX_Qt_libs} DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_LIB_DIR}) + + # Install Python libs + IF(USE_PYTHON) + # OSX build requires a "framework" build of Python + # in CMakeCache.txt PYTHON_LIBRARY is not a file but '-framework Python' + #SET(OSX_PYTHON_LIB /Library/Frameworks/Python.framework/Versions/Current/Python) + #INSTALL(FILES ${OSX_PYTHON_LIB} DESTINATION ${CMAKE_INSTALL_PREFIX}/${CANORUS_INSTALL_LIB_DIR}) + ENDIF(USE_PYTHON) + + # Make a list of source libraries so the packaging script knows which symbols to change + # Bundle Qt libs and Python with the .app, OSX comes with the correct version of Ruby already installed + #SET(OSX_installed_libs_file ${CANORUS_OSX_DIR}/OSX_installed_libs.txt) + #SET(OSX_installed_libs ${Canorus_OSX_Qt_libs} ${OSX_PYTHON_LIB}) + #FILE(WRITE ${OSX_installed_libs_file} "") + #FOREACH(file ${OSX_installed_libs}) + # FILE(APPEND ${OSX_installed_libs_file} "${file}\n") + #ENDFOREACH(file) +ENDIF(APPLE) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2014-12-21 00:30:28
|
Revision: 1383 http://sourceforge.net/p/canorus/code/1383 Author: matevz Date: 2014-12-21 00:30:18 +0000 (Sun, 21 Dec 2014) Log Message: ----------- Added basic MusicXML export. Currently supported are playable elements (notes, rests, pitch, length, dots), measures, clefs, key and time signatures. Modified Paths: -------------- trunk/src/export/musicxmlexport.cpp trunk/src/export/musicxmlexport.h Modified: trunk/src/export/musicxmlexport.cpp =================================================================== --- trunk/src/export/musicxmlexport.cpp 2014-12-17 19:49:47 UTC (rev 1382) +++ trunk/src/export/musicxmlexport.cpp 2014-12-21 00:30:18 UTC (rev 1383) @@ -7,6 +7,7 @@ #include <QString> #include <QDomDocument> +#include <QDomImplementation> #include <QDomElement> #include <QTextStream> @@ -46,30 +47,338 @@ CAMusicXmlExport::CAMusicXmlExport( QTextStream *stream ) : CAExport(stream) { + _xmlDoc = 0; } CAMusicXmlExport::~CAMusicXmlExport() { } /*! - Exports the document to MusicXML format. + Exports the document to MusicXML 3.0 format. It uses DOM object internally for writing the XML output. + + The implementation relies heavily on the tutorial found at musicxml.com. */ -void CAMusicXmlExport::exportDocumentImpl(CADocument *doc) { - //int depth = 0; - +void CAMusicXmlExport::exportSheetImpl(CASheet *sheet) { out().setCodec("UTF-8"); + setCurSheet( sheet ); - // CADocument - QDomDocument dDoc("musicxml"); + // we need to check if the document is not set, for example at exporting the first sheet + if (sheet->document()) { + setCurDocument( sheet->document() ); + } + + // DOCTYPE + QDomImplementation di; + QDomDocument xmlDoc( + di.createDocumentType("score-partwise", "-//Recordare//DTD MusicXML 3.0 Partwise//EN", "http://www.musicxml.org/dtds/partwise.dtd") + ); + _xmlDoc = &xmlDoc; // Add encoding - dDoc.appendChild(dDoc.createProcessingInstruction("xml", - "version=\"1.0\" encoding=\"UTF-8\" ")); + xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml", + "version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"")); // Root node - <canorus-document> - QDomElement dCanorusDocument = dDoc.createElement("musicxml-document"); - dDoc.appendChild(dCanorusDocument); + QDomElement xmlScorePartwise = xmlDoc.createElement("score-partwise"); + xmlScorePartwise.setAttribute("version", "3.0"); + + QDomElement xmlPartList = xmlDoc.createElement("part-list"); + QList<CAStaff*> staffList = sheet->staffList(); + + // first export part information + for (int i=0; i<staffList.size(); i++) { + QDomElement xmlScorePart = xmlDoc.createElement("score-part"); + xmlScorePart.setAttribute("id", QString("P")+QString::number(i+1)); + + QDomElement xmlPartName = xmlDoc.createElement("part-name"); + QDomText xmlPartNameText = xmlDoc.createTextNode(staffList[i]->name()); + xmlPartName.appendChild(xmlPartNameText); + xmlScorePart.appendChild(xmlPartName); + + xmlPartList.appendChild(xmlScorePart); + } + xmlScorePartwise.appendChild(xmlPartList); + + // then export the part content + for (int i=0; i<staffList.size(); i++) { + QDomElement xmlPart = xmlDoc.createElement("part"); + xmlPart.setAttribute("id", QString("P")+QString::number(i+1)); + exportStaffImpl( staffList[i], xmlPart ); + xmlScorePartwise.appendChild(xmlPart); + } + + xmlDoc.appendChild(xmlScorePartwise); + out() << xmlDoc.toString(); +} - out() << dDoc.toString(); +/*! + * Exports the given staff to the provided DOM part element. + */ +void CAMusicXmlExport::exportStaffImpl(CAStaff* staff, QDomElement& xmlPart) { + int measureNumber = 1; + int voicesFinished=0; + + QList<CAVoice*> voiceList = staff->voiceList(); + int *curIndex = new int[voiceList.size()]; // frontline of exported elements + for (int i=0; i<voiceList.size(); i++) { curIndex[i]=0; } + + while (voicesFinished < voiceList.size()) { + // write the measure content + QDomElement xmlMeasure = _xmlDoc->createElement("measure"); + xmlMeasure.setAttribute("number",measureNumber); + + exportMeasure(voiceList, curIndex, xmlMeasure); + + xmlPart.appendChild(xmlMeasure); + + // check the end of staff + voicesFinished=0; + for (int i=0; i<voiceList.size(); i++) { + if (curIndex[i]>=voiceList[i]->musElementList().size()-1) { + // voice is finished, if a final barline is reached (curIndex=size()-1) + // or, if a final note is reached and there is no barline afterwards (curIndex=size()) + voicesFinished++; + } + } + + measureNumber++; + } } + +/*! + * Exports the voice elements at provided indices to the given DOM measure + * element. + */ +void CAMusicXmlExport::exportMeasure(QList<CAVoice*>& voiceList, int *curIndex, QDomElement& xmlMeasure) { + QList<CAMusElement*> attributeChanges; + + // find the target barline which closes the measure + // since barlines are common to all voices, scanning the first voice suffices + // meanwhile, remember any clef/key/time changes + CABarline *targetBarline = 0; + int j=curIndex[0]+1; + while (j<voiceList[0]->musElementList().size() && + voiceList[0]->musElementList()[j]->musElementType()!=CAMusElement::Barline ) { + CAMusElement::CAMusElementType t = voiceList[0]->musElementList()[j-1]->musElementType(); + + if (t==CAMusElement::Clef || t==CAMusElement::TimeSignature || t==CAMusElement::KeySignature) { + attributeChanges << voiceList[0]->musElementList()[j-1]; + } + j++; + } + + if (j<voiceList[0]->musElementList().size()) { + targetBarline = static_cast<CABarline*>(voiceList[0]->musElementList()[j]); + } + + // check for attributes changes in the first pass + QDomElement xmlAttributes = _xmlDoc->createElement("attributes"); + + QDomElement xmlDivisions = _xmlDoc->createElement("divisions"); + QDomText xmlDivisionsText = _xmlDoc->createTextNode(QString::number(32)); // 32 divisions per quarter gives us 128th - the shortest Canorus length + xmlDivisions.appendChild(xmlDivisionsText); + xmlAttributes.appendChild(xmlDivisions); + + for (int i=0; i<attributeChanges.size(); i++) { + switch (attributeChanges[i]->musElementType()) { + case CAMusElement::Clef: { + QDomElement xmlClef = _xmlDoc->createElement("clef"); + exportClef(static_cast<CAClef*>(attributeChanges[i]), xmlClef); + xmlAttributes.appendChild(xmlClef); + break; + } + + case CAMusElement::TimeSignature: { + QDomElement xmlTimeSig = _xmlDoc->createElement("time"); + exportTimeSig(static_cast<CATimeSignature*>(attributeChanges[i]), xmlTimeSig); + xmlAttributes.appendChild(xmlTimeSig); + break; + } + + case CAMusElement::KeySignature: { + QDomElement xmlKeySig = _xmlDoc->createElement("key"); + exportKeySig(static_cast<CAKeySignature*>(attributeChanges[i]), xmlKeySig); + xmlAttributes.appendChild(xmlKeySig); + break; + } + + default: { + break; + } + } + } + xmlMeasure.appendChild(xmlAttributes); + + // TODO: check for dynamics (mf, pp) + + // export notes and rests + for (int i=0; i<voiceList.size(); i++) { + CAVoice *v = voiceList[i]; + while (curIndex[i]<v->musElementList().size() && + v->musElementList()[curIndex[i]]!=targetBarline) { + if (v->musElementList()[curIndex[i]]->isPlayable()) { + CAMusElement *elt = v->musElementList()[curIndex[i]]; + QDomElement xmlNote = _xmlDoc->createElement("note"); + + QDomElement xmlDuration = _xmlDoc->createElement("duration"); + // duration=timeLength/8 comes from the hardcoded divisions (set to 32) + int duration = CAPlayableLength::playableLengthToTimeLength(static_cast<CAPlayable*>(elt)->playableLength()) / 8; + QDomText xmlDurationValue = _xmlDoc->createTextNode(QString::number(duration)); + xmlDuration.appendChild(xmlDurationValue); + xmlNote.appendChild(xmlDuration); + + for (int j=0; j<static_cast<CAPlayable*>(elt)->playableLength().dotted(); j++) { + QDomElement xmlDot = _xmlDoc->createElement("dot"); + xmlNote.appendChild(xmlDot); + } + + QDomElement xmlVoice = _xmlDoc->createElement("voice"); + QDomText xmlVoiceNr = _xmlDoc->createTextNode( QString::number(v->voiceNumber()) ); + xmlVoice.appendChild(xmlVoiceNr); + xmlNote.appendChild(xmlVoice); + + if (elt->musElementType()==CAMusElement::Note) { + exportNote(static_cast<CANote*>(elt), xmlNote); + } else + if (elt->musElementType()==CAMusElement::Rest) { + exportRest(static_cast<CARest*>(elt), xmlNote); + } + xmlMeasure.appendChild(xmlNote); + } + curIndex[i]++; + } + } +} + +void CAMusicXmlExport::exportClef(CAClef* clef, QDomElement& xmlClef) { + QString sign; + int line=0; + switch (clef->clefType()) { + case CAClef::G: sign = "G"; line=2; break; + case CAClef::F: sign = "F"; line=4; break; + case CAClef::PercussionHigh: sign = "percussion"; line=0; break; + case CAClef::PercussionLow: sign = "percussion"; line=0; break; + case CAClef::Tab: sign = "TAB"; line=5; break; + case CAClef::C: sign = "C"; line = (clef->c1()+clef->offset())/2 + 1; break; + default: break; + } + if (sign.size()) { + QDomElement xmlSign = _xmlDoc->createElement("sign"); + QDomText xmlSignValue = _xmlDoc->createTextNode( sign ); + xmlSign.appendChild(xmlSignValue); + xmlClef.appendChild(xmlSign); + } + + if (line) { + QDomElement xmlLine = _xmlDoc->createElement("line"); + QDomText xmlLineValue = _xmlDoc->createTextNode( QString::number(line) ); + xmlLine.appendChild(xmlLineValue); + xmlClef.appendChild(xmlLine); + } + + if (clef->offset()) { + QDomElement xmlClefOctaveChange = _xmlDoc->createElement("clef-octave-change"); + QDomText xmlClefOctaveChangeValue = _xmlDoc->createTextNode( QString::number(clef->offset()/8) ); + xmlClefOctaveChange.appendChild(xmlClefOctaveChangeValue); + xmlClef.appendChild(xmlClefOctaveChange); + } +} + +void CAMusicXmlExport::exportTimeSig(CATimeSignature* time, QDomElement& xmlTime) { + QDomElement xmlBeats = _xmlDoc->createElement("beats"); + QDomText xmlBeatsValue = _xmlDoc->createTextNode( QString::number(time->beats()) ); + xmlBeats.appendChild(xmlBeatsValue); + xmlTime.appendChild(xmlBeats); + + QDomElement xmlBeatType = _xmlDoc->createElement("beat-type"); + QDomText xmlBeatTypeValue = _xmlDoc->createTextNode( QString::number(time->beat()) ); + xmlBeatType.appendChild(xmlBeatTypeValue); + xmlTime.appendChild(xmlBeatType); +} + +void CAMusicXmlExport::exportKeySig(CAKeySignature* key, QDomElement& xmlKey) { + QDomElement xmlFifths = _xmlDoc->createElement("fifths"); + QDomText xmlFifthsValue = _xmlDoc->createTextNode( QString::number(key->diatonicKey().numberOfAccs()) ); + xmlFifths.appendChild(xmlFifthsValue); + xmlKey.appendChild(xmlFifths); + + QString mode; + if (key->diatonicKey().gender()==CADiatonicKey::Major) { + mode = "major"; + } else + if (key->diatonicKey().gender()==CADiatonicKey::Minor) { + mode = "minor"; + } + if (mode.size()) { + QDomElement xmlMode = _xmlDoc->createElement("mode"); + QDomText xmlModeValue = _xmlDoc->createTextNode( mode ); + xmlMode.appendChild(xmlModeValue); + xmlKey.appendChild(xmlMode); + } +} + +void CAMusicXmlExport::exportNote(CANote* note, QDomElement& xmlNote) { + if (note->isPartOfChord() && !note->isFirstInChord()) { + QDomElement xmlChord = _xmlDoc->createElement("chord"); + xmlNote.appendChild(xmlChord); + } + + QString stemDirection; + if (note->stemDirection()==CANote::StemUp || + (note->stemDirection()==CANote::StemPreferred && note->voice()->stemDirection()==CANote::StemUp)) { + stemDirection = "up"; + } else + if (note->stemDirection()==CANote::StemDown || + (note->stemDirection()==CANote::StemPreferred && note->voice()->stemDirection()==CANote::StemDown)) { + stemDirection = "down"; + } + if (stemDirection.size()) { + QDomElement xmlStemDirection = _xmlDoc->createElement("stem"); + QDomText xmlStemDirectionValue = _xmlDoc->createTextNode(stemDirection); + xmlStemDirection.appendChild(xmlStemDirectionValue); + xmlNote.appendChild(xmlStemDirection); + } + + QDomElement xmlPitch = _xmlDoc->createElement("pitch"); + QDomElement xmlStep = _xmlDoc->createElement("step"); + QDomText xmlStepValue = _xmlDoc->createTextNode(QChar(static_cast<char>((note->diatonicPitch().noteName()+2)%7 + 'A'))); + xmlStep.appendChild(xmlStepValue); + xmlPitch.appendChild(xmlStep); + if (note->diatonicPitch().accs()) { + QDomElement xmlAlter = _xmlDoc->createElement("alter"); + QDomText xmlAlterValue = _xmlDoc->createTextNode( QString::number(note->diatonicPitch().accs()) ); + xmlAlter.appendChild(xmlAlterValue); + xmlPitch.appendChild(xmlAlter); + } + QDomElement xmlOctave = _xmlDoc->createElement("octave"); + QDomText xmlOctaveValue = _xmlDoc->createTextNode( QString::number(note->diatonicPitch().noteName()/7) ); + xmlOctave.appendChild(xmlOctaveValue); + xmlPitch.appendChild(xmlOctave); + xmlNote.appendChild(xmlPitch); + + QString type; + switch ( note->playableLength().musicLength() ) { + case CAPlayableLength::Breve: type = "breve"; break; + case CAPlayableLength::Whole: type = "whole"; break; + case CAPlayableLength::Half: type = "half"; break; + case CAPlayableLength::Quarter: type = "quarter"; break; + case CAPlayableLength::Eighth: type ="eighth"; break; + case CAPlayableLength::Sixteenth: type = "16th"; break; + case CAPlayableLength::ThirtySecond: type = "32nd"; break; + case CAPlayableLength::SixtyFourth: type = "64th"; break; + case CAPlayableLength::HundredTwentyEighth: type = "128th"; break; + default: break; + } + if (type.size()) { + QDomElement xmlType = _xmlDoc->createElement("type"); + QDomText xmlTypeValue = _xmlDoc->createTextNode(type); + xmlType.appendChild(xmlTypeValue); + xmlNote.appendChild(xmlType); + } +} + +void CAMusicXmlExport::exportRest(CARest* rest, QDomElement& xmlNote) { + QDomElement xmlRest = _xmlDoc->createElement("rest"); + xmlNote.appendChild(xmlRest); +} Modified: trunk/src/export/musicxmlexport.h =================================================================== --- trunk/src/export/musicxmlexport.h 2014-12-17 19:49:47 UTC (rev 1382) +++ trunk/src/export/musicxmlexport.h 2014-12-21 00:30:18 UTC (rev 1383) @@ -10,13 +10,51 @@ #include "export/export.h" +class CAContext; +class CADocument; +class CAVoice; +class CASheet; +class CAClef; +class CAKeySignature; +class CATimeSignature; +class CANote; +class CARest; + class CAMusicXmlExport : public CAExport { public: CAMusicXmlExport( QTextStream *stream=0 ); virtual ~CAMusicXmlExport(); + inline CAVoice *curVoice() { return _curVoice; } + inline CASheet *curSheet() { return _curSheet; } + inline CADocument *curDocument() { return _curDocument; } + inline CAContext *curContext() { return _curContext; } + inline int curContextIndex() { return _curContextIndex; } + private: - void exportDocumentImpl(CADocument *doc); + void exportSheetImpl(CASheet *s); + void exportStaffImpl( CAStaff*, QDomElement& ); + void exportMeasure( QList<CAVoice*>&, int*, QDomElement& ); + + void exportClef(CAClef*, QDomElement&); + void exportTimeSig(CATimeSignature*, QDomElement&); + void exportKeySig(CAKeySignature*, QDomElement&); + void exportNote(CANote*, QDomElement&); + void exportRest(CARest*, QDomElement&); + + inline void setCurVoice(CAVoice *voice) { _curVoice = voice; } + inline void setCurSheet(CASheet *sheet) { _curSheet = sheet; } + inline void setCurContext(CAContext *context) { _curContext = context; } + inline void setCurContextIndex(int c) { _curContextIndex = c; } + inline void setCurDocument(CADocument *document) { _curDocument = document; } + + CAVoice *_curVoice; + CASheet *_curSheet; + CAContext *_curContext; + CADocument *_curDocument; + int _curContextIndex; + + QDomDocument *_xmlDoc; }; #endif /* MUSICXMLEXPORT_H_ */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2014-12-17 19:49:50
|
Revision: 1382 http://sourceforge.net/p/canorus/code/1382 Author: matevz Date: 2014-12-17 19:49:47 +0000 (Wed, 17 Dec 2014) Log Message: ----------- Removed defunct exportDocumentImpl() from CALilypondExport to avoid confusion with exportSheetImpl(). Modified Paths: -------------- trunk/src/export/lilypondexport.cpp trunk/src/export/lilypondexport.h Modified: trunk/src/export/lilypondexport.cpp =================================================================== --- trunk/src/export/lilypondexport.cpp 2014-12-14 01:29:41 UTC (rev 1381) +++ trunk/src/export/lilypondexport.cpp 2014-12-17 19:49:47 UTC (rev 1382) @@ -779,31 +779,6 @@ } /*! - Exports the current document to Lilypond syntax as a complete .ly file. -*/ -void CALilyPondExport::exportDocumentImpl(CADocument *doc) -{ - out().setCodec("UTF-8"); - if ( doc->sheetList().size() < 1 ) { - //TODO: no sheets, raise an error - return; - } - setCurDocument( doc ); - - // Print file name and Canorus version in comments at the top of the file - out() << "% This document was generated by Canorus, version " << CANORUS_VERSION << "\n"; - - // Version of Lilypond syntax being generated. - out() << "\\version \"2.10.0\"\n"; - - writeDocumentHeader(); - - // For now only export the first sheet of the document - exportSheetImpl( doc->sheetList()[ 0 ] ); -} - - -/*! Exports the current sheet to Lilypond syntax. */ void CALilyPondExport::exportSheetImpl(CASheet *sheet) Modified: trunk/src/export/lilypondexport.h =================================================================== --- trunk/src/export/lilypondexport.h 2014-12-14 01:29:41 UTC (rev 1381) +++ trunk/src/export/lilypondexport.h 2014-12-17 19:49:47 UTC (rev 1382) @@ -40,7 +40,6 @@ inline int curIndentLevel() { return _curIndentLevel; } private: - void exportDocumentImpl(CADocument *doc); void exportSheetImpl(CASheet *sheet); void exportScoreBlock(CASheet *sheet); void exportStaffVoices(CAStaff *staff); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2014-12-14 01:29:54
|
Revision: 1381 http://sourceforge.net/p/canorus/code/1381 Author: matevz Date: 2014-12-14 01:29:41 +0000 (Sun, 14 Dec 2014) Log Message: ----------- Updated Slovenian translation for the Midi offset change. Modified Paths: -------------- trunk/src/lang/sl.ts Modified: trunk/src/lang/sl.ts =================================================================== --- trunk/src/lang/sl.ts 2014-12-14 01:28:49 UTC (rev 1380) +++ trunk/src/lang/sl.ts 2014-12-14 01:29:41 UTC (rev 1381) @@ -39,52 +39,52 @@ <translation>Na&loži Midi bližnjice</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="424"/> - <location filename="../widgets/actionseditor.cpp" line="484"/> + <location filename="../widgets/actionseditor.cpp" line="425"/> + <location filename="../widgets/actionseditor.cpp" line="498"/> <source>Shortcut files</source> <translation>Datoteke z bližnjicami</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="429"/> - <location filename="../widgets/actionseditor.cpp" line="486"/> + <location filename="../widgets/actionseditor.cpp" line="431"/> + <location filename="../widgets/actionseditor.cpp" line="502"/> <source>Midi command files</source> <translation>Datoteke z Midi bližnjicami</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="433"/> + <location filename="../widgets/actionseditor.cpp" line="435"/> <source>Choose a filename</source> <translation>Izberite ime datoteke</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="443"/> + <location filename="../widgets/actionseditor.cpp" line="445"/> <source>Confirm overwrite?</source> <translation>Potrdi prepisovanje?</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="444"/> + <location filename="../widgets/actionseditor.cpp" line="446"/> <source>The file %1 already exists. Do you want to overwrite?</source> <translation>Datoteka %1 že obstaja. Ali želiti prepisati datoteko?</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="456"/> - <location filename="../widgets/actionseditor.cpp" line="495"/> + <location filename="../widgets/actionseditor.cpp" line="458"/> + <location filename="../widgets/actionseditor.cpp" line="511"/> <source>Error</source> <translation>Napaka</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="457"/> + <location filename="../widgets/actionseditor.cpp" line="459"/> <source>The file couldn't be saved</source> <translation>Datoteka ni bila shranjena</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="488"/> + <location filename="../widgets/actionseditor.cpp" line="504"/> <source>Choose a file</source> <translation>Izberite datoteko</translation> </message> <message> - <location filename="../widgets/actionseditor.cpp" line="496"/> + <location filename="../widgets/actionseditor.cpp" line="512"/> <source>The file couldn't be loaded</source> <translation>Datoteka ni bila naložena</translation> </message> @@ -142,6 +142,7 @@ </message> <message> <location filename="../export/export.cpp" line="156"/> + <location filename="../export/export.cpp" line="160"/> <source>Ready</source> <translation>Pripravljen</translation> </message> @@ -154,25 +155,42 @@ <context> <name>CAImport</name> <message> - <location filename="../import/import.cpp" line="197"/> + <location filename="../import/import.cpp" line="199"/> <source>Importing</source> <translation>Uvažanje</translation> </message> <message> - <location filename="../import/import.cpp" line="199"/> + <location filename="../import/import.cpp" line="201"/> <source>Ready</source> <translation>Pripravljen</translation> </message> <message> - <location filename="../import/import.cpp" line="201"/> + <location filename="../import/import.cpp" line="203"/> <source>Unable to open file for reading</source> <translation>Ni mogoče odpreti datoteke za branje</translation> </message> </context> <context> + <name>CAKeySignatureCtl</name> + <message> + <location filename="../scorectl/keysignaturectl.cpp" line="68"/> + <source>change key signature</source> + <comment>undo</comment> + <translation>spreminjanje tonalitete</translation> + </message> +</context> +<context> + <name>CAKeySignatureUI</name> + <message> + <location filename="../scoreui/keysignatureui.cpp" line="38"/> + <source>Key Signature ToolBar</source> + <translation>Orodjarna za tonalitete</translation> + </message> +</context> +<context> <name>CALilyPondExport</name> <message> - <location filename="../export/lilypondexport.cpp" line="710"/> + <location filename="../export/lilypondexport.cpp" line="859"/> <source>arr.</source> <comment>arrangement</comment> <translation>prir.</translation> @@ -186,17 +204,17 @@ <translation>Lilypond uvožen list</translation> </message> <message> - <location filename="../import/lilypondimport.cpp" line="683"/> + <location filename="../import/lilypondimport.cpp" line="719"/> <source>Ready</source> <translation>Pripravljen</translation> </message> <message> - <location filename="../import/lilypondimport.cpp" line="685"/> + <location filename="../import/lilypondimport.cpp" line="721"/> <source>Importing...</source> <translation>Uvažam ...</translation> </message> <message> - <location filename="../import/lilypondimport.cpp" line="687"/> + <location filename="../import/lilypondimport.cpp" line="723"/> <source>Error while importing! Line %1:%2.</source> <translation>Napaka pri uvozu! @@ -206,1202 +224,1191 @@ <context> <name>CAMainWin</name> <message> - <location filename="../ui/mainwin.cpp" line="240"/> + <location filename="../ui/mainwin.cpp" line="246"/> <source>Insert ToolBar</source> <translation>Orodjarna za vstavljanje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="241"/> + <location filename="../ui/mainwin.cpp" line="247"/> <source>Select Context</source> <translation>Izberite trak</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="252"/> + <location filename="../ui/mainwin.cpp" line="258"/> <source>Select Clef</source> <translation>Izberite ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="264"/> + <location filename="../ui/mainwin.cpp" line="270"/> <source>Select Time Signature</source> <translation>Izberite taktovski način</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="273"/> + <location filename="../ui/mainwin.cpp" line="279"/> <source>Select Barline</source> <translation>Izberite taktnico</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="331"/> + <location filename="../ui/mainwin.cpp" line="337"/> <source>Context ToolBar</source> <translation>Orodjarna za trakove</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="345"/> + <location filename="../ui/mainwin.cpp" line="351"/> <source>Voice ToolBar</source> <translation>Orodjarna za glasove</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="356"/> + <location filename="../ui/mainwin.cpp" line="362"/> <source>Select Voice Stem Direction</source> <translation>Izberite smer notnih vratov za glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="362"/> + <location filename="../ui/mainwin.cpp" line="368"/> <source>Playable ToolBar</source> <translation>Orodjarna za note in pavze</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="363"/> + <location filename="../ui/mainwin.cpp" line="369"/> <source>Select Length</source> <translation>Izberite dolžino</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="374"/> + <location filename="../ui/mainwin.cpp" line="380"/> <source>Select Note Stem Direction</source> <translation>Izberite smer notnih vratov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4036"/> + <location filename="../ui/mainwin.cpp" line="4065"/> <source>About Qt</source> <translation>O knjižnici Qt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4040"/> + <location filename="../ui/mainwin.cpp" line="4069"/> <source>About Canorus</source> <translation>O programu Canorus</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1700"/> - <location filename="../ui/mainwin.cpp" line="5349"/> + <location filename="../ui/mainwin.cpp" line="1754"/> + <location filename="../ui/mainwin.cpp" line="5357"/> <source>Staff%1</source> <translation>Črtovje%1</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1315"/> + <location filename="../ui/mainwin.cpp" line="1344"/> <source>Voice%1</source> <translation>Glas%1</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1333"/> - <location filename="../ui/mainwin.cpp" line="1340"/> - <location filename="../ui/mainwin.cpp" line="1368"/> - <location filename="../ui/mainwin.cpp" line="3216"/> + <location filename="../ui/mainwin.cpp" line="1362"/> + <location filename="../ui/mainwin.cpp" line="1369"/> + <location filename="../ui/mainwin.cpp" line="1397"/> + <location filename="../ui/mainwin.cpp" line="3283"/> <source>Canorus</source> <translation>Canorus</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1341"/> + <location filename="../ui/mainwin.cpp" line="1370"/> <source>Are you sure do you want to delete voice %1 and all its notes?</source> <translation>Ali res želite zbrisati glas %1 in vse njegove note?</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1369"/> + <location filename="../ui/mainwin.cpp" line="1398"/> <source>Are you sure do you want to delete context %1 and all its contents?</source> <translation>Ali res želite zbrisati trak %1 in vso njegovo vsebino?</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="334"/> + <location filename="../ui/mainwin.cpp" line="340"/> <source>Context name</source> <translation>Ime traku</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="348"/> + <location filename="../ui/mainwin.cpp" line="354"/> <source>Current Voice number</source> <translation>Trenutna številka glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="355"/> + <location filename="../ui/mainwin.cpp" line="361"/> <source>Voice name</source> <translation>Ime glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="718"/> + <location filename="../ui/mainwin.cpp" line="716"/> <source>Voice stem direction</source> <translation>Smer notnih vratov za glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="680"/> + <location filename="../ui/mainwin.cpp" line="682"/> <source>Playable length</source> <translation>Notna dolžina</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="691"/> + <location filename="../ui/mainwin.cpp" line="693"/> <source>Note stem direction</source> <translation>Smer notnih vratov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="327"/> + <location filename="../ui/mainwin.cpp" line="333"/> <source>Sheet ToolBar</source> <translation>Orodjarna za liste</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1334"/> + <location filename="../ui/mainwin.cpp" line="1363"/> <source>Cannot delete the last voice in the staff!</source> <translation>Ni mogoče zbrisati zadnjega glasu v črtovju!</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="397"/> - <source>Key Signature ToolBar</source> - <translation>Orodjarna za tonalitete</translation> - </message> - <message> - <location filename="../ui/mainwin.cpp" line="402"/> + <location filename="../ui/mainwin.cpp" line="403"/> <source>Time Signature ToolBar</source> <translation>Orodjarna za taktovske načine</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="407"/> + <location filename="../ui/mainwin.cpp" line="408"/> <source>Number of beats</source> <translation>Število dob</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="414"/> + <location filename="../ui/mainwin.cpp" line="415"/> <source>Beat</source> <translation>Doba</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="247"/> + <location filename="../ui/mainwin.cpp" line="253"/> <source>Select Slur Type</source> <translation>Izberite lok</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="254"/> + <location filename="../ui/mainwin.cpp" line="260"/> <source>Treble Clef</source> <translation>Violinski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="256"/> + <location filename="../ui/mainwin.cpp" line="262"/> <source>Bass Clef</source> <translation>Basovski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="261"/> + <location filename="../ui/mainwin.cpp" line="267"/> <source>Alto Clef</source> <translation>Altovski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="249"/> + <location filename="../ui/mainwin.cpp" line="255"/> <source>Tie</source> <translation>Vezaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="250"/> + <location filename="../ui/mainwin.cpp" line="256"/> <source>Slur</source> <translation>Lok</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="251"/> + <location filename="../ui/mainwin.cpp" line="257"/> <source>Phrasing Slur</source> <translation>Frazni lok</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="275"/> + <location filename="../ui/mainwin.cpp" line="281"/> <source>Single Barline</source> <translation>Enojna taktnica</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="276"/> + <location filename="../ui/mainwin.cpp" line="282"/> <source>Double Barline</source> <translation>Dvojna taktnica</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="277"/> + <location filename="../ui/mainwin.cpp" line="283"/> <source>End Barline</source> <translation>Končaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="278"/> + <location filename="../ui/mainwin.cpp" line="284"/> <source>Dotted Barline</source> <translation>Črtkasta taktnica</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="279"/> + <location filename="../ui/mainwin.cpp" line="285"/> <source>Repeat Open</source> <translation>Ponavljaj Odprt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="280"/> + <location filename="../ui/mainwin.cpp" line="286"/> <source>Repeat Closed</source> <translation>Ponavljaj Zaprt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="358"/> + <location filename="../ui/mainwin.cpp" line="364"/> <source>Voice Stems Neutral</source> <translation>Smeri vratov za glas Nevtralne</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="359"/> + <location filename="../ui/mainwin.cpp" line="365"/> <source>Voice Stems Up</source> <translation>Smeri vratov za glas Gor</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="360"/> + <location filename="../ui/mainwin.cpp" line="366"/> <source>Voice Stems Down</source> <translation>Smeri vratov za glas Dol</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="376"/> + <location filename="../ui/mainwin.cpp" line="382"/> <source>Note Stem Neutral</source> <translation>Smer vratu Nevtralna</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="377"/> + <location filename="../ui/mainwin.cpp" line="383"/> <source>Note Stem Up</source> <translation>Smer vratu Gor</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="378"/> + <location filename="../ui/mainwin.cpp" line="384"/> <source>Note Stem Down</source> <translation>Smer vratu Dol</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="379"/> + <location filename="../ui/mainwin.cpp" line="385"/> <source>Note Stem Preferred</source> <translation>Smer vratu Priporočena</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="281"/> + <location filename="../ui/mainwin.cpp" line="287"/> <source>Repeat Closed-Open</source> <translation>Ponavljaj Zaprt-Odprt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="442"/> - <location filename="../ui/mainwin.cpp" line="460"/> - <location filename="../ui/mainwin.cpp" line="468"/> + <location filename="../ui/mainwin.cpp" line="443"/> + <location filename="../ui/mainwin.cpp" line="461"/> + <location filename="../ui/mainwin.cpp" line="469"/> <source>Tonic</source> <translation>Tonika</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="443"/> - <location filename="../ui/mainwin.cpp" line="461"/> - <location filename="../ui/mainwin.cpp" line="470"/> + <location filename="../ui/mainwin.cpp" line="444"/> + <location filename="../ui/mainwin.cpp" line="462"/> + <location filename="../ui/mainwin.cpp" line="471"/> <source>Subdominant</source> <translation>Subdominanta</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="444"/> - <location filename="../ui/mainwin.cpp" line="462"/> - <location filename="../ui/mainwin.cpp" line="472"/> + <location filename="../ui/mainwin.cpp" line="445"/> + <location filename="../ui/mainwin.cpp" line="463"/> + <location filename="../ui/mainwin.cpp" line="473"/> <source>Dominant</source> <translation>Dominanta</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="445"/> - <location filename="../ui/mainwin.cpp" line="473"/> + <location filename="../ui/mainwin.cpp" line="446"/> + <location filename="../ui/mainwin.cpp" line="474"/> <source>II</source> <translation>II</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="446"/> - <location filename="../ui/mainwin.cpp" line="474"/> + <location filename="../ui/mainwin.cpp" line="447"/> + <location filename="../ui/mainwin.cpp" line="475"/> <source>III</source> <translation>III</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="447"/> - <location filename="../ui/mainwin.cpp" line="475"/> + <location filename="../ui/mainwin.cpp" line="448"/> + <location filename="../ui/mainwin.cpp" line="476"/> <source>VI</source> <translation>VI</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="448"/> - <location filename="../ui/mainwin.cpp" line="476"/> + <location filename="../ui/mainwin.cpp" line="449"/> + <location filename="../ui/mainwin.cpp" line="477"/> <source>VII</source> <translation>VII</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="449"/> + <location filename="../ui/mainwin.cpp" line="450"/> <source>Cadenze</source> <translation>Kadenčni</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="450"/> - <location filename="../ui/mainwin.cpp" line="463"/> - <location filename="../ui/mainwin.cpp" line="469"/> + <location filename="../ui/mainwin.cpp" line="451"/> + <location filename="../ui/mainwin.cpp" line="464"/> + <location filename="../ui/mainwin.cpp" line="470"/> <source>minor Tonic</source> <translation>molova Tonika</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="451"/> - <location filename="../ui/mainwin.cpp" line="464"/> - <location filename="../ui/mainwin.cpp" line="471"/> + <location filename="../ui/mainwin.cpp" line="452"/> + <location filename="../ui/mainwin.cpp" line="465"/> + <location filename="../ui/mainwin.cpp" line="472"/> <source>minor Subdominant</source> <translation>molova Subdominanta</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="452"/> + <location filename="../ui/mainwin.cpp" line="453"/> <source>Napolitan</source> <translation>Napolitanski</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="453"/> + <location filename="../ui/mainwin.cpp" line="454"/> <source>Phrygian</source> <translation>Frigijski</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="454"/> + <location filename="../ui/mainwin.cpp" line="455"/> <source>Lydian</source> <translation>Lidijski</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="455"/> + <location filename="../ui/mainwin.cpp" line="456"/> <source>IV</source> <translation>IV</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="456"/> + <location filename="../ui/mainwin.cpp" line="457"/> <source>V</source> <translation>V</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="440"/> + <location filename="../ui/mainwin.cpp" line="441"/> <source>Select Function Name</source> <translation>Izberite funkcijsko oznako</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="458"/> + <location filename="../ui/mainwin.cpp" line="459"/> <source>Select Chord Area</source> <translation>Izberite akordično območje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="466"/> + <location filename="../ui/mainwin.cpp" line="467"/> <source>Select Tonic Degree</source> <translation>Izberite stopnjo tonike</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="243"/> + <location filename="../ui/mainwin.cpp" line="249"/> <source>New Staff</source> <translation>Novo črtovje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="244"/> + <location filename="../ui/mainwin.cpp" line="250"/> <source>New Lyrics context</source> <translation>Novo besedilo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1717"/> - <location filename="../ui/mainwin.cpp" line="5363"/> + <location filename="../ui/mainwin.cpp" line="1771"/> + <location filename="../ui/mainwin.cpp" line="5371"/> <source>LyricsContext%1</source> <translation>Besedilo%1</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="337"/> + <location filename="../ui/mainwin.cpp" line="343"/> <source>Stanza number</source> <translation>Številka kitice</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="342"/> + <location filename="../ui/mainwin.cpp" line="348"/> <source>Associated voice</source> <translation>Dodeljen glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1292"/> + <location filename="../ui/mainwin.cpp" line="1321"/> <source>new sheet</source> <comment>undo</comment> <translation>nov list</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1313"/> + <location filename="../ui/mainwin.cpp" line="1342"/> <source>new voice</source> <comment>undo</comment> <translation>nov glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1347"/> + <location filename="../ui/mainwin.cpp" line="1376"/> <source>voice removal</source> <comment>undo</comment> <translation>odstranitev glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1375"/> + <location filename="../ui/mainwin.cpp" line="1404"/> <source>context removal</source> <comment>undo</comment> <translation>odstranitev traku</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1696"/> + <location filename="../ui/mainwin.cpp" line="1750"/> <source>new staff</source> <comment>undo</comment> <translation>novo črtovje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="1708"/> + <location filename="../ui/mainwin.cpp" line="1762"/> <source>new lyrics context</source> <comment>undo</comment> <translation>novo besedilo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2034"/> + <location filename="../ui/mainwin.cpp" line="2093"/> <source>insert barline</source> <comment>undo</comment> <translation>vstavljanje taktnice</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2066"/> + <location filename="../ui/mainwin.cpp" line="2125"/> <source>rise note</source> <comment>undo</comment> <translation>višanje note</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2104"/> + <location filename="../ui/mainwin.cpp" line="2163"/> <source>lower note</source> <comment>undo</comment> <translation>nižanje note</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2149"/> + <location filename="../ui/mainwin.cpp" line="2208"/> <source>add sharp</source> <comment>undo</comment> <translation>dodajanje višaja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2183"/> + <location filename="../ui/mainwin.cpp" line="2242"/> <source>add flat</source> <comment>undo</comment> <translation>dodajanje nižaja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2210"/> + <location filename="../ui/mainwin.cpp" line="2269"/> <source>set dotted</source> <comment>undo</comment> <translation>punktacijo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5091"/> + <location filename="../ui/mainwin.cpp" line="5099"/> <source>deletion of elements</source> <comment>undo</comment> <translation>brisanje elementov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="2388"/> + <location filename="../ui/mainwin.cpp" line="2447"/> <source>insertion of music element</source> <comment>undo</comment> <translation>dodajanje elementov</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3327"/> + <location filename="../ui/mainwin.cpp" line="3362"/> <source>change voice name</source> <comment>undo</comment> <translation>spreminjanje imena glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3483"/> + <location filename="../ui/mainwin.cpp" line="3518"/> <source>lyrics edit</source> <comment>undo</comment> <translation>spreminjanje besedila</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3952"/> + <location filename="../ui/mainwin.cpp" line="3980"/> <source>commit CanorusML source</source> <comment>undo</comment> <translation>potrditev CanorusML izvorne kode</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3971"/> - <location filename="../ui/mainwin.cpp" line="4006"/> + <location filename="../ui/mainwin.cpp" line="3999"/> + <location filename="../ui/mainwin.cpp" line="4035"/> <source>commit LilyPond source</source> <comment>undo</comment> <translation>potrditev LilyPond izvorne kode</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4124"/> + <location filename="../ui/mainwin.cpp" line="4153"/> <source>deletion of the sheet</source> <comment>undo</comment> <translation>brisanje lista</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4183"/> + <location filename="../ui/mainwin.cpp" line="4212"/> <source>change sheet name</source> <comment>undo</comment> <translation>spreminjanje imena lista</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4203"/> + <location filename="../ui/mainwin.cpp" line="4232"/> <source>change context name</source> <comment>undo</comment> <translation>spreminjanje imena traku</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4222"/> + <location filename="../ui/mainwin.cpp" line="4251"/> <source>change stanza number</source> <comment>undo</comment> <translation>spreminjanje številke kitice</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4234"/> + <location filename="../ui/mainwin.cpp" line="4263"/> <source>change associated voice</source> <comment>undo</comment> <translation>dodeljevanje glasu</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4245"/> + <location filename="../ui/mainwin.cpp" line="4274"/> <source>change voice stem direction</source> <comment>undo</comment> <translation>spreminjanje smeri vratov za glas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4262"/> + <location filename="../ui/mainwin.cpp" line="4291"/> <source>change note stem direction</source> <comment>undo</comment> <translation>spreminjanje smeri vratov not</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="4908"/> + <location filename="../ui/mainwin.cpp" line="4916"/> <source>cut</source> <comment>undo</comment> <translation>rezanje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="5323"/> + <location filename="../ui/mainwin.cpp" line="5331"/> <source>paste</source> <comment>undo</comment> <translation>lepljenje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="602"/> + <location filename="../ui/mainwin.cpp" line="604"/> <source>Undo</source> <translation>Razveljavi</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="609"/> + <location filename="../ui/mainwin.cpp" line="611"/> <source>Redo</source> <translation>Uveljavi</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="351"/> + <location filename="../ui/mainwin.cpp" line="357"/> <source>Voice instrument</source> <translation>Inštrument</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="255"/> + <location filename="../ui/mainwin.cpp" line="261"/> <source>French Clef</source> <translation>Francoski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="257"/> + <location filename="../ui/mainwin.cpp" line="263"/> <source>Varbaritone Clef</source> <translation>Varbaritonski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="258"/> + <location filename="../ui/mainwin.cpp" line="264"/> <source>Subbass Clef</source> <translation>Subbasovski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="259"/> + <location filename="../ui/mainwin.cpp" line="265"/> <source>Soprano Clef</source> <translation>Sopranski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="260"/> + <location filename="../ui/mainwin.cpp" line="266"/> <source>Mezzosoprano Clef</source> <translation>Mezzosopranski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="262"/> + <location filename="../ui/mainwin.cpp" line="268"/> <source>Tenor Clef</source> <translation>Tenorski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="263"/> + <location filename="../ui/mainwin.cpp" line="269"/> <source>Baritone Clef</source> <translation>Baritonski ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="416"/> + <location filename="../ui/mainwin.cpp" line="417"/> <source>Clef ToolBar</source> <translation>Orodjarna za ključe</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="423"/> + <location filename="../ui/mainwin.cpp" line="424"/> <source>Clef offset</source> <translation>Odmik ključa</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3309"/> + <location filename="../ui/mainwin.cpp" line="3344"/> <source>change clef offset</source> <comment>undo</comment> <translation>spreminjanje odmika ključa</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3614"/> + <location filename="../ui/mainwin.cpp" line="3649"/> <source>change function</source> <comment>undo</comment> <translation>spreminjanje funkcije</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="457"/> - <location filename="../ui/mainwin.cpp" line="465"/> + <location filename="../ui/mainwin.cpp" line="458"/> + <location filename="../ui/mainwin.cpp" line="466"/> <source>None</source> <translation>Brez</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3637"/> + <location filename="../ui/mainwin.cpp" line="3672"/> <source>change chord area</source> <comment>undo</comment> <translation>spreminjanje akordičnega območja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3660"/> + <location filename="../ui/mainwin.cpp" line="3695"/> <source>change tonic degree</source> <comment>undo</comment> <translation>spreminjanje glavne veje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3682"/> + <location filename="../ui/mainwin.cpp" line="3717"/> <source>set/unset ellipse</source> <comment>undo</comment> <translation>elipse</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="3270"/> - <source>change key signature</source> - <comment>undo</comment> - <translation>spreminjanje tonalitete</translation> - </message> - <message> - <location filename="../ui/mainwin.cpp" line="3391"/> + <location filename="../ui/mainwin.cpp" line="3426"/> <source>change playable length</source> <comment>undo</comment> <translation>spreminjanje dolžine</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="282"/> + <location filename="../ui/mainwin.cpp" line="288"/> <source>Select Mark</source> <translation>Izberite Oznako</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="284"/> + <location filename="../ui/mainwin.cpp" line="290"/> <source>Tempo</source> <translation>Tempo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="285"/> + <location filename="../ui/mainwin.cpp" line="291"/> <source>Ritardando</source> <translation>Ritardando</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="286"/> + <location filename="../ui/mainwin.cpp" line="292"/> <source>Accellerando</source> <translation>Accellerando</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="287"/> + <location filename="../ui/mainwin.cpp" line="293"/> <source>Dynamic</source> <translation>Dinamika</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="288"/> + <location filename="../ui/mainwin.cpp" line="294"/> <source>Crescendo</source> <translation>Crescendo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="289"/> + <location filename="../ui/mainwin.cpp" line="295"/> <source>Decrescendo</source> <translation>Decrescendo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="291"/> + <location filename="../ui/mainwin.cpp" line="297"/> <source>Arbitrary Text</source> <translation>Poljubni napis</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="294"/> + <location filename="../ui/mainwin.cpp" line="300"/> <source>Bookmark</source> <translation>Zaznamek</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="295"/> + <location filename="../ui/mainwin.cpp" line="301"/> <source>Rehersal Mark</source> <translation>Vadbena Oznaka</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="290"/> + <location filename="../ui/mainwin.cpp" line="296"/> <source>Fermata</source> <translation>Korona</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="292"/> + <location filename="../ui/mainwin.cpp" line="298"/> <source>Repeat Mark</source> <translation>Oznake za ponavljanje</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="297"/> - <location filename="../ui/mainwin.cpp" line="517"/> + <location filename="../ui/mainwin.cpp" line="303"/> + <location filename="../ui/mainwin.cpp" line="518"/> <source>Instrument Change</source> <translation>Sprememba inštrumenta</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="296"/> + <location filename="../ui/mainwin.cpp" line="302"/> <source>Fingering</source> <translation>Prstni red</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="245"/> + <location filename="../ui/mainwin.cpp" line="251"/> <source>New Figured Bass context</source> <translation>Nove generalbasne oznake</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="298"/> + <location filename="../ui/mainwin.cpp" line="304"/> <source>Articulation Mark</source> <translation>Artikulacijske oznake</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="300"/> + <location filename="../ui/mainwin.cpp" line="306"/> <source>Accent</source> <translation>Akcent</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="301"/> + <location filename="../ui/mainwin.cpp" line="307"/> <source>Marcato</source> <translation>Marcato</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="302"/> + <location filename="../ui/mainwin.cpp" line="308"/> <source>Stacatissimo</source> <translation>Stacatissimo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="303"/> + <location filename="../ui/mainwin.cpp" line="309"/> <source>Espressivo</source> <translation>Espressivo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="304"/> + <location filename="../ui/mainwin.cpp" line="310"/> <source>Staccato</source> <translation>Staccato</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="305"/> + <location filename="../ui/mainwin.cpp" line="311"/> <source>Tenuto</source> <translation>Tenuto</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="306"/> + <location filename="../ui/mainwin.cpp" line="312"/> <source>Portato</source> <translation>Portato</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="307"/> + <location filename="../ui/mainwin.cpp" line="313"/> <source>UpBow</source> <translation>Lok Gor</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="308"/> + <location filename="../ui/mainwin.cpp" line="314"/> <source>DownBow</source> <translation>Lok Dol</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="309"/> + <location filename="../ui/mainwin.cpp" line="315"/> <source>Flageloet</source> <translation>Flageloet</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="310"/> + <location filename="../ui/mainwin.cpp" line="316"/> <source>Open</source> <translation>Odprt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="311"/> + <location filename="../ui/mainwin.cpp" line="317"/> <source>Stopped</source> <translation>Zaprt</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="312"/> + <location filename="../ui/mainwin.cpp" line="318"/> <source>Turn</source> <translation>Okrasek</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="313"/> + <location filename="../ui/mainwin.cpp" line="319"/> <source>ReverseTurn</source> <translation>Obrnjen okrasek</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="314"/> + <location filename="../ui/mainwin.cpp" line="320"/> <source>Trill</source> <translation>Tril</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="315"/> + <location filename="../ui/mainwin.cpp" line="321"/> <source>Prall</source> <translation>Pral</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="316"/> + <location filename="../ui/mainwin.cpp" line="322"/> <source>Mordent</source> <translation>Mordent</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="317"/> + <location filename="../ui/mainwin.cpp" line="323"/> <source>Prall-Prall</source> <translation>Pral-Pral</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="318"/> + <location filename="../ui/mainwin.cpp" line="324"/> <source>Prall-Mordent</source> <translation>Pral-Mordent</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="319"/> + <location filename="../ui/mainwin.cpp" line="325"/> <source>Up-Prall</source> <translation>Zgornji Pral</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="320"/> + <location filename="../ui/mainwin.cpp" line="326"/> <source>Down-Prall</source> <translation>Spodnji Pral</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="321"/> + <location filename="../ui/mainwin.cpp" line="327"/> <source>Up-Mordent</source> <translation>Zgornji Mordent</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="322"/> + <location filename="../ui/mainwin.cpp" line="328"/> <source>Down-Mordent</source> <translation>Spodnji Mordent</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="323"/> + <location filename="../ui/mainwin.cpp" line="329"/> <source>Prall-Down</source> <translation>Pral zaključen dol</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="324"/> + <location filename="../ui/mainwin.cpp" line="330"/> <source>Prall-Up</source> <translation>Pral zaključen gor</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="325"/> + <location filename="../ui/mainwin.cpp" line="331"/> <source>Line-Prall</source> <translation>Linijski Pral</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="425"/> + <location filename="../ui/mainwin.cpp" line="426"/> <source>Figured bass ToolBar</source> <translation>Orodjarna za generalbas</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="426"/> + <location filename="../ui/mainwin.cpp" line="427"/> <source>Set/Unset Figured bass number</source> <translation>Vklopi/Izklopi generalbasno številko</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="431"/> + <location filename="../ui/mainwin.cpp" line="432"/> <source>Set/Unset Figured bass accidentals</source> <translation>Pokaži/Skrij generalbasni predznak</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="433"/> + <location filename="../ui/mainwin.cpp" line="434"/> <source>Double flat</source> <translation>Dvojni nižaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="434"/> + <location filename="../ui/mainwin.cpp" line="435"/> <source>Flat</source> <translation>Nižaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="435"/> + <location filename="../ui/mainwin.cpp" line="436"/> <source>Neutral</source> <translation>Razveznik</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="436"/> + <location filename="../ui/mainwin.cpp" line="437"/> <source>Sharp</source> <translation>Višaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="437"/> + <location filename="../ui/mainwin.cpp" line="438"/> <source>Double sharp</source> <translation>Dvojni višaj</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="624"/> + <location filename="../ui/mainwin.cpp" line="626"/> <source>Insert context</source> <translation>Vstavi trak</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="630"/> + <location filename="../ui/mainwin.cpp" line="632"/> <source>Insert slur</source> <translation>Vstavi lok</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="634"/> + <location filename="../ui/mainwin.cpp" line="636"/> <source>Insert clef</source> <translation>Vstavi ključ</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="639"/> + <location filename="../ui/mainwin.cpp" line="641"/> <source>Insert time signature</source> <translation>Vstavi taktovski način</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="643"/> + <location filename="../ui/mainwin.cpp" line="645"/> <source>Insert barline</source> <translation>Vstavi taktnico</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="647"/> + <location filename="../ui/mainwin.cpp" line="649"/> <source>Insert mark</source> <translation>Vstavi oznako</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="651"/> + <location filename="../ui/mainwin.cpp" line="653"/> <source>Insert articulation mark</source> <translation>Vstavi artikulacijsko oznako</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="481"/> + <location filename="../ui/mainwin.cpp" line="482"/> <source>Dynamic marks ToolBar</source> <translation>Orodjarna za dinamiko</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="482"/> + <location filename="../ui/mainwin.cpp" line="483"/> <source>Select Dynamic</source> <translation>Izberite Dinamiko</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="484"/> + <location filename="../ui/mainwin.cpp" line="485"/> <source>Piano</source> <comment>dynamics</comment> <translation>Piano</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="485"/> <location filename="../ui/mainwin.cpp" line="486"/> <location filename="../ui/mainwin.cpp" line="487"/> <location filename="../ui/mainwin.cpp" line="488"/> + <location filename="../ui/mainwin.cpp" line="489"/> <source>Pianissimo</source> <comment>dynamics</comment> <translation>Pianissimo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="489"/> + <location filename="../ui/mainwin.cpp" line="490"/> <source>Forte</source> <comment>dynamics</comment> <translation>Forte</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="490"/> <location filename="../ui/mainwin.cpp" line="491"/> <location filename="../ui/mainwin.cpp" line="492"/> <location filename="../ui/mainwin.cpp" line="493"/> + <location filename="../ui/mainwin.cpp" line="494"/> <source>Fortissimo</source> <comment>dynamics</comment> <translation>Fortissimo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="494"/> + <location filename="../ui/mainwin.cpp" line="495"/> <source>Mezzo Forte</source> <comment>dynamics</comment> <translation>Mezzo Forte</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="495"/> + <location filename="../ui/mainwin.cpp" line="496"/> <source>Mezzo Piano</source> <comment>dynamics</comment> <translation>Mezzo Piano</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="496"/> + <location filename="../ui/mainwin.cpp" line="497"/> <source>Forte Piano</source> <comment>dynamics</comment> <translation>Forte Piano</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="497"/> + <location filename="../ui/mainwin.cpp" line="498"/> <source>Sforzando Forte</source> <comment>dynamics</comment> <translation>Sforzando Forte</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="498"/> + <location filename="../ui/mainwin.cpp" line="499"/> <source>Sforzando Piano</source> <comment>dynamics</comment> <translation>Sforzando Piano</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="499"/> + <location filename="../ui/mainwin.cpp" line="500"/> <source>Sforzando</source> <comment>dynamics</comment> <translation>Sforzando</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="500"/> + <location filename="../ui/mainwin.cpp" line="501"/> <source>Rinforzando</source> <comment>dynamics</comment> <translation>Rinforzando</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="501"/> + <location filename="../ui/mainwin.cpp" line="502"/> <source>Sforzando Pianissimo</source> <comment>dynamics</comment> <translation>Sforzando Pianissimo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="502"/> + <location filename="../ui/mainwin.cpp" line="503"/> <source>Sforzando Fortissimo</source> <comment>dynamics</comment> <translation>Sforzando Fortissimo</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="503"/> + <location filename="../ui/mainwin.cpp" line="504"/> <source>Custom</source> <comment>dynamics</comment> <translation>Poljubno</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="506"/> + <location filename="../ui/mainwin.cpp" line="507"/> <source>Playback Volume</source> <translation>Jakost izvajanja</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="512"/> + <location filename="../ui/mainwin.cpp" line="513"/> <source>Dynamic mark text</source> <translation>Besedilo v dinamični oznaki</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="756"/> + <location filename="../ui/mainwin.cpp" line="753"/> <source>Predefined dynamic mark</source> <translation>Prednastavljene oznake</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="514"/> + <location filename="../ui/mainwin.cpp" line="515"/> <source>Instrument ToolBar</source> <translation>Orodjarna za inštrumente</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="365"/> + <location filename="../ui/mainwin.cpp" line="371"/> <source>Breve</source> <comment>note</comment> <translation>Brevis</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="366"/> + <location filename="../ui/mainwin.cpp" line="372"/> <source>Whole</source> <comment>note</comment> <translation>Celinka</translation> </message> <message> - <location filename="../ui/mainwin.cpp" line="367"/> - <location filename="../ui/mainwin.cpp" line="524"/> + <location filename="../ui/mainwin.cpp" line="373"/> + <location filename="../ui/mainwin.cpp" line="525"/> <source>Half</source> <comment>note</comment> <translation>Polovinka</translatio... [truncated message content] |
From: <ma...@us...> - 2014-12-14 01:28:57
|
Revision: 1380 http://sourceforge.net/p/canorus/code/1380 Author: matevz Date: 2014-12-14 01:28:49 +0000 (Sun, 14 Dec 2014) Log Message: ----------- CATempo: Removed obsolete dotted property (already contained in CAPlayableLength) Lilypond export: Added support for CATempo and CARitardando. Scoreview: Fixed crash when adding lines marks (cresc., rit., accel. etc.) Modified Paths: -------------- trunk/src/export/lilypondexport.cpp trunk/src/score/tempo.cpp trunk/src/score/tempo.h trunk/src/widgets/scoreview.cpp Modified: trunk/src/export/lilypondexport.cpp =================================================================== --- trunk/src/export/lilypondexport.cpp 2014-12-14 01:03:52 UTC (rev 1379) +++ trunk/src/export/lilypondexport.cpp 2014-12-14 01:28:49 UTC (rev 1380) @@ -21,6 +21,8 @@ #include "score/fingering.h" #include "score/dynamic.h" #include "score/text.h" +#include "score/tempo.h" +#include "score/ritardando.h" #include "score/tuplet.h" /*! @@ -357,8 +359,18 @@ break; } - case CAMark::Tempo: - case CAMark::Ritardando: + case CAMark::Tempo: { + CATempo *t = static_cast<CATempo*>(curMark); + out() << "\\tempo " << playableLengthToLilyPond(t->beat()) << " = " << t->bpm() << " "; + + break; + } + case CAMark::Ritardando: { + CARitardando *r = static_cast<CARitardando*>(curMark); + out() << "^\\markup{ \\text \\italic \"" << ((r->ritardandoType()==CARitardando::Ritardando)?"rit.":"accel.") << "\"} "; + + break; + } case CAMark::Crescendo: case CAMark::Pedal: case CAMark::InstrumentChange: Modified: trunk/src/score/tempo.cpp =================================================================== --- trunk/src/score/tempo.cpp 2014-12-14 01:03:52 UTC (rev 1379) +++ trunk/src/score/tempo.cpp 2014-12-14 01:28:49 UTC (rev 1380) @@ -37,8 +37,6 @@ return 1; else if (static_cast<CATempo*>(elt)->beat()!=beat()) return 2; - else if (static_cast<CATempo*>(elt)->beatDotted()!=beatDotted()) - return 3; else return 0; } Modified: trunk/src/score/tempo.h =================================================================== --- trunk/src/score/tempo.h 2014-12-14 01:03:52 UTC (rev 1379) +++ trunk/src/score/tempo.h 2014-12-14 01:28:49 UTC (rev 1380) @@ -23,12 +23,9 @@ inline void setBpm( int bpm ) { _bpm = bpm; } inline CAPlayableLength beat() { return _beat; } inline void setBeat( CAPlayableLength l ) { _beat = l; } - inline int beatDotted() { return _beatDotted; } - inline void setBeatDotted( int dotted ) { _beatDotted = dotted; } private: CAPlayableLength _beat; - int _beatDotted; int _bpm; // beats per minute }; Modified: trunk/src/widgets/scoreview.cpp =================================================================== --- trunk/src/widgets/scoreview.cpp 2014-12-14 01:03:52 UTC (rev 1379) +++ trunk/src/widgets/scoreview.cpp 2014-12-14 01:28:49 UTC (rev 1380) @@ -1708,7 +1708,7 @@ if (it!=voiceList[i]->musElementList().constEnd()) { if (_mapDrawable.contains(*it)) { CADrawableMusElement *dElt = static_cast<CADrawableMusElement*>(_mapDrawable.values(*it).last()); - if (leftElt->xPos()<dElt->xPos()) { + if (!leftElt || leftElt->xPos()<dElt->xPos()) { leftElt = dElt; } } else { @@ -1721,7 +1721,7 @@ if (it!=voiceList[i]->musElementList().constEnd()) { if (_mapDrawable.contains(*it)) { CADrawableMusElement *dElt = static_cast<CADrawableMusElement*>(_mapDrawable.values(*it).first()); - if (rightElt->xPos()>dElt->xPos()) { + if (!rightElt || rightElt->xPos()>dElt->xPos()) { rightElt = dElt; } } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2014-12-14 01:03:55
|
Revision: 1379 http://sourceforge.net/p/canorus/code/1379 Author: matevz Date: 2014-12-14 01:03:52 +0000 (Sun, 14 Dec 2014) Log Message: ----------- Added MIDI pitch offset property to voice. Modified Paths: -------------- trunk/src/export/canorusmlexport.cpp trunk/src/import/canorusmlimport.cpp trunk/src/interface/playback.cpp trunk/src/score/voice.cpp trunk/src/score/voice.h trunk/src/ui/propertiesdialog.cpp trunk/src/ui/voiceproperties.ui Modified: trunk/src/export/canorusmlexport.cpp =================================================================== --- trunk/src/export/canorusmlexport.cpp 2014-12-14 01:02:58 UTC (rev 1378) +++ trunk/src/export/canorusmlexport.cpp 2014-12-14 01:03:52 UTC (rev 1379) @@ -130,6 +130,7 @@ dVoice.setAttribute("name", v->name()); dVoice.setAttribute("midi-channel", v->midiChannel()); dVoice.setAttribute("midi-program", v->midiProgram()); + dVoice.setAttribute("midi-pitch-offset", v->midiPitchOffset()); dVoice.setAttribute("stem-direction", CANote::stemDirectionToString(v->stemDirection())); exportVoiceImpl( v, dVoice ); // writes notes, clefs etc. Modified: trunk/src/import/canorusmlimport.cpp =================================================================== --- trunk/src/import/canorusmlimport.cpp 2014-12-14 01:02:58 UTC (rev 1378) +++ trunk/src/import/canorusmlimport.cpp 2014-12-14 01:03:52 UTC (rev 1379) @@ -264,6 +264,9 @@ if (!attributes.value("midi-program").isEmpty()) { _curVoice->setMidiProgram(attributes.value("midi-program").toInt()); } + if (!attributes.value("midi-pitch-offset").isEmpty()) { + _curVoice->setMidiPitchOffset(attributes.value("midi-pitch-offset").toInt()); + } staff->addVoice( _curVoice ); Modified: trunk/src/interface/playback.cpp =================================================================== --- trunk/src/interface/playback.cpp 2014-12-14 01:02:58 UTC (rev 1378) +++ trunk/src/interface/playback.cpp 2014-12-14 01:03:52 UTC (rev 1379) @@ -146,7 +146,7 @@ CANote *note = dynamic_cast<CANote*>(_curPlaying[i]); if (note) { message << (128 + note->voice()->midiChannel()); // note off - message << ( CADiatonicPitch::diatonicPitchToMidiPitch(note->diatonicPitch()) ); + message << ( CADiatonicPitch::diatonicPitchToMidiPitch(note->diatonicPitch()) + note->voice()->midiPitchOffset() ); message << (127); if ((note->musElementType()!=CAMusElement::Rest ) && // first because rest has no tie !(note->tieStart() && note->tieStart()->noteEnd()) ) @@ -211,7 +211,7 @@ } message << (144 + note->voice()->midiChannel()); // note on - message << ( CADiatonicPitch::diatonicPitchToMidiPitch(note->diatonicPitch()) ); + message << ( CADiatonicPitch::diatonicPitchToMidiPitch(note->diatonicPitch()) + note->voice()->midiPitchOffset() ); message << (127); if ( !note->tieEnd() ) midiDevice()->send(message, _curTime); @@ -307,7 +307,7 @@ message.clear(); message << (144 + note->voice()->midiChannel()); // note on - message << ( CADiatonicPitch::diatonicPitchToMidiPitch(note->diatonicPitch()) ); + message << ( CADiatonicPitch::diatonicPitchToMidiPitch(note->diatonicPitch()) + note->voice()->midiPitchOffset() ); message << (127); midiDevice()->send(message, _curTime); message.clear(); @@ -323,7 +323,7 @@ CANote *note = static_cast<CANote*>(_curPlaying[i]); message << (128 + note->voice()->midiChannel()); // note off - message << ( CADiatonicPitch::diatonicPitchToMidiPitch(note->diatonicPitch()) ); + message << ( CADiatonicPitch::diatonicPitchToMidiPitch(note->diatonicPitch()) + note->voice()->midiPitchOffset() ); message << (127); midiDevice()->send(message, _curTime); message.clear(); Modified: trunk/src/score/voice.cpp =================================================================== --- trunk/src/score/voice.cpp 2014-12-14 01:02:58 UTC (rev 1378) +++ trunk/src/score/voice.cpp 2014-12-14 01:03:52 UTC (rev 1379) @@ -41,6 +41,7 @@ _midiChannel = ((staff && staff->sheet()) ? CAMidiDevice::freeMidiChannel( staff->sheet() ) : 0); _midiProgram = 0; + _midiPitchOffset = 0; } /*! @@ -83,6 +84,7 @@ setStemDirection( voice->stemDirection() ); setMidiChannel( voice->midiChannel() ); setMidiProgram( voice->midiProgram() ); + setMidiPitchOffset( voice->midiPitchOffset() ); setLyricsContexts( voice->lyricsContextList() ); } Modified: trunk/src/score/voice.h =================================================================== --- trunk/src/score/voice.h 2014-12-14 01:02:58 UTC (rev 1378) +++ trunk/src/score/voice.h 2014-12-14 01:03:52 UTC (rev 1379) @@ -107,6 +107,9 @@ inline unsigned char midiProgram() { return _midiProgram; } inline void setMidiProgram(const unsigned char program) { _midiProgram = program; } + inline char midiPitchOffset() { return _midiPitchOffset; } + inline void setMidiPitchOffset(const char midiPitchOffset) { _midiPitchOffset = midiPitchOffset; } + inline const QList<CALyricsContext*>& lyricsContextList() { return _lyricsContextList; } inline void addLyricsContext( CALyricsContext *lc ) { _lyricsContextList << lc; } inline void setLyricsContexts( QList<CALyricsContext*> list ) { _lyricsContextList = list; } @@ -132,5 +135,6 @@ ///////////////////// unsigned char _midiChannel; unsigned char _midiProgram; + char _midiPitchOffset; }; #endif /* VOICE_H_ */ Modified: trunk/src/ui/propertiesdialog.cpp =================================================================== --- trunk/src/ui/propertiesdialog.cpp 2014-12-14 01:02:58 UTC (rev 1378) +++ trunk/src/ui/propertiesdialog.cpp 2014-12-14 01:03:52 UTC (rev 1379) @@ -352,6 +352,7 @@ CAVoice *voice = _voicePropertiesWidget.keys().at(i); CAVoiceProperties *vp = static_cast<CAVoiceProperties*>(_voicePropertiesWidget[ voice ]); voice->setMidiChannel( vp->uiMidiChannel->value()-1 ); + voice->setMidiPitchOffset( vp->uiMidiPitchOffset->value() ); } CACanorus::rebuildUI( _document ); @@ -455,6 +456,7 @@ void CAPropertiesDialog::updateVoiceProperties( CAVoice *voice ) { static_cast<CAVoiceProperties*>(_voicePropertiesWidget[voice])->uiMidiChannel->setValue( voice->midiChannel()+1 ); + static_cast<CAVoiceProperties*>(_voicePropertiesWidget[voice])->uiMidiPitchOffset->setValue( voice->midiPitchOffset() ); uiPropertiesWidget->setCurrentWidget( _voicePropertiesWidget[voice] ); } Modified: trunk/src/ui/voiceproperties.ui =================================================================== --- trunk/src/ui/voiceproperties.ui 2014-12-14 01:02:58 UTC (rev 1378) +++ trunk/src/ui/voiceproperties.ui 2014-12-14 01:03:52 UTC (rev 1379) @@ -34,7 +34,7 @@ </widget> </item> <item> - <spacer> + <spacer name="uiMidiChannelSpacer"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> @@ -52,6 +52,43 @@ </layout> </item> <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="uiMidiPitchOffsetLabel"> + <property name="text"> + <string>Midi pitch offset:</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="uiMidiPitchOffset"> + <property name="suffix"> + <string> halftones</string> + </property> + <property name="minimum"> + <number>-128</number> + </property> + <property name="maximum"> + <number>128</number> + </property> + </widget> + </item> + <item> + <spacer name="uiMidiPitchOffsetSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Vertical</enum> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2014-12-14 01:03:06
|
Revision: 1378 http://sourceforge.net/p/canorus/code/1378 Author: matevz Date: 2014-12-14 01:02:58 +0000 (Sun, 14 Dec 2014) Log Message: ----------- SVN: Ignore generated .cxx.parameters files. Property Changed: ---------------- trunk/src/control/ trunk/src/core/ trunk/src/export/ trunk/src/import/ trunk/src/interface/ trunk/src/scorectl/ trunk/src/scoreui/ trunk/src/ui/ trunk/src/widgets/ Index: trunk/src/control =================================================================== --- trunk/src/control 2014-12-14 00:55:12 UTC (rev 1377) +++ trunk/src/control 2014-12-14 01:02:58 UTC (rev 1378) Property changes on: trunk/src/control ___________________________________________________________________ Modified: svn:ignore ## -1,9 +1,14 ## -Makefile -cmake_install.cmake +_CanorusPython.so +ui_*.h +moc_externprogram.cxx_parameters +moc_typesetctl.cxx_parameters +moc_printctl.cxx_parameters +moc_mainwinprogressctl.cxx_parameters +.directory progress.make -CMakeFiles -.directory -_CanorusPython.so canorus -ui_*.h +cmake_install.cmake *.cxx +moc_previewctl.cxx_parameters +CMakeFiles +Makefile Index: trunk/src/core =================================================================== --- trunk/src/core 2014-12-14 00:55:12 UTC (rev 1377) +++ trunk/src/core 2014-12-14 01:02:58 UTC (rev 1378) Property changes on: trunk/src/core ___________________________________________________________________ Modified: svn:ignore ## -1,9 +1,11 ## -Makefile +moc_midirecorder.cxx_parameters +canorus +progress.make cmake_install.cmake -progress.make +ui_*.h +_CanorusPython.so +*.cxx +moc_autorecovery.cxx_parameters CMakeFiles .directory -_CanorusPython.so -canorus -ui_*.h -*.cxx +Makefile Index: trunk/src/export =================================================================== --- trunk/src/export 2014-12-14 00:55:12 UTC (rev 1377) +++ trunk/src/export 2014-12-14 01:02:58 UTC (rev 1378) Property changes on: trunk/src/export ___________________________________________________________________ Modified: svn:ignore ## -1,9 +1,12 ## -Makefile +canorus +progress.make +moc_export.cxx_parameters cmake_install.cmake -progress.make +moc_svgexport.cxx_parameters +ui_*.h +_CanorusPython.so +*.cxx +moc_pdfexport.cxx_parameters CMakeFiles .directory -_CanorusPython.so -canorus -ui_*.h -*.cxx +Makefile Index: trunk/src/import =================================================================== --- trunk/src/import 2014-12-14 00:55:12 UTC (rev 1377) +++ trunk/src/import 2014-12-14 01:02:58 UTC (rev 1378) Property changes on: trunk/src/import ___________________________________________________________________ Modified: svn:ignore ## -1,9 +1,10 ## -Makefile +canorus +progress.make cmake_install.cmake -progress.make +ui_*.h +_CanorusPython.so +moc_import.cxx_parameters +*.cxx CMakeFiles .directory -_CanorusPython.so -canorus -ui_*.h -*.cxx +Makefile Index: trunk/src/interface =================================================================== --- trunk/src/interface 2014-12-14 00:55:12 UTC (rev 1377) +++ trunk/src/interface 2014-12-14 01:02:58 UTC (rev 1378) Property changes on: trunk/src/interface ___________________________________________________________________ Modified: svn:ignore ## -1,9 +1,12 ## -Makefile +moc_playback.cxx_parameters +canorus +progress.make cmake_install.cmake -progress.make +ui_*.h +_CanorusPython.so +moc_pluginaction.cxx_parameters +*.cxx +moc_mididevice.cxx_parameters CMakeFiles .directory -_CanorusPython.so -canorus -ui_*.h -*.cxx +Makefile Index: trunk/src/scorectl =================================================================== --- trunk/src/scorectl 2014-12-14 00:55:12 UTC (rev 1377) +++ trunk/src/scorectl 2014-12-14 01:02:58 UTC (rev 1378) Property changes on: trunk/src/scorectl ___________________________________________________________________ Modified: svn:ignore ## -1,9 +1,10 ## -Makefile +canorus +progress.make cmake_install.cmake -progress.make +ui_*.h +_CanorusPython.so +*.cxx +moc_keysignaturectl.cxx_parameters CMakeFiles .directory -_CanorusPython.so -canorus -ui_*.h -*.cxx +Makefile Index: trunk/src/scoreui =================================================================== --- trunk/src/scoreui 2014-12-14 00:55:12 UTC (rev 1377) +++ trunk/src/scoreui 2014-12-14 01:02:58 UTC (rev 1378) Property changes on: trunk/src/scoreui ___________________________________________________________________ Modified: svn:ignore ## -1,9 +1,10 ## -Makefile +canorus +progress.make cmake_install.cmake -progress.make +ui_*.h +_CanorusPython.so +moc_keysignatureui.cxx_parameters +*.cxx CMakeFiles .directory -_CanorusPython.so -canorus -ui_*.h -*.cxx +Makefile Index: trunk/src/ui =================================================================== --- trunk/src/ui 2014-12-14 00:55:12 UTC (rev 1377) +++ trunk/src/ui 2014-12-14 01:02:58 UTC (rev 1378) Property changes on: trunk/src/ui ___________________________________________________________________ Modified: svn:ignore ## -1,9 +1,14 ## -Makefile -cmake_install.cmake +_CanorusPython.so +ui_*.h +moc_settingsdialog.cxx_parameters +moc_singleaction.cxx_parameters +.directory progress.make -CMakeFiles -.directory -_CanorusPython.so canorus -ui_*.h +cmake_install.cmake *.cxx +moc_mainwin.cxx_parameters +moc_propertiesdialog.cxx_parameters +moc_transposeview.cxx_parameters +CMakeFiles +Makefile Index: trunk/src/widgets =================================================================== --- trunk/src/widgets 2014-12-14 00:55:12 UTC (rev 1377) +++ trunk/src/widgets 2014-12-14 01:02:58 UTC (rev 1378) Property changes on: trunk/src/widgets ___________________________________________________________________ Modified: svn:ignore ## -1,9 +1,25 ## -Makefile +moc_sourceview.cxx_parameters +moc_midirecorderview.cxx_parameters +moc_tabwidget.cxx_parameters +moc_lcdnumber.cxx_parameters +moc_resourceview.cxx_parameters +.directory +canorus +progress.make +moc_toolbuttonpopup.cxx_parameters cmake_install.cmake -progress.make +*.cxx +moc_menutoolbutton.cxx_parameters +moc_scoreview.cxx_parameters CMakeFiles -.directory +moc_viewcontainer.cxx_parameters +Makefile +moc_actionseditor.cxx_parameters +ui_*.h _CanorusPython.so -canorus -ui_*.h -*.cxx +moc_progressstatusbar.cxx_parameters +moc_toolbutton.cxx_parameters +moc_view.cxx_parameters +moc_undotoolbutton.cxx_parameters +moc_helpbrowser.cxx_parameters +moc_pyconsole.cxx_parameters This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2014-12-14 00:55:15
|
Revision: 1377 http://sourceforge.net/p/canorus/code/1377 Author: matevz Date: 2014-12-14 00:55:12 +0000 (Sun, 14 Dec 2014) Log Message: ----------- Lilypond export: Fixed indentination. Modified Paths: -------------- trunk/src/export/lilypondexport.cpp Modified: trunk/src/export/lilypondexport.cpp =================================================================== --- trunk/src/export/lilypondexport.cpp 2014-12-13 23:32:55 UTC (rev 1376) +++ trunk/src/export/lilypondexport.cpp 2014-12-14 00:55:12 UTC (rev 1377) @@ -946,7 +946,8 @@ // open multiple contexts indent(); out() << "<<\n"; - out() << "\\set Score.markFormatter = #format-mark-box-alphabet\n"; // draw nice box around rehersal marks as in Canorus GUI + indent(); out() << "\\pointAndClickOff\n"; // remove point-and-click to decrease PDF size + indent(); out() << "\\set Score.markFormatter = #format-mark-box-alphabet\n"; // draw nice box around rehersal marks as in Canorus GUI indentMore(); // Output each staff @@ -960,7 +961,7 @@ indent(); out() << "\\new Staff {\n" ; indentMore(); - out() << "\\set Staff.instrumentName = #\"" << escapeWeirdChars( s->name() ) << "\"\n"; + indent(); out() << "\\set Staff.instrumentName = #\"" << escapeWeirdChars( s->name() ) << "\"\n"; // More than one voice? Add simultaneous symbol int voiceCount = s->voiceList().size(); @@ -1105,6 +1106,7 @@ out() << "% top-margin = 3\\cm\n"; out() << "% bottom-margin = 3\\cm\n"; out() << "% ragged-last-bottom = ##t\n"; + out() << "% page-count = #2\n"; out() << "% }\n\n"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2014-12-13 23:33:02
|
Revision: 1376 http://sourceforge.net/p/canorus/code/1376 Author: matevz Date: 2014-12-13 23:32:55 +0000 (Sat, 13 Dec 2014) Log Message: ----------- Lilypond export: Export instrument names. Lilypond export: Set rehersal marks drawn in box. Modified Paths: -------------- trunk/src/export/lilypondexport.cpp Modified: trunk/src/export/lilypondexport.cpp =================================================================== --- trunk/src/export/lilypondexport.cpp 2014-11-29 12:43:29 UTC (rev 1375) +++ trunk/src/export/lilypondexport.cpp 2014-12-13 23:32:55 UTC (rev 1376) @@ -882,7 +882,7 @@ // Print Canorus voice name as a comment to help with debugging/tweaking indent(); out() << "\n% " << curVoice()->name() << "\n"; - + // Write out the voice name and the equals signexportVoice // Variable name is staff index and voice index QString voiceName; @@ -945,7 +945,8 @@ else { // open multiple contexts indent(); - out() << "<<\n" ; + out() << "<<\n"; + out() << "\\set Score.markFormatter = #format-mark-box-alphabet\n"; // draw nice box around rehersal marks as in Canorus GUI indentMore(); // Output each staff @@ -959,6 +960,7 @@ indent(); out() << "\\new Staff {\n" ; indentMore(); + out() << "\\set Staff.instrumentName = #\"" << escapeWeirdChars( s->name() ) << "\"\n"; // More than one voice? Add simultaneous symbol int voiceCount = s->voiceList().size(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2014-11-29 12:43:32
|
Revision: 1375 http://sourceforge.net/p/canorus/code/1375 Author: matevz Date: 2014-11-29 12:43:29 +0000 (Sat, 29 Nov 2014) Log Message: ----------- Fixed horizontal scrolling regression introduced with new speed optimizations. Modified Paths: -------------- trunk/src/layout/kdtree.h Modified: trunk/src/layout/kdtree.h =================================================================== --- trunk/src/layout/kdtree.h 2014-11-29 12:02:07 UTC (rev 1374) +++ trunk/src/layout/kdtree.h 2014-11-29 12:43:29 UTC (rev 1375) @@ -289,7 +289,15 @@ */ template <typename T> double CAKDTree<T>::getMaxX() { - return (--_mapXW.constEnd()).key(); + for (typename QMultiMap<double, T>::const_iterator it=(--_mapXW.constEnd()); + it!=_mapXW.constBegin(); + it--) { + if (it.key()!=std::numeric_limits<double>::max()) { + // don't take contexts unlimited length into account + return it.key(); + } + } + return 0; } /*! This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2014-11-29 12:02:14
|
Revision: 1374 http://sourceforge.net/p/canorus/code/1374 Author: matevz Date: 2014-11-29 12:02:07 +0000 (Sat, 29 Nov 2014) Log Message: ----------- Fixed MusicXML import regression introduced in R1282. Revision Links: -------------- http://sourceforge.net/p/canorus/code/1282 Modified Paths: -------------- trunk/src/import/musicxmlimport.cpp Modified: trunk/src/import/musicxmlimport.cpp =================================================================== --- trunk/src/import/musicxmlimport.cpp 2014-11-28 13:28:27 UTC (rev 1373) +++ trunk/src/import/musicxmlimport.cpp 2014-11-29 12:02:07 UTC (rev 1374) @@ -219,7 +219,7 @@ void CAMusicXmlImport::readPartList() { if (name()!="part-list") return; - //CASheet *sheet = _document->addSheet(); + _document->addSheet(); while (!atEnd() && !(tokenType()==EndElement && name()=="part-list")) { readNext(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2014-11-28 13:28:31
|
Revision: 1373 http://sourceforge.net/p/canorus/code/1373 Author: matevz Date: 2014-11-28 13:28:27 +0000 (Fri, 28 Nov 2014) Log Message: ----------- Significant speed improvement for getting the current clef. Fixed crash in KDTree when adding notes. Modified Paths: -------------- trunk/src/layout/kdtree.h trunk/src/score/note.cpp trunk/src/score/voice.cpp trunk/src/score/voice.h trunk/src/widgets/scoreview.cpp Modified: trunk/src/layout/kdtree.h =================================================================== --- trunk/src/layout/kdtree.h 2014-11-28 09:19:34 UTC (rev 1372) +++ trunk/src/layout/kdtree.h 2014-11-28 13:28:27 UTC (rev 1373) @@ -160,11 +160,20 @@ */ template <typename T> T CAKDTree<T>::findNearestLeft(double x, bool timeBased, CADrawableContext *context, CAVoice *voice) { - typename QMultiMap<double, T>::const_iterator it = _mapX.upperBound(x); - if (it!=_mapX.constBegin() && it.value()->xPos()==x) { + if (_mapX.size()==0) { + return 0; + } + + typename QMultiMap<double, T>::const_iterator it = _mapX.lowerBound(x); // returns constEnd, if not found + while (it!=_mapX.constBegin() && (it==_mapX.constEnd() || it.value()->xPos()>=x)) { it--; } + if (it.value()->xPos()>=x) { + // no elements to the left at all + return 0; + } + do { if ( // compare contexts @@ -184,9 +193,9 @@ ) { return static_cast<T>(it.value()); } - } while (it!=_mapX.constBegin()); + } while ((it--)!=_mapX.constBegin()); - // no elements to the left exists + // no regular elements to the left exists return 0; } @@ -200,10 +209,7 @@ */ template <typename T> T CAKDTree<T>::findNearestRight(double x, bool timeBased, CADrawableContext *context, CAVoice *voice) { - typename QMultiMap<double, T>::const_iterator it = _mapX.lowerBound(x); - if (it!=_mapX.constEnd() && it.value()->xPos()==x) { - it++; - } + typename QMultiMap<double, T>::const_iterator it = _mapX.upperBound(x); for (; it!=_mapX.constEnd(); it++) { if ( @@ -226,7 +232,7 @@ } } - // no elements to the left exists + // no elements to the right exists return 0; } Modified: trunk/src/score/note.cpp =================================================================== --- trunk/src/score/note.cpp 2014-11-28 09:19:34 UTC (rev 1372) +++ trunk/src/score/note.cpp 2014-11-28 13:28:27 UTC (rev 1373) @@ -100,7 +100,19 @@ - -2 - first ledger line below the staff (eg. C1 in treble clef) */ int CANote::notePosition() { - CAClef *clef = (voice()?voice()->getClef(this):0); + CAClef *clef=0; + if (voice() && voice()->staff()) { + // find the corresponding clef + int i=0; + while (i < voice()->staff()->clefReferences().size() && staff()->clefReferences()[i]->timeStart() <= timeStart()) { + i++; + } + i--; + + if (i>=0) { + clef = static_cast<CAClef*>(voice()->staff()->clefReferences()[i]); + } + } return (diatonicPitch().noteName() + (clef?clef->c1():-2) - 28); } Modified: trunk/src/score/voice.cpp =================================================================== --- trunk/src/score/voice.cpp 2014-11-28 09:19:34 UTC (rev 1372) +++ trunk/src/score/voice.cpp 2014-11-28 13:28:27 UTC (rev 1373) @@ -239,6 +239,10 @@ /*! Returns a pointer to the clef which the given \a elt belongs to. Returns 0, if no clefs placed yet. + + Warning! This operation is slow (linear time), but always returns the + correct clef depending on the order of the musElementList. If a timeBased + result suffices, use CAStaff::getClef(time). */ CAClef* CAVoice::getClef(CAMusElement *elt) { if (!elt || !musElementList().contains(elt)) @@ -252,6 +256,10 @@ /*! Returns a pointer to the time signature which the given \a elt belongs to. Returns 0, if no time signatures placed yet. + + Warning! This operation is slow (linear time), but always returns the + correct timeSig depending on the order of the musElementList. If a timeBased + result suffices, use CAStaff::getClef(time). */ CATimeSignature* CAVoice::getTimeSig(CAMusElement *elt) { if (!elt || !musElementList().contains(elt)) @@ -265,6 +273,10 @@ /*! Returns a pointer to the key signature which the given \a elt belongs to. Returns 0, if no key signatures placed yet. + + Warning! This operation is slow (linear time), but always returns the + correct keySig depending on the order of the musElementList. If a timeBased + result suffices, use CAStaff::getClef(time). */ CAKeySignature* CAVoice::getKeySig(CAMusElement *elt) { if (!elt || !musElementList().contains(elt)) Modified: trunk/src/score/voice.h =================================================================== --- trunk/src/score/voice.h 2014-11-28 09:19:34 UTC (rev 1372) +++ trunk/src/score/voice.h 2014-11-28 13:28:27 UTC (rev 1373) @@ -8,7 +8,7 @@ #ifndef VOICE_H_ #define VOICE_H_ -#include <QList> +#include <QList> // music elements container #include "score/muselement.h" #include "score/note.h" @@ -118,8 +118,10 @@ bool insertMusElement( CAMusElement *before, CAMusElement *elt ); bool updateTimes( int idx, int length, bool signsToo=false ); + // list of all the music elements QList<CAMusElement *> _musElementList; CAStaff *_staff; // parent staff + CANote::CAStemDirection _stemDirection; QList<CALyricsContext*> _lyricsContextList; Modified: trunk/src/widgets/scoreview.cpp =================================================================== --- trunk/src/widgets/scoreview.cpp 2014-11-28 09:19:34 UTC (rev 1372) +++ trunk/src/widgets/scoreview.cpp 2014-11-28 13:28:27 UTC (rev 1373) @@ -822,6 +822,8 @@ General Qt's paint event. All the music elements get actually rendered in this method. */ +#include <time.h> //benchmarking +#include <sys/time.h> //benchmarking void CAScoreView::paintEvent(QPaintEvent *e) { if (_holdRepaint) return; @@ -856,6 +858,8 @@ p.fillRect(_canvas->x(), _canvas->y(), _canvas->width(), _canvas->height(), _backgroundColor); // draw contexts + timeval timeStart, timeEnd, timeEnd2; + gettimeofday(&timeStart, NULL); QList<CADrawableContext*> cList; //int j = _drawableCList.size(); if (_repaintArea) @@ -883,12 +887,15 @@ else mList = _drawableMList.findInRange(_worldX, _worldY, _worldW, _worldH); + gettimeofday(&timeEnd, NULL); + p.setRenderHint( QPainter::Antialiasing, CACanorus::settings()->antiAliasing() ); for (int i=0; i<mList.size(); i++) { QColor color; CAMusElement *elt = mList[i]->musElement(); - + + // determine element color (based on selection, current mode, active voice etc.) if ( _selection.contains(mList[i])) { color = selectionColor(); } else @@ -995,6 +1002,10 @@ p.drawText( qRound((_xCursor-_worldX+10) * _zoom), qRound((_yCursor-_worldY-10) * _zoom), CANote::generateNoteName(_shadowNote[0]->diatonicPitch().noteName(), _shadowNoteAccs) ); } } + gettimeofday(&timeEnd2, NULL); + +// std::cout << "finding elements to draw took " << timeEnd.tv_sec-timeStart.tv_sec+(timeEnd.tv_usec-timeStart.tv_usec)/1000000.0 << "s." << std::endl; +// std::cout << "painting " << mList.size() << " elements took " << timeEnd2.tv_sec-timeEnd.tv_sec+(timeEnd2.tv_usec-timeEnd.tv_usec)/1000000.0 << "s." << std::endl; // flush the oldWorld coordinates as they're needed for the first repaint only _oldWorldX = _worldX; _oldWorldY = _worldY; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |