Re: [Rosegarden-user] Unwanted CCs - update

2015-02-11 Thread Tom Breton (Tehom)
> On Thu, 5 Feb 2015 20:22:34 +
> Abrolag  wrote:
>
> [...]
> I've tried attaching the MIDI version of my test file if anyone wants to
> have a
> look at it and see what happens.
>

Have looked at your test MIDI and let MidiEvent::print trace it out. 
Thank you, and also thank whoever created MidiEvent::print years ago.

The one wrong-looking thing I see is that we never erase the msb and lsb
variables.  Once case MIDI_CTRL_CHANGE has set lsb or msb, case
MIDI_PROG_CHANGE will consider it set to that value, forever, until case
MIDI_CTRL_CHANGE sets another value.  We don't aim lsb and msb at a
specific channel, either, so other channels' MIDI_PROG_CHANGEs could be
affected.

My suspicion is that remembering lsb,msb after MIDI_PROG_CHANGE confuses
later MIDI_PROG_CHANGEs that don't have bank controllers, and also we
probably shouldn't share them between channels.

Does this make sense to you?

Tom Breton (Tehom)

PS: Added a CC to the devel list.  Does this still need to go to RG-user?


--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
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] Unwanted CCs - update - !!!AHA!!!

2015-02-11 Thread Tom Breton (Tehom)

> Perhaps I misunderstood your setup - are you reading a MIDI file in, it
> contains bank changes, and when you play back they are messed up?  Or they
> show the wrong banks in the Instrument Parameter Panel?  That would make
> this code suspect, otherwise I'm afraid I don't see a connection.

OK, catching up on my email, I read the other thread (without "AHA!"), so
I see that is essentially what's going on.

Now it's just nagging at me, if simply copying over the lsb and msb isn't
right, what *is* supposed to happen?  Or have we overlooked some minor
mistake that corrupts the whole thing?

Will look further, and look at the MIDI Abrolag sent - thank you for that.

Tom Breton (Tehom)



--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
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] Unwanted CCs - update - !!!AHA!!!

2015-02-11 Thread Tom Breton (Tehom)
> I just had a nose around in MidiFile.cpp - without full hazmat too :)
>
> At line 1221 you have the start of a section that interprets bank changes.
> This
> is very risky as almost every synth maker has a different way of handling
> them.
>
> Commenting out both the msb and lsb code appears to cure the problem.
>
> Can someone more knowledgeable have a look and see what other implications
> there
> may be?

The first thing that jumps out at me is that it's part of
convertToRosegarden, which imports MIDI into RG.  It's not playing or
exporting anything.

Perhaps I misunderstood your setup - are you reading a MIDI file in, it
contains bank changes, and when you play back they are messed up?  Or they
show the wrong banks in the Instrument Parameter Panel?  That would make
this code suspect, otherwise I'm afraid I don't see a connection.

Tom Breton (Tehom)



--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
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] Unwanted CCs - update - !!!AHA!!!

2015-02-11 Thread mskala
On Tue, 10 Feb 2015, D. Michael McIntyre wrote:
> I was wondering about that, now that you mention it.  Controller banks?
>   Does anything support more than 127 controllers?  Are bank changes

Controllers have standardized numbers - e.g. 7 is "master volume" - so the
main issue isn't really that a single device has more than 127 controllers
(although yes, some DO), but that there are more than 127 different kinds
of controllers in the world.  It's made worse by the fact that a single
controller number only handles a 7-bit value, so if you need finer
granularity than that, you need to assign two or more of the 127
controller numbers to the more and less significant chunks of a
finer-grained value.  And it's also true that controller numbers ended up
being used for other things, such as selecting banks for the separate
"program change" messages.

The namespace of 127 controllers ran out very fast.

-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca People before principles.
http://ansuz.sooke.bc.ca/

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
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] Unwanted CCs - update - !!!AHA!!!

2015-02-10 Thread D. Michael McIntyre
On 02/10/2015 01:46 PM, Abrolag wrote:

> I just had a nose around in MidiFile.cpp - without full hazmat too :)
>
> At line 1221 you have the start of a section that interprets bank changes. 
> This
> is very risky as almost every synth maker has a different way of handling 
> them.

I was wondering about that, now that you mention it.  Controller banks? 
  Does anything support more than 127 controllers?  Are bank changes 
used for something else?  Was that code meant to tackle a known case?

The answer to all those questions is "probably" but yet I somehow doubt 
our good-intentioned code even works anyway.

The fastest way to find out whether anybody is using something or not is 
to disable it and wait for the complaints.

H.
-- 
D. Michael McIntyre

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
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] Unwanted CCs - update - !!!AHA!!!

2015-02-10 Thread Abrolag
I just had a nose around in MidiFile.cpp - without full hazmat too :)

At line 1221 you have the start of a section that interprets bank changes. This
is very risky as almost every synth maker has a different way of handling them.

Commenting out both the msb and lsb code appears to cure the problem.

Can someone more knowledgeable have a look and see what other implications there
may be?


-- 
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.

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
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] Unwanted CCs - update

2015-02-10 Thread Abrolag
On Mon, 09 Feb 2015 20:30:31 -0500
"D. Michael McIntyre"  wrote:

> On 02/09/2015 05:10 PM, Abrolag wrote:
> 
> > I've tried attaching the MIDI version of my test file if anyone wants to 
> > have a
> > look at it and see what happens.
> 
> I'm piddling around...
> 
> > The bank changes (CC32) in order should be:
> > CH1, 105
> > CH1, 105
> > CH1, 7
> > CH2, 110
> > CH3, 105
> > CH1, 5
> 
> 105
> 110
> 105
> 105
> 
> Lots of weird things going on here.  First, there was no 7 or 5 in the 
> data.  Second, we map either 110 or 105 to 255, sure enough.
> 
> I didn't sort it out before hitting the limit of my attention span. 
> Stuff is created in MidiFile.cpp, but who what where when and why 
> remains a mystery to untangle, if anyone is in the mood for untangling 
> mysteries.
> 
> I, apparently, am not as much in that mood as I first thought.

A bit of extra info.
I had the bright idea of using aplaymidi to pretend to be a keyboard and send
the data with Rosegarden in record mode. All CCs came through quite correctly,
so it is *only* import that has the problem.

-- 
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.

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
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] Unwanted CCs - update

2015-02-09 Thread D. Michael McIntyre
On 02/09/2015 05:10 PM, Abrolag wrote:

> I've tried attaching the MIDI version of my test file if anyone wants to have 
> a
> look at it and see what happens.

I'm piddling around...

> The bank changes (CC32) in order should be:
> CH1, 105
> CH1, 105
> CH1, 7
> CH2, 110
> CH3, 105
> CH1, 5

105
110
105
105

Lots of weird things going on here.  First, there was no 7 or 5 in the 
data.  Second, we map either 110 or 105 to 255, sure enough.

I didn't sort it out before hitting the limit of my attention span. 
Stuff is created in MidiFile.cpp, but who what where when and why 
remains a mystery to untangle, if anyone is in the mood for untangling 
mysteries.

I, apparently, am not as much in that mood as I first thought.

-- 
D. Michael McIntyre

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
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] Unwanted CCs - update

2015-02-09 Thread Abrolag
On Thu, 5 Feb 2015 20:22:34 +
Abrolag  wrote:

> Just tried build 13868 and can confirm that it now sends the correct data.
> 
> However on *importing* a midi file CC32 values are set as either 0 or 255. 
> This
> is bank LSB and should be settable 0-127. A value of 255 should be quite
> impossible!
> 
> The actual values I've set (and correctly sent) are 105, 7, 110, 5.
> 
> Just to confirm this is designed as a test file, but it's supposed to be 
> testing
> Yoshimi! :)

Just tripple checked this with aplaymidi, ardour3 and muse2. Rosegarden 13868
is *definitely* exporting the correct MIDI data and it is purely the import
side that is now having problems.

P.S. after using those last two I was *extremely* grateful to be able to
return to Rosegarden, for all their bells and whistles they simply are not
musician friendly :(

I've tried attaching the MIDI version of my test file if anyone wants to have a
look at it and see what happens.

The bank changes (CC32) in order should be:
CH1, 105
CH1, 105
CH1, 7
CH2, 110
CH3, 105
CH1, 5

This is intersped with program changes and actual (loosely described) music.

-- 
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.


RootBankProgChangeTest.mid
Description: MIDI audio
--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/___
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user