/** Ċ Ġ* ĠCreated Ġby Ġall en Ġon Ġ 3 / 2 4 / 1 6 . Ċ Ġ*/ Ċ Ċ package Ġa ged . midi ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġall en Ġon Ġ 3 / 2 4 / 1 6 . Ċ Ġ*/ ĊĊ Ċ open Ġclass ĠCount ed Note Set { ĊĠĠĠ Ġval Ġentries List : ĠList < Count ed Note Set Entry > Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 0 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 1 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 2 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 3 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 4 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 5 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 6 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 7 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 8 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 9 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 1 0 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCount ed Note Set Entry ( Midi Note ( 1 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġsorted Collection Ġ: ĠList < Count ed Note Set Entry > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġentries List . sorted Descending () ĊĊĠĠĠ Ġ// returns Ġsorted Ġcollection Ġwith Ġthe Ġbase Ġof Ġthe Ġfirst Ġnote Ġtransp osed ĊĠĠĠ Ġ// i . e . Ġtranspose Ġso Ġthe Ġfirst Ġnote Ġstarts Ġon ĠC ĊĠĠĠ Ġfun Ġnormalized Sorted Collection ( base Ġ: ĠInt Ġ= Ġ 0 ) Ġ: ĠList < Count ed Note Set Entry >{ ĊĠĠĠĠĠĠĠ Ġval Ġsorted Collection Ġ= Ġsorted Collection ĊĠĠĠĠĠĠĠ Ġval Ġnormalized Base Ġ: ĠInt Ġ= Ġbase Ġ% Ġ 1 2 ĊĠĠĠĠĠĠĠ Ġval Ġdiff Ġ= Ġnormalized Base Ġ- Ġsorted Collection [ 0 ]. note . note ĊĠĠĠĠĠĠĠ Ġif ( diff Ġ== Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsorted Collection ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsorted Collection . map Ġ{ Ġit Ġ-> Ġit . note . transpose ( diff ); Ġit Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd ( note Ġ: ĠM idi Note ){ ĊĠĠĠĠĠĠĠ Ġentries List [ note . note ]. count ++ ĊĠĠĠ Ġ} Ċ Ċ }