package Ġnl . bre un . model _ d . ui Ċ Ċ import Ġnl . bre un . model _ d . core . Model D Ċ import Ġnl . bre un . model _ d . core . parameter . DeviceId Ċ import Ġnl . bre un . model _ d . core . parameter . Key Priority Ċ import Ġjava . awt . GridLayout Ċ import Ġjavax . sound . midi . Midi Device Ċ import Ġjavax . swing . JButton Ċ import Ġjavax . swing . J ComboBox Ċ import Ġjavax . swing . J Frame Ċ Ċ class ĠModel D Window ( midi Out : ĠM idi Device , Ġmidi In : ĠM idi Device ) Ġ: ĠJ Frame (" Model ĠD ĠControl ") Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmodel D Ġ= ĠModel D ( midi Out , ĠDevice Id . ALL ) Ġ// ĠTODO : ĠDevice ĠID ? ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠRemove ĊĠĠĠĠĠĠĠ Ġprintln (" Out : Ġ${ midi Out }") ĊĠĠĠĠĠĠĠ Ġprintln (" In : Ġ${ midi In }") ĊĊĠĠĠĠĠĠĠ Ġdefault Close Operation Ġ= ĠJ Frame . EXIT _ ON _ CLOSE ĊĠĠĠĠĠĠĠ Ġlayout Ġ= ĠGrid Layout ( 0 , Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġadd Key Priority Controls () ĊĊĠĠĠĠĠĠĠ Ġpack () ĊĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Key Priority Controls () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcombo Box Ġ= ĠJ ComboBox < Key Priority >( Key Priority . values ()) ĊĠĠĠĠĠĠĠ Ġadd ( comboBox ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton Ġ= ĠJButton (" Set Ġpriority ") ĊĠĠĠĠĠĠĠ Ġbutton . addActionListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Priority Ġ= Ġcombo Box . selected Item Ġas ĠKey Priority ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel D . set Key Priority ( key Priority ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadd ( button ) ĊĠĠĠ Ġ} Ċ }