JDK-6713560 : MidiChannel.controlChange(int,int) allows values >127
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.sound
  • Affected Version: OpenJDK6
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2008-06-11
  • Updated: 2012-03-22
  • Resolved: 2008-09-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
OpenJDK6Resolved
Related Reports
Duplicate :  
Description
The specification of javax.sound.midi.MidiChannel.controlChange(int,int) says:
------------------------------------------------------------------------------------------
void controlChange(int controller,
                   int value)
   . . . 

Parameters:
    controller - the controller number (0 to 127; see the MIDI 1.0 Specification for the interpretation)
    value - the value to which the specified controller is changed (0 to 127)
------------------------------------------------------------------------------------------

Unfortunatelly it is not said what happens if the "value" exceeds the specified range.
In case of openJDK if one calls 
  chanel.controlChange({control >= 64}, 133)
then the following call of 
  channel.getController({same control})
will return 133.

That is not conformant with getController(..)'s spec which says that the return value is to be in the range 0-127.
However the problem is more likely to be with the "setter" method.

Comments
EVALUATION Resolved as expected by fix for 6717691.
24-09-2008

EVALUATION Yes, the tests should pass.
19-08-2008