800 REMark MIDI Player 2.1 for Unix and Gnu Linux under UQLX 810 REMark Adaptations by Simon N. Goodwin, April..July 2003 820 REMark Delete lines 900 to 980 if loading with 830 REMark the original BOOT program which assigns these 840 REMark variables with DIY Toolkit SET commands. 850 : 860 REMark LRESPR TIMING_CODE rather than MIDIxx_CODE as 870 REMark this uses SuperBASIC PROCedures for the MIDI 880 REMark output and only needs DIY Timer extensions. 890 : 900 MidiDevDir$="flp1_" 910 MapDevDir$="flp1_" 920 PaperColor=0: InkColor=7 930 WTV 4 940 Lsize=0 950 StripColor=2: stripInk=7 960 SkipPrint=1:InitTime=1 970 StoreMsg$="NO":RunStatus$="NO" 980 : 990 OPEN #9,"/dev/midi00":MIDIPlayer 1360 IF MMsg>2:CLOSE#MMsg 1685 CLOSE #9 4770 REMark sends MIDI bytes stored in ram at Event_At using Simon N. Goodwin's MIDI_BYTES 5335 FOR i=0 TO 127:MIDI_MUTE i 5550 REMark Copyright 22 Aug 1999 by A.Boehm 6130 AT 4,0:PRINT ' Now playing 1st 7 notes of Twinkle, Twinkle, Little Star' 6160 PRINT ' TIMING_CODE must have been LRESPRed beforehand. ' 6170 PRINT ' A synth or MIDI keyboard must be connected via /dev/midi00.' 8900 : 8910 REMark SuperBASIC versions of DIY MIDI commands - these 8920 REMark require #9 to be connected to a MIDI device. Do 8930 REMark not load DIY MIDI extensions or these will be 8940 REMark over-ridden. Simon Goodwin. 8940 : 9000 DEFine PROCedure MIDI_NOTE(a) 9010 PRINT #9;CHR$(144);CHR$(a);CHR$(64); 9020 END DEFine MIDI_NOTE 9025 : 9030 DEFine PROCedure MIDI_MUTE(a) 9040 PRINT #9;CHR$(144);CHR$(a);CHR$(0); 9050 END DEFine MIDI_MUTE 9060 : 9070 DEFine PROCedure MIDI_PLAY(t$) 9080 PRINT #9,t$; 9090 END DEFine MIDI_PLAY 9100 : 9110 DEFine PROCedure MIDI_BYTES(p,l) 9120 PRINT #9,PEEK$(p,l); 9130 END DEFine MIDI_BYTES