Silent Night Perilous 35,32,35,32,35,39,35,39,35,39,42,39,42,39,42,46, 4,4,16,16,16,4,4,16,16,16,4,8,16,16,16,2, Perilous Perilous Why Can't I? 35,32,35,32,35,32,35,32,35,33,35,33,35,33,35,33,35,33,35,33,35,33,35,33,35,37,39,40, 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,4,4,2,8,16,16,16,16,16,16,16,16,16,16,16, Why Can't I? Why Can't I? NPR Jingle 35,40,37,33,30,35,32,28,30,35,32,30,37,39,40, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,8, NPR Jingle Happy Birthday 28,28,30,28,33,32,28,28,30,28,35,33,28,28,40,37,33,32,30,38,38,37,33,35,33, 8,16,8,8,8,4,8,16,8,8,8,4,8,16,8,8,8,8,4,8,16,8,8,8,16, Happy Birthday Happy Birthday Deb's Song 28,33,28,33,35,32,28,28,32,30,28,26,30,28,28,25,23,25,23,21,30,28, 4,4,2,8,8,4,2,8,8,2,8,8,8,4,8,8,8,2,8,4,4,4, Deb's Song 4svRecording "You're still recording." leavepage leavepage You're still recording. svRecording #|$T%,& )d*<+ .t/L0$1 4\546 9l:D; >|?T@,A DdE 16 & "," unDoNote "Nothing , 4200 Eloc, isShift 4svDrag, oy groupNum, = 16 loc - oy Zx, obj, noteNum y < 780 x, 780 y > 3849 x, 3849 ((3885 - y)/36.8) x, 3885 - ( * 36.2) enterpage endPlay unDoNote saveAs buttondown display showNoteLength buttonstilldown buttonup You're still recording. svRecording saveAs You're still recording. svRecording enterpage CopyTuneStatements recording recording recording svRecording svTime display showNoteLength notes durations Sorry, you've reached 80 notes, that's the max. SetVoiceNote StartSound duration svRecording svNoteNum endPlay showNoteLength duration svRecording svNoteNum count unDoNote Nothing to undo. svRecording svNoteNum buttondown showNoteLength showNoteLength showNoteLength showNoteLength svDrag isShift showNoteLength duration groupNum buttonstilldown svDrag isShift buttonup ffffffB@ noteNum svDrag &$)"+ recording Library /"library" buttonup buttonup library Library Sound DriverThe Sound Driver "lesson" buttonup buttonup lesson Sound Driver dummy to handle enterbook linkdll "sound.drv" int CloseSound( ) int OpenSound( ) int SetVoiceNote( int, int, int, int ) int SetVoiceQueueSize( int, int ) int StartSound( ) int StopSound( ) end linkdll get opensound() to handle leavebook get closeSound() dummy Read Me "info" buttonup buttonup Read Me rLabel Start Recording 4svRecording, svNoteNum "You're already recording." i, 4200 buttonup buttonup You're already recording. recording recording 0,0,0 svRecording svNoteNum Start &*Oj! Play Back Znotes 4svRecording B"stop" initsound durations SetVoiceNote(1, StartSound() buttonup buttonup buttonUp initsound SetVoiceNote StartSound durations svRecording notes Play Back Undo A Note &>&*O undoNote buttondown buttonstilldown buttondown wundoNote buttonstilldown buttondown &*OF' rLabel Append Recording 4svRecording B"recording" "You're already buttonup buttonup recording recording 0,0,0 You're already recording. svRecording Append saveATune "n" & CRLF & buttonup buttonup saveATune rLabel Stopt Recording &R-*O 4svRecording FALSE B"recording" 0,50.1875,0 buttonup buttonup recording recording svRecording &*ON. Stop Play &"/*O StopSound() buttonup buttonup StopSound Stop Play Life Of Illusion 28,30,32,35,32,37,35,40,39,42,40,44,40,45,40,45,40,37,45,40,37,45,40,37,45,45,45,45,44,40,44,45,47,47,47,47,45,44,45,45,45,45,45,45,45,44,40, 8,8,8,4,8,4,8,4,8,4,4,2,8,2,4,8,8,8,4,4,8,8,8,8,4,8,4,8,4,2,8,8,4,8,8,4,8,8,4,8,8,4,8,8,4,4,2,16,16,16,16,16,, Life Of Illusion Jingle Bells 32,32,32,32,32,32,32,35,28,30,32,33,33,33,33,33,32,32,32,32,30,30,32,30,35,32,32,32,32,32,32,32,35,28,30,32,33,33,33,33,33,32,32,32,32,35,35,37,39,40,32,28, 8,8,4,8,8,4,8,8,4,16,2,8,8,4,16,8,8,8,16,4,8,8,8,4,4,8,8,4,8,8,4,8,8,4,16,2,8,8,4,16,8,8,8,16,16,8,8,8,8,8,8,8, Jingle Bells to handle buttonup local notes, durations get setVoiceQueueSize(1, 1000) set notes to "32,32,32,32,32,32,32,35,28,30,32,33,33,33,33,33,32,32,32,32,30,30,32,30,35,32,32,32,32,32,32,32,35,28,30,32,33,33,33,33,33,32,32,32,32,35,35,37,39,40,32,28" set durations to "8,8,4,8,8,4,8,8,4,16,2,8,8,4,16,8,8,8,16,4,8,8,8,4,4,8,8,4,8,8,4,8,8,4,16,2,8,8,4,16,8,8,8,16,16,8,8,8,8,8,8,8" step i from 1 to itemcount(notes) get SetVoiceNote(1,item 1 of notes,item 1 of durations,0) clear item 1 of notes clear item 1 of durations end get StartSound() get StopSound library Deb's Song Jingle Bells dummy lesson PLAY pitch,duration setVoiceNote(1,ABS(80- startSound() setVoiceNote startSound duration pitch $f&T( *J0 setVoiceNote( 1, , , 0) Pitch (0-83) Duration (2-200)..)6) Single Note Test initSound setVoiceNote(1, "pitch", "Duration",0) startSound() buttonup buttonup initSound pitch Duration setVoiceNote startSound Single Note Test Scale Test initSound setVoiceNote(1,i, "Duration",0) startSound() buttonup buttonup initSound Duration setVoiceNote startSound Scale Test To:m: From: FALSE c"." "Please enter a positive integer." "Cancel" leaveField leaveField Please enter a positive integer. Cancel pitch Duration "pitch" buttondown buttonstilldown buttondown pitch buttonstilldown buttonstilldown pitch pitch "pitch" < 83 buttondown buttonstilldown buttondown pitch buttonstilldown buttonstilldown pitch pitch "duration" ! > 1 buttondown buttonstilldown buttondown duration buttonstilldown buttonstilldown duration duration "duration" buttondown buttonstilldown buttondown duration buttonstilldown buttonstilldown duration The Sound Driver The Sound Driver Library /"library" buttonup buttonup library Library rLabel Keyboard "tune" buttonup buttonup Keyboard The that makes the actual notes is called setVoiceNote(). It takes 4 arguments, but the second and third are the only ones that have any effect. Try different values in the fields below and then click the Test buttons. The up and down arrows increment and decrement the values in their neighboring fields. The that makes the actual notes is called setVoiceNote(). It takes 4 arguments, but the second and third are the only ones that have any effect. Try different values in the fields below and then click the Test buttons. The up and down arrows increment and decrement the values in their neighboring fields.the relevant functions in the sound driver, and lets you test different parameters. The final section is a library of tunes that you can browse. Tunes in the library can be played and edited again.nd edited.ited. " > 0 buttondown buttonstilldown buttondown buttonstilldown buttonstilldown " < 83 buttondown buttonstilldown buttondown buttonstilldown buttonstilldown " > 0 buttondown buttonstilldown buttondown buttonstilldown buttonstilldown " < 83 buttondown buttonstilldown buttondown buttonstilldown buttonstilldown function "dll" buttonup buttonup function dllText leavefield leavefield to handle enterbook linkdll "sound.drv" int CloseSound( ) int OpenSound( ) int SetVoiceNote( int, int, int, int ) int SetVoiceQueueSize( int, int ) int StartSound( ) int StopSound( ) end linkdll get opensound() to handle leavebook get closeSound() to handle enterbook linkdll "sound.drv" int CloseSound( ) int OpenSound( ) int SetVoiceNote( int, int, int, int ) int SetVoiceQueueSize( int, int ) int StartSound( ) int StopSound( ) end linkdll get opensound() to handle leavebook get closeSound() to handle leavebook get closeSound() restore system restore menubar at reader $*O@/ rLabel buttonup buttonup Stop Play StopSound() buttonup buttonup StopSound Stop Play Adding Music To Your Books Adding Music To Your Books This book will enable you to add music to your ToolBook applications. About The Sound Driverrrrrrr "lesson" buttonup buttonup lesson About The Sound Driver Keyboard "tune" buttonup buttonup Keyboard Visit The Tune Library /"Library" buttonup buttonup Library Visit The Tune Library This book lets you to add music to your ToolBook applications. It uses the Microsoft sound driver (sound.drv) that comes with Windows, so no additional software is needed. One section of this book contains a piano keyboard that you can play with your mouse. You can record and edit your songs. Another section describes the relevant functions in the sound driver, and lets you test different parameters. The final section is a library of tunes that you can browse. Tunes in the library can be played and edited again................ This book lets you to add music to your ToolBook applications. It uses the Microsoft sound driver (sound.drv) that comes with Windows, so no additional software is needed. One section of this book contains a piano keyboard that you can play with your mouse. You can record and edit your songs. Another section describes the relevant functions in the sound driver, and lets you test different parameters. The final section is a library of tunes that you can browse. Tunes in the library can be played and edited again.nd edited.ited. A Small Warning... "warning" buttonup buttonup warning A Small Warning... warning dllText leavefield leavefield This sound driver is less that 100% stable and may crash. Save or exit other work before using this book. A note to programmers: There's a good possibility that this instability has something to do with the second parameter passed to to the setVoiceQueueSize() call. The rule of thumb is that you need 6 bytes for every note played in the voice queue. ed in the voice queue. rLabel buttonup buttonup lesson Life Of Illusion Lost In Space 64,64,63,64,59,56,52,64,64,63,64,59,56,52,62,62,61,62,57,54,50,64,64,63,64,59,56,52,64,64,63,64,59,56,52,62,62,61,62,57,54,50, 2,8,16,8,4,4,4,2,8,8,8,4,4,4,2,8,8,8,4,4,4,2,8,8,8,4,4,4,2,8,8,8,4,4,4,2,8,8,8,4,4,4, Lost In Space Lost In Space booba Roll On Columbia 32,33,32,32,30,28,27,33,35,33,33,32,30,28,32,32,32,32,28,28,28,30,30,30,25,27,27,25,23,25,27,28,32,33,32,32,30,28,27,33,35,33,33,32,30,28,32,32,32,32,28,28,28,30,30,30,25,27,27,25,23,25,27,28, 2,2,16,8,8,8,2,2,2,16,8,8,8,2,16,4,8,8,8,8,8,8,8,8,2,8,4,8,8,8,8,2,2,2,16,8,8,8,2,2,2,16,8,8,8,2,16,4,8,8,8,8,8,8,8,8,2,8,4,16,4,8,8,2,16,16, Roll On Columbia ^g48dW VOmbol Tunes For Your Apps u\zp u\zp duckjibepos Nhorsepos $377,294 375,88 X"sound.drv" CloseSound( ) OpenSound( ) SetVoiceNote( SetVoiceQueueSize( StartSound( ) StopSound( ) opensound() e"Save A &Tune" c"File" closeSound() initSound setVoiceQueueSize(1, 2000) loc, isShift saveATune ZpgName ("What title should tune have?" "Cancel" ) > 32 "Please limit your ,omit quotes /"library" already exists." FALSE i = 1 & CRLF "index" installPageData --append enterbook initSound rightbuttonup leavebook saveATune installPageData enterbook sizetopage sound.drv CloseSound OpenSound SetVoiceNote SetVoiceQueueSize StartSound StopSound opensound Save A &Tune leavebook closeSound initSound setVoiceQueueSize rightbuttonup isShift saveATune What title should this tune have? Cancel Please limit your title to 32 characters. Please omit quotes from your title. library library A tune with this title already exists. library library y5newpage library index library index library installPageData library y5newpage index library installPageData pgName installPageData title title index Titlepage BUTTONDOUBLECLICK pShowHide keydown VOs Rmn 377,294 hD|D| 4svRecording, svTime c"Page" e"Import" e"Export" e"PrintReport" c"&Edit" "&Author" & 9& "F3" c"&Clipboard" "Copy &LinkDLL Statements" 'Tune deActivate "CopyTuneStatements" c"Help" "About This Book..." X"sound.drv" CloseSound( ) OpenSound( ) SetVoiceNote( SetVoiceQueueSize( StartSound( ) StopSound( ) opensound() FALSE B"recording" /"tune" 0,50.1875,0 closeSound() initSound setVoiceQueueSize(1, 500) loc, isShift saveATune tuneText ZnewTitle, title, titles, newPageNum "You haven't stopped yet." ("What P should "Cancel" ) > 32 "Please limit your -omit quotes "index" /"library" "Overwrite existing" && & "?" f"Yes" & CRLF - 1) CopyLinkDLLStatements "dlltext" "lesson" "dummy" "tuneScript" need itSound rightbuttonup leavebook keyDown saveATune enterbook CopyLinkDLLStatements initSound CopyTuneStatements enterbook sizetopage seconds Import Export PrintReport &Edit &Author &Clipboard Copy &LinkDLL Statements Clipboard Copy &Tune Statements Clipboard CopyTuneStatements About This Book... sound.drv CloseSound OpenSound SetVoiceNote SetVoiceQueueSize StartSound StopSound opensound recording recording svRecording svTime leavebook closeSound initSound setVoiceQueueSize rightbuttonup isShift keyDown saveATune You haven't stopped recording yet. What title should this tune have? Cancel Please limit your title to 32 characters. Please omit quotes from your title. index library Overwrite existing library y5newpage title library index library index library newTitle title titles newPageNum svRecording tuneText CopyLinkDLLStatements dlltext lesson dummy dummy CopyTuneStatements library tuneScript library dummy dummy dummy You first need to record a tune on this page. tuneScript library dummy dummy dummy dummy dummy dummy dummy LINECHARTS LineCharts PIECHARTS PieCharts funStuff funstuff hD|D| hD|D| Asymetrix Animation Primer December, 1989 2Corporation Author: James Gallant, Walt Knowles Last revision r: 1/7/90 Handlers simulates entering the gives warning about altering sizes housekeeping cleanup initialize bookshelf returns "titlepage" --issue making "Warning: Editing scripts }may disable 8." \ f"Continue" "Cancel" 8." \ "Reader" sysChangesdb togglestatus 4synchronized, lockscreen initmenu X"quiktour.dll" inPixels( X"user" bringWindowToTop( up bar charts /"barcharts" "speed" 5400,2650,6075,3455 6390,2375,7065,3455 7365,1985,8040,3455 initMenu --tailor menus c"Text" c"Page" e"Undo" e"Cut" e"Copy" e"Paste" e"Clear" e"SelectAll" zfile e"Save" e"SaveAs" e"Import" e"Export" e"PrintReport" e"Boo& c"File" c"&Topics" e"&Title e"&Flipping Pages" e"&Object Stacks" e"&Bar Charts" e"&Line e"&Pie e"Fun &Stuff" default Bookshelf ToolBook M"bookshlf.tbk" toolbook bringwindowtotop( (bookmark "The was xfound. Please your current working directory." BUTTONDOUBLECLICK pShowHide BUTTONUP TITLEPAGE "TitlePage" FLIPPINGPAGES "FlippingPages" OBJECTSTACKS BARCHARTS LINECHARTS "LineCharts" PIECHARTS "PieCharts" funStuff "funstuff" initMenu author Bookshelf leavebook BUTTONDOUBLECLICK BUTTONUP reader TITLEPAGE togglestatus FLIPPINGPAGES OBJECTSTACKS enterbook BARCHARTS LINECHARTS initialize PIECHARTS funStuff reader titlepage enterpage author Warning: Editing scripts or altering objects may disable this book. Continue Cancel continue enterbook initialize Warning: Editing scripts or altering objects may disable this book. Continue Reader continue leavebook togglestatus initialize sizetopage tinitmenu quiktour.dll inPixels bringWindowToTop synchronized barcharts lockscreen barcharts speed barcharts barcharts barcharts barcharts synchronized lockscreen initMenu Paste Clear SelectAll SaveAs Import Export PrintReport Boo&kshelf &Topics &Title Page Topics &Flipping Pages Topics &Object Stacks Topics &Bar Charts Topics &Line Charts Topics &Pie Charts Topics Fun &Stuff Topics default Bookshelf send sizetopage bookshlf.tbk sysWindowHandle toolbook bookshlf.tbk bringwindowtotop bookshlf.tbk bookshlf.tbk bookmark bookshlf.tbk The Bookshelf was not found. Please copy bookshlf.tbk to your current working directory. default ToolBook BUTTONDOUBLECLICK pShowHide BUTTONUP pShowHide TITLEPAGE TitlePage FLIPPINGPAGES FlippingPages OBJECTSTACKS Stacks BARCHARTS BARCHARTS LINECHARTS LineCharts PIECHARTS PieCharts funStuff funstuff duckjibepos 4svRecording, svTime c"Page" e"Import" e"Export" e"PrintReport" c"&Edit" "&Author" & 9& "F3" c"&Clipboard" "Copy &LinkDLL Statements" 'Tune deActivate "CopyTuneStatements" c"Help" "About This Book..." X"sound.drv" CloseSound( ) OpenSound( ) SetVoiceNote( SetVoiceQueueSize( StartSound( ) StopSound( ) opensound() FALSE B"recording" /"tune" 0,50.1875,0 closeSound() initSound setVoiceQueueSize(1, 500) loc, isShift saveATune tuneText ZnewTitle, title, titles, newPageNum "You haven't stopped yet." ("What P should "Cancel" ) > 32 "Please limit your -omit quotes "index" /"library" "Overwrite existing" && & "?" f"Yes" & CRLF - 1) CopyLinkDLLStatements "dlltext" "lesson" "dummy" "tuneScript" need itSound rightbuttonup leavebook keyDown saveATune enterbook CopyLinkDLLStatements initSound CopyTuneStatements enterbook sizetopage seconds Import Export PrintReport &Edit &Author &Clipboard Copy &LinkDLL Statements Clipboard Copy &Tune Statements Clipboard CopyTuneStatements About This Book... sound.drv CloseSound OpenSound SetVoiceNote SetVoiceQueueSize StartSound StopSound opensound recording recording svRecording svTime leavebook closeSound initSound setVoiceQueueSize rightbuttonup isShift keyDown saveATune You haven't stopped recording yet. What title should this tune have? Cancel Please limit your title to 32 characters. Please omit quotes from your title. index library Overwrite existing library y5newpage title library index library index library newTitle title titles newPageNum svRecording tuneText CopyLinkDLLStatements dlltext lesson dummy dummy CopyTuneStatements library tuneScript library dummy dummy dummy You first need to record a tune on this page. tuneScript library dummy dummy dummy dummy dummy dummy in.dll screenfrompage Can't find tbkwin.dll. Please copy this file to a directory that's in your path, or change your path to include tbkwin.dll's directory, and open this book again. bringWindowToTop Bookshelf send sizetopage bookshlf.tbk sysWindowHandle toolbook bookshlf.tbk bringwindowtotop bookshlf.tbk bookshlf.tbk bookmark bookshlf.tbk The Bookshelf was not found. Please copy bookshlf.tbk to your current working directory. default ToolBook BUTTONDOUBLECLICK pShowHide BUTTONUP pShowHide TITLEPAGE TitlePage FLIPPINGPAGES FlippingPages OBJECTSTACKS Stacks BARCHARTS BARCHARTS LINECHARTS LineCharts PIECHARTS PieCharts funStuff funstuff 377,293 System hD|D| hD|D| hD|D| enterbook enterbook sizetopage X"sound.drv" CloseSound( ) OpenSound( ) SetVoiceNote( SetVoiceQueueSize( StartSound( ) StopSound( ) opensound() closeSound() enterbook leavebook enterbook sizetopage sound.drv CloseSound OpenSound SetVoiceNote SetVoiceQueueSize StartSound StopSound opensound leavebook closeSound sound.drv W,PdW 4svRecording X"sound.drv" CloseSound( ) OpenSound( ) SetVoiceNote( SetVoiceQueueSize( StartSound( ) StopSound( ) opensound() FALSE closeSound() enterbook leavebook enterbook sizetopage sound.drv CloseSound OpenSound SetVoiceNote SetVoiceQueueSize StartSound StopSound opensound svRecording leavebook closeSound sound.drv W:RdW X"sound.drv" CloseSound( ) OpenSound( ) SetVoiceNote( SetVoiceQueueSize( StartSound( ) StopSound( ) opensound() closeSound() initSound setVoiceQueueSize(1, 2000) terbook leavebook enterbook initSound enterbook sizetopage sound.drv CloseSound OpenSound SetVoiceNote SetVoiceQueueSize StartSound StopSound opensound leavebook closeSound sound.drv initSound setVoiceQueueSize hD|D| hD|D| X"sound.drv" CloseSound( ) OpenSound( ) SetVoiceNote( SetVoiceQueueSize( StartSound( ) StopSound( ) opensound() e"Save A &Tune" c"File" closeSound() initSound setVoiceQueueSize(1, 2000) loc, isShift saveATune ZnewTitle, title, titles, newPageNum ("What % should tune have?" "Cancel" e) > 32 "Please limit your -omit quotes "index" /"library" already exists." FALSE CRLF & installPageData --append neame enterbook initSound rightbuttonup leavebook saveATune installPageData enterbook sizetopage sound.drv CloseSound OpenSound SetVoiceNote SetVoiceQueueSize StartSound StopSound opensound Save A &Tune leavebook closeSound initSound setVoiceQueueSize rightbuttonup isShift saveATune What title should this tune have? Cancel Please limit your title to 32 characters. Please omit quotes from your title. index library A tune with this title already exists. index library installPageData library y5newpage neame title index library index library installPageData newTitle title titles newPageNum installPageData title title enterbook initSound rightbuttonup leavebook saveATune installPageData enterbook sizetopage sound.drv CloseSound OpenSound SetVoiceNote SetVoiceQueueSize StartSound StopSound opensound Save A &Tune leavebook closeSound initSound setVoiceQueueSize rightbuttonup isShift saveATune What title should this tune have? Cancel Please limit your title to 32 characters. Please omit quotes from your title. library library A tune with this title already exists. library library y5newpage library index library index library installPageData library y5newpage index library installPageData pgName installPageData title title TitlePage FunStuff FunStuff TitlePage TitlePage FunStuff Roll On Columbia Lost In Space 2 59,59,58,59,54,51,59,59,58,59,54,51,57,57,56,57,52,49,57,57,56,57,52,49,59,59,58,59,54,51,59,59,58,59,54,51,57,57,56,57,52,49,59, 4,8,8,8,8,8,4,8,8,8,8,8,4,8,8,8,8,8,4,8,8,8,8,8,4,8,8,8,8,8,4,8,8,8,8,8,4,8,8,8,8,8,4, Lost In Space 2 Lost In Space 2 No Man 28,35,40,39,35,32,37,42,42,46, 4,8,2,4,4,4,4,2,8,2, No Man No Man Close Encounters 47,49,45,33,40, 4,4,4,4,4, Close Encounters Close Encounters Wizard of Oz 35,40,35,32,33,35,40,35,35,37,35,33,32,30,28,28,28,28,40,40,39,39,37,37,42,42,40,39,37,39,35,35,40,35,32,33,35,40,35,35,37,35,33,32,30,28, 16,8,16,8,16,16,4,16,8,16,16,16,16,16,4,16,8,16,8,16,8,16,8,8,2,16,16,16,8,8,2,16,8,16,8,16,8,4,16,16,8,16,16,8,16,4,16,8,8,16,16,8,16,8,8,16,16,8,16,16,16,8,8,8,16,16,16,16,16,16,16,8,8,8,8,4,16,16,16,8,16,8,16,8,16,16,8,8,8,2,2,16,16,16,16,4,16,2,8,16,16,16,16,16,16,8,16,16,16,16,16,8,16,16,8, Wizard of Oz Wizard of Oz Pop Goes the Weasel 28,28,30,30,32,35,32,28,23,28,28,30,33,32,28,23,28,28,30,30,32,35,32,28,37,30,33,32,28, 16,8,8,8,16,16,16,4,16,8,8,8,8,4,4,16,8,8,8,8,8,16,8,4,4,8,8,4,16, Pop Goes the Weasel Pop Goes the Weasel NPR Jingle Silent Night 35,37,35,32,35,37,35,32,42,42,39,37,35,40,40,35,37,37,40,39,37,35,37,35,32,37,37,40,39,37,35,37,35,32,42,42,45,42,39,40,44,40,35,32,35,33,30,28, 4,16,8,2,4,16,8,2,4,8,4,16,8,4,8,2,4,8,4,16,8,4,16,8,2,4,8,4,16,8,4,16,8,2,4,4,4,16,8,2,2,8,8,8,4,16,8,2,16, Silent Night B 8;@