Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-14 Thread Abrolag
On Mon, 14 Jan 2013 09:08:15 +0100
Robert Wachinger pri...@robert-wachinger.de wrote:

 On Sun, Jan 13, 2013 at 04:12:36PM +, Abrolag wrote:
  On Sun, 13 Jan 2013 05:32:55 -0500
  D. Michael McIntyre rosegarden.trumpe...@gmail.com wrote:
  
a) fix it (it must be something really simple and stupid)
   
   Or complicated an interesting.
   
   According to three random calculators I tried, -2 mod 12 is 10, which is 
   clearly the assumption the person writing this code made.
   
   According to C++, -2 % 12 is -2.
 
 Annoying. To my understanding, y modulo X should always be a value between
 0 and X-1.
 
   There's your problem.
  
  Interesting. That's a problem I *have* had to resolve. My way of doing so is
  simply to add the modulo value before the calculation to absolutely 
  guarantee a
  consistent result.
  
  So (-2+12) % 12 will always give 10 whether it's python, C++, BASIC or an
  abacus!
 
 JFTR: This would not work with -14 % 12  (hm, ((x % M) + M) % M ??? ;-) )
 
 
 Ciao, Robert

It will if you add 24. I thought Michael only had to handle one octave. Make it
120 and it'll handle 10 :)

I originally used the idea for a shaft encoder where I knew it couldn't exceed 1
rotation in the time between readings.

-- 
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-13 Thread Martin Tarenskeen


On Sun, 13 Jan 2013, D. Michael McIntyre wrote:

 a) fix it (it must be something really simple and stupid)

 Or complicated an interesting.

 According to three random calculators I tried, -2 mod 12 is 10, which is
 clearly the assumption the person writing this code made.

 According to C++, -2 % 12 is -2.

I did some googling and modulo calculations with negative numbers are a 
complicated subject in C++.

for example read this

http://lessonsincoding.blogspot.nl/2012/03/modulus-with-negative-numbers-in-c-c.html

I am glad I am not in a position that I need to care about it.

-- 

MT

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_123012
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-13 Thread D. Michael McIntyre
 I'll have to ponder on this one, and try to get it right this time.

Nope.  I followed the wrong bread crumb trail.  This trail is cold, and 
my solution solved nothing.

That was wasteful.
-- 
D. Michael McIntyre

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_123012
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-13 Thread Julie S
Hello All,

To have a little fun concerning:
 So (-2+12) % 12 will always give 10 whether it's python, C++, BASIC or
 an abacus!

and 

 According to three random calculators I tried, -2 mod 12 is 10, which is 
 clearly the assumption the person writing this code made.
 
 According to C++, -2 % 12 is -2.

While waving my hand I calmly say, These are not the modulos you are looking 
for.

If my Jedi powers have persuaded you, you will stop reading this post and look 
elsewhere; otherwise keep reading.

Actually, modulo and programming language when it comes to negative numbers has 
several competing camps.  Wikipedia has an excellent article about the details. 
 Of particular interest is the massive list of programming languages and how 
differently each handles this issue.  I suggest the best advice is to decide 
what you are going to do with the modulo if you anticipate negative divisors, 
and write your own handler for it based on what you need, as will suggested.  
Looks like C and C++ has a pretty checked past concerning what values will come 
out when negative numbers are involved.

http://en.wikipedia.org/wiki/Modulo_operation

Sincerely,
Julie S.

--- On Sun, 1/13/13, Abrolag abro...@users.sourceforge.net wrote:

From: Abrolag abro...@users.sourceforge.net
Subject: Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output
To: rosegarden-user@lists.sourceforge.net
Date: Sunday, January 13, 2013, 11:12 AM

On Sun, 13 Jan 2013 05:32:55 -0500
D. Michael McIntyre rosegarden.trumpe...@gmail.com wrote:

  a) fix it (it must be something really simple and stupid)
 
 Or complicated an interesting.
 
 According to three random calculators I tried, -2 mod 12 is 10, which is 
 clearly the assumption the person writing this code made.
 
 According to C++, -2 % 12 is -2.
 
 There's your problem.

Interesting. That's a problem I *have* had to resolve. My way of doing so is
simply to add the modulo value before the calculation to absolutely guarantee a
consistent result.

So (-2+12) % 12 will always give 10 whether it's python, C++, BASIC or an
abacus!

-- 
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_123012
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_123012
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-13 Thread D. Michael McIntyre
On 01/13/2013 12:51 PM, Julie S wrote:

 While waving my hand I calmly say, These are not the modulos you are looking 
 for.

:)

Will J Godfrey wrote:
 So (-2+12) % 12 will always give 10 whether it's python, C++, BASIC or an
 abacus!

That's elegant.
-- 
D. Michael McIntyre

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_123012
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-10 Thread D. Michael McIntyre
 Hmm, that's a bit disconcerting. (If you'll excuse the pun.) Why does
 such a small change require changing stuff in so many places?

Hah, you won the last round, pointing out that it was stupid of me to 
blindly follow the track label code around and add the new parameter so 
it had to be initialized in the ctor.  Score one for you, Mr. Smarty Pants.

Now I get to win THIS round.  It turns out we use a really basic input 
dialog to get the track label from the user, and there's just no way to 
extend that to incorporate a new field.  There are various hacky things 
I could do to avoid writing a new dialog, but a new dialog is what we 
really need.

Can we say snowball effect boys and girls?

(I hope you take me picking at you in the good spirit with which I 
intend it.  Obviously if I didn't think this idea was worth doing, or 
even if it was just more work than I was willing to do, I wouldn't 
bother.  I've ignored more features requests than you can shake a stick 
at my friend.)
-- 
D. Michael McIntyre

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-10 Thread D. Michael McIntyre
 Can we say snowball effect boys and girls?

332 lines, 12 files, 2 hours

It really is impressive what it takes to make some new string editable, 
loadable, saveable, undoable, and exportable.  Track owns the string, 
it's presented to the user via TrackLabel and manipulated by 
TrackButtons by way of RenameTrackCommand and TrackLabelDialog, it's 
loaded by RoseXmlHandler and exported by LilyPondExporter, and ALL of 
that needs to become aware of the new string to make it work.

An algorithmic solution sure would have involved spreading fewer 
tendrils everywhere.
-- 
D. Michael McIntyre

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-10 Thread H. S. Teoh
On Thu, Jan 10, 2013 at 05:21:05AM -0500, D. Michael McIntyre wrote:
  Hmm, that's a bit disconcerting. (If you'll excuse the pun.) Why
  does such a small change require changing stuff in so many places?
 
 Hah, you won the last round, pointing out that it was stupid of me to
 blindly follow the track label code around and add the new parameter
 so it had to be initialized in the ctor.  Score one for you, Mr.
 Smarty Pants.
 
 Now I get to win THIS round.  It turns out we use a really basic input
 dialog to get the track label from the user, and there's just no way
 to extend that to incorporate a new field.  There are various hacky
 things I could do to avoid writing a new dialog, but a new dialog is
 what we really need.

It's about time! ;-)


 Can we say snowball effect boys and girls?

Chasse neige, Transcendental Etude #12, Franz Liszt. ;-)


 (I hope you take me picking at you in the good spirit with which I
 intend it.  Obviously if I didn't think this idea was worth doing, or
 even if it was just more work than I was willing to do, I wouldn't
 bother.  I've ignored more features requests than you can shake a
 stick at my friend.)
[...]

Then I better get cracking on shaking my stick at feature requests. That
sounds like a good idea at my day job... (kidding!).


T

-- 
Computer Science is no more about computers than astronomy is about
telescopes. -- E.W. Dijkstra

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-09 Thread D. Michael McIntyre
On 01/09/2013 12:42 AM, D. Michael McIntyre wrote:

 It may be the only way, but I'm going to waste a lot of time trying to
 do it the easy way first.

The only way to approach an algorithm that starts to produce decent 
results is to get into lines and lines and lines of guesswork and good 
intentions that's just ballooning stupidly out of control, and still 
producing crappy results.

So we're back to that whole thing about just adding new fields and 
letting the users eat their own dog food.

Yes, yes, you told me so didn't you?
-- 
D. Michael McIntyre

--
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-09 Thread H. S. Teoh
On Wed, Jan 09, 2013 at 05:43:04AM -0500, D. Michael McIntyre wrote:
  Yes, yes, you told me so didn't you?
 
 I told you so too.  I'm at six files modified so far and barely even 
 gotten started.  The number of things affected by such a minor change is 
 impressive.
[...]

Hmm, that's a bit disconcerting. (If you'll excuse the pun.) Why does
such a small change require changing stuff in so many places?


T

-- 
If you look at a thing nine hundred and ninety-nine times, you are
perfectly safe; if you look at it the thousandth time, you are in
frightful danger of seeing it for the first time. -- G. K. Chesterton

--
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-09 Thread H. S. Teoh
On Wed, Jan 09, 2013 at 04:28:21PM -0500, D. Michael McIntyre wrote:
 On 01/09/2013 01:00 PM, H. S. Teoh wrote:
 
  Hmm, that's a bit disconcerting. (If you'll excuse the pun.) Why
  does such a small change require changing stuff in so many places?
 
 The leg bone is connected to the thigh bone...
 
 The new field has to be owned by Track, so everything that ever
 creates a Track has to be modified.  That's 12 files.  That's just the
 base layer of creating the new thing.  Working it up all the way to
 the level of user interaction may involve at least that many or more
 files before it's all said and done.  My original estimate was 30, and
 that's about right.

Hmph. I didn't look at the code, but it looks like the Track constructor
has too many parameters. Why can't the new field be just set to some
default value?  Having too many ctor parameters is just asking for
trouble, because everytime you change anything, you pretty much have to
update the entire codebase. Which defeats the purpose of using OO in the
first place!


 Thirty places to make stupid typos and introduce bugs, and I surely
 will.  It's going to take a lot longer than six minutes, but it will
 probably take less time than continuing to pursue the magic mind
 reading algorithm.

Last I heard, the researchers who started working on mind-reading algos
in the early 70's are still working on it. ;-) There were rumours that
an early prototype was leaked out, but all followup research eventually
led only to board games. :-P


 Software is all about such compromises.
[...]

Isn't that true, now.


T

-- 
Being able to learn is a great learning; being able to unlearn is a greater 
learning.

--
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-09 Thread Tom Breton (Tehom)
 Which brings me to another rosegarden-related question: is there a way
 to adjust the playback volumes for individual tracks?

 You can't achieve what you want fiddling with the volume levels in the
 mixer?  Something like that wants to be adjusted with overall volume, so
 the relative dynamics are preserved.  Maybe the expression controller
 too.  I forget how it works, but it's something to do with modifying
 volume response somehow or other.

Yes.  In GM expression is a sort of second volume control.  Expression and
Volume are multiplied together.  The idea is that you adjust the overall
track volume with Volume, while Expression controls the moment by moment
volume, say for a crescendo.

Which I hope helps the OP set things the way he wants.

Tom Breton (Tehom)



--
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-08 Thread D. Michael McIntyre
On 01/08/2013 10:42 AM, H. S. Teoh wrote:

 OK, rosegarden compiled faster than I expected, so I gave it a run. I
 think there's a slight mistake, it should be:

I didn't do any research into the question of whether we were using the 
\GrandStaff context in the surrounding code blocks for some reason that 
conflicted with the reason behind the new code block.  I flipped a coin, 
and guessed wrong, apparently.

Since you've already made the change (thanks for the patch) I guess 
you've tested that it performs as expected?  Have you tried this with 
staff brackets in place?  I actually wrote all the staff grouping stuff 
myself, years ago, but I don't remember how it works.  Development is 
funny that way.  I was afraid, while knocking together this current 
thing, I might accidentally break all of that other work by going the 
wrong way here.  I know the staff grouping stuff is fragile and easy to 
break.  I barely got it working, and it's not robust.
-- 
D. Michael McIntyre

--
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-08 Thread D. Michael McIntyre
 Since you've already made the change (thanks for the patch) I guess
 you've tested that it performs as expected?

Answering my own question, *I* have now, and it seems to be working.  I 
ran some tests using the Handel piece with orchestra and SATB, which was 
my benchmark for ensuring that the staff grouping bits were functioning 
correctly.

There were no silences long enough to trigger staffs disappearing, so I 
deleted a huge chunk of time from the STRINGS, and saw those parts go 
away for pages and pages; rightly so.

Serves them right after all the times we trumpets had to count 87 bars 
of rest before coming in for six bars, and then 198 bars of rest for 
another six bars, then 415 bars before coming in for the last two bars.

Damn string players, thinking they're the backbone of the orchestra, and 
everybody else is just tone color.  :P

(Graham Percival of LilyPond, I'm looking at YOU, O_o )
-- 
D. Michael McIntyre

--
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-08 Thread H. S. Teoh
On Tue, Jan 08, 2013 at 02:51:23PM -0500, D. Michael McIntyre wrote:
  Since you've already made the change (thanks for the patch) I guess
  you've tested that it performs as expected?

Yes I have, as you confirmed below. :)


 Answering my own question, *I* have now, and it seems to be working.
 I ran some tests using the Handel piece with orchestra and SATB, which
 was my benchmark for ensuring that the staff grouping bits were
 functioning correctly.
 
 There were no silences long enough to trigger staffs disappearing, so
 I deleted a huge chunk of time from the STRINGS, and saw those parts
 go away for pages and pages; rightly so.
 
 Serves them right after all the times we trumpets had to count 87 bars
 of rest before coming in for six bars, and then 198 bars of rest for
 another six bars, then 415 bars before coming in for the last two
 bars.

Haha, I should rewrite my piece to have the trumpets play the whole way
through with strings accompanying, instead of the current orchestration
in which the trumpets just play a few rhythms and half of a melody (not
even the whole phrase!!), and the strings just ... string the thing
along. :P

(At least the brass players have interesting things to do... I think the
bassoon has a grand total of 2 bars in the entire piece right now. I
intend to re-orchestrate the piece sometime, as I've apparently been
blockheaded enough to write notes for the contrabass that are below
their range -- those notes will have to be played by the bassoon
instead.)

(Oh, and lest you think the bassoon has it bad... the oboes play a
beautiful melody of silence the whole way through. Haha... yeah, my
orchestration needs work. Lots of work.)


 Damn string players, thinking they're the backbone of the orchestra,
 and everybody else is just tone color.  :P
 
 (Graham Percival of LilyPond, I'm looking at YOU, O_o )
[...]

Speaking of which, does lilypond support automatically indicating which
instruments are on which staves when empty staves are omitted? I mean,
it's all great and everything that with \RemoveEmptyStaves in place, now
my score is 9 pages instead of 24, but then some parts have no
indication whatsoever as to which instruments are actually playing, just
two or three non-descript treble/bass clefs. I think in professional
scores there's some marking of which instruments correspond with which
staves -- I *could* add these by hand, but they'd be thrown off every
time I reformat the score, so it'd be nice if there was an automatic way
to do this.


T

-- 
Error: Keyboard not attached. Press F1 to continue. -- Yoon Ha Lee, CONLANG

--
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-08 Thread D. Michael McIntyre
On 01/08/2013 03:19 PM, H. S. Teoh wrote:

 in which the trumpets just play a few rhythms and half of a melody (not
 even the whole phrase!!), and the strings just ... string the thing
 along. :P

Get rid of the strings and replace them with a brass band.  :)

 blockheaded enough to write notes for the contrabass that are below
 their range -- those notes will have to be played by the bassoon
 instead.)

Are you using Rosegarden's built in arranging encyclopedia?  If you use 
the Create segments with properties ahead of time, before creating the 
segments, you can use the Load button to dial up just about any kind of 
instrument you can think of, and Rosegarden will pick the right clef, 
transposition, and indicate when notes are out of the expected playable 
range for that instrument by drawing them in red.  (How accurate that is 
depends on the instrument to a large extent.  Some are more flexible 
than others.  The defaults are reasonable and sound in every case where 
I have any personal knowledge of that instrument though.)

It's kind of an obscure feature that's probably hard to discover and 
understand without reading documentation, and the documentation probably 
isn't any good either, but it has a lot of potential to help composers 
avoid doing dumb things like that.  When you work with MIDI, it's way 
too easy to tell a flute to play a low Bb or something, and the synth 
will happily obey while the human player will call you a moron.

 (Oh, and lest you think the bassoon has it bad... the oboes play a
 beautiful melody of silence the whole way through. Haha... yeah, my
 orchestration needs work. Lots of work.)

Mine does too, because I feel too sorry for the tone color 
instruments, and I tend to try to make sure everybody has some fun, at 
the expense of artistic purity or whatever.

Bassoon and tuba solos anyone?

Everybody gets fair treatment, except the TROMBONES.  When it comes to 
trombones, silence is golden.  :P


 Speaking of which, does lilypond support automatically indicating which
 instruments are on which staves when empty staves are omitted?

Indeed, I was thinking the same thing myself.

That turned out to be an interesting research project.

Yes, LilyPond supports two staff properties, instrumentName and 
shortInstrumentName.  The latter is used on all follow-up staves.

As you point out, we only use the former.  Thinking about that from a 
code perspective, the reason for that is fairly obvious.  Just what 
should be do, algorithmically, to derive a short name?

I can think of two approaches off the top of my head.

1) Just take the first letter from whatever the label is.  I have a 
vague and NOT researched memory of seeing conductor scores that had 
single letters on subsequent staffs.  Trombone and Timpani and Tenor 
would all come out as a T.  In most cases, grouping and placement would 
probably still give you enough of a clue to find the trees in the forest.

2) Implement a whole parallel properties system allowing you to edit the 
track label AND the secondary label.  This is clearly the most flexible, 
since you could manually specify Tbn. and Tpni. and Tnr or 
whatever, and get it to come out exactly how you want.  It's also more 
work to develop, since it requires going in and adding a lot of parallel 
infrastructure stuff, new properties, and so on.  It's also more work to 
use, since you have to go edit all of these things manually to get any 
result.

My take on it, approach 1 isn't very satisfying, but I can probably have 
it implemented in five minutes.  Approach 2 is probably what we need.

What think ye?  Business is dead and I have a free night off, and 
nothing in particular to do.  Prime time for me actually knocking 
something together again.
-- 
D. Michael McIntyre

--
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-08 Thread D. Michael McIntyre
On 01/08/2013 04:03 PM, D. Michael McIntyre wrote:

 I can think of two approaches off the top of my head.

3) Take the first four characters and add a period at the end.

Clarinet in Bb
Fluegelhorn in Bb
Necromancing Leprochauns Leaping Luridly in F
Flute in C
Timpani in F
Tenore in C
Turbulent Titmice Tumbling Tenaciously in C#

Clar.
Flue.
Necr.
Flut.
Timp.
Teno.
Turb.

That could work.

Options:

1) Save space by omitting the period
2) Combine approaches 1 and 3 by offering an export option

   Export short instrument names using [ 4 ] characters

It's not quite as satisfying as being able to specify the abbreviation 
manually, but it would get the job done, wouldn't it?  Having the 
control to specify n characters takes the responsibility away from 
Rosegarden for making this call, because if we hard code for 1 or 3 or 5 
characters, SOMEONE will whine that it was the wrong choice.

Gee willakers Mr. Rosegarden Developer Guy, that sofware sure is neat-o 
keen and snazzy, but you are obviously an imbecile, and I'm going back 
to Windows THIS INSTANT unless the short instrument names 
add/subtract/multiply a different character.  Your friend, Bobby.

That control only makes it slightly more of a pain in the ass to code 
vs. dealing with future whining.  Hrm.

As to the period or not, I'm going to just code the period and users can 
get over that one.  No option.  Options CAN grow out of control, like 
amoebae.

(See, if you ask for stuff in this McIntyre guy's area of actual 
knowledge, interest and ability, instead of obscure sequencer timing 
froofram he's too dumb to understand anyway, he gets all cheerful and 
helpful and stuff, and even gets his pretty fingers dirty writing icky 
code.)
-- 
D. Michael McIntyre

--
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-08 Thread H. S. Teoh
On Tue, Jan 08, 2013 at 04:22:14PM -0500, D. Michael McIntyre wrote:
 On 01/08/2013 04:03 PM, D. Michael McIntyre wrote:
 
  I can think of two approaches off the top of my head.
 
 3) Take the first four characters and add a period at the end.
 
 Clarinet in Bb
 Fluegelhorn in Bb
 Necromancing Leprochauns Leaping Luridly in F
 Flute in C
 Timpani in F
 Tenore in C
 Turbulent Titmice Tumbling Tenaciously in C#
 
 Clar.
 Flue.
 Necr.
 Flut.
 Timp.
 Teno.
 Turb.
 
 That could work.
 
 Options:
 
 1) Save space by omitting the period
 2) Combine approaches 1 and 3 by offering an export option
 
Export short instrument names using [ 4 ] characters
 
 It's not quite as satisfying as being able to specify the abbreviation
 manually, but it would get the job done, wouldn't it?  Having the
 control to specify n characters takes the responsibility away from
 Rosegarden for making this call, because if we hard code for 1 or 3 or
 5 characters, SOMEONE will whine that it was the wrong choice.

Hmm. It seems like adding a whole bunch of options when simply adopting
(2) will address the problem at its root. Plus, (2) doesn't suffer from
this:


 Gee willakers Mr. Rosegarden Developer Guy, that sofware sure is
 neat-o keen and snazzy, but you are obviously an imbecile, and I'm
 going back to Windows THIS INSTANT unless the short instrument names
 add/subtract/multiply a different character.  Your friend, Bobby.

 That control only makes it slightly more of a pain in the ass to code
 vs. dealing with future whining.  Hrm.

Is it that complicated to implement (2) that the other options are
better? I would've thought after the great post-X11 rewrite, rosegarden
code should be in better shape. ;-) But then again, I've seen systems
that were rewritten eventually bitrotting into something worse than its
original state. Oh well.


 As to the period or not, I'm going to just code the period and users
 can get over that one.  No option.  Options CAN grow out of control,
 like amoebae.

Yeah, so I think we should just add a field for the abbreviation, and
leave out the number-of-characters dial, the non-option of appending a
period, etc.. Let the user make all the choices himself and eat his own
dogfood, I say. :-P


 (See, if you ask for stuff in this McIntyre guy's area of actual
 knowledge, interest and ability, instead of obscure sequencer timing
 froofram he's too dumb to understand anyway, he gets all cheerful and
 helpful and stuff, and even gets his pretty fingers dirty writing icky
 code.)
[...]

Area of interest, eh? Hmm. Would you happen to know where I can get a
good soundfont for trumpets? The current trumpet patch in my (software)
synth sucks. It sounds *nothing* like a trumpet, more like a wet oboe.
I'd be so obliged! (I do have a clavinova with a good trumpet synth, but
I've a hard figuring out how to hook up the MIDI port correctly. Plus,
it's in another room from my PC, so it's kinda inconvenient to work
with. *And* I bought the wrong cable for it (and procrastinated past the
refund date), so I don't feel particularly motivated to buy another one
just yet.)

Which brings me to another rosegarden-related question: is there a way
to adjust the playback volumes for individual tracks? I often find
myself in a situation where I have very good soundfonts for individual
instruments, but they sound horrible together because the volume of the
patches don't match, so you have this magnificent french horn sound at
ff that gets covered over by a puny flute at mp. So I end up having to
artificially scale the dynamics of individual tracks (which throws off
rosegarden's dynamics markings) in order to balance things out.

Or is this something best done elsewhere?


T

-- 
Obviously, some things aren't very obvious.

--
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-08 Thread D. Michael McIntyre
 Is it that complicated to implement (2) that the other options are
 better?

If we can derive short names from what already exists, it saves 
everybody work.  Less code to write, less work for the user to do keying 
stuff in.

 Area of interest, eh? Hmm. Would you happen to know where I can get a
 good soundfont for trumpets?

I play the trumpet, so I don't need a soundfont to cover that base, and 
thus have no clue there.  Sorry.

 Which brings me to another rosegarden-related question: is there a way
 to adjust the playback volumes for individual tracks?

You can't achieve what you want fiddling with the volume levels in the 
mixer?  Something like that wants to be adjusted with overall volume, so 
the relative dynamics are preserved.  Maybe the expression controller 
too.  I forget how it works, but it's something to do with modifying 
volume response somehow or other.
-- 
D. Michael McIntyre

--
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


[Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-07 Thread H. S. Teoh
Hi All,

I'm working on typesetting an orchestral score originally composed in
rosegarden, and I wonder if there's a setting that inserts a
\RemoveEmptyStaves command into the lilypond output? That is, adds:

\context { \Staff \RemoveEmptyStaves }

to the \layout section. Otherwise, I'm getting pages of pages of
mostly-empty staves when only a few instruments are playing.

I know I can edit the lilypond output by hand, but it'd be nice to not
have to manually do this every time I export from rosegarden.

Thanks!


T

-- 
The most powerful one-line C program: #include /dev/tty -- IOCCC

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-07 Thread D. Michael McIntyre
On 01/07/2013 11:56 AM, H. S. Teoh wrote:

 I know I can edit the lilypond output by hand, but it'd be nice to not
 have to manually do this every time I export from rosegarden.

If you would, grab and build a copy of the development source, and test 
this out.

I knocked together a new option and set it up so inserting this snippet 
in the layout block is the new default behavior.  You don't have to do 
anything to turn it on, but if you really want to print all the empty 
staves, you can suppress the new behavior by turning a checkbox on.

I banged this out in a hurry and did only extremely minimal testing. 
There could be lots of problems, and it would be extremely helpful if 
you could put it through its paces and reassure me that it's reasonably 
robust and predictable.

Thanks for requesting something that was clearly reasonable and only 
took 30 minutes to bash together.  It would have only taken 15 minutes 
if I had read your original message more clearly the first time.  I 
wasted time putting the new code snippet in all the wrong places at 
first.  Oh well.
-- 
D. Michael McIntyre

--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


Re: [Rosegarden-user] \RemoveEmptyStaves in lilypond output

2013-01-07 Thread H. S. Teoh
On Mon, Jan 07, 2013 at 10:28:58PM -0800, H. S. Teoh wrote:
 On Mon, Jan 07, 2013 at 02:26:39PM -0500, D. Michael McIntyre wrote:
[...]
  I knocked together a new option and set it up so inserting this
  snippet in the layout block is the new default behavior.  You don't
  have to do anything to turn it on, but if you really want to print all
  the empty staves, you can suppress the new behavior by turning a
  checkbox on.
  
  I banged this out in a hurry and did only extremely minimal testing.
  There could be lots of problems, and it would be extremely helpful if
  you could put it through its paces and reassure me that it's
  reasonably robust and predictable.
 
 I'll get back to you once I try it out. Thanks!
[...]

OK, rosegarden compiled faster than I expected, so I gave it a run. I
think there's a slight mistake, it should be:

\context { \Staff \RemoveEmptyStave }

But right now it generates:

\context { \GrandStaff \RemoveEmptyStave }

which doesn't have the expected effect.


T

-- 
IBM = I'll Buy Microsoft!

--
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user