packages feed

language-Modula2-0.1: examples/Modula-2_Libraries/PMOS/sources/demo/m3d01.mod

MODULE M3D01;

	(********************************************************)
	(*							*)
	(*		Test of module Music3.			*)
	(*							*)
	(*	J.S. Bach: Prelude from Cello Suite No. 1	*)
	(*							*)
	(*  Programmer:		P. Moylan			*)
	(*  Last edited:	21 March 1995			*)
	(*  Status:		OK				*)
	(*							*)
	(*	Note that this music has only a single voice.	*)
	(*							*)
	(********************************************************)

FROM Music3 IMPORT
    (* proc *)	Voice1, SetDuration, PlayTheMusic, SetInstrument;

(************************************************************************)

PROCEDURE EncodeMusic;

    (* Plays a piece of music. *)

    BEGIN	(* EncodeMusic *)

	(********************************************************)
	(* Opening of J.S. Bach, Cello Suite No. 1, Prelude.	*)
	(********************************************************)

	SetDuration (130);
	SetInstrument (7, 6000, 500, 30000);

	Voice1 ("dDuAuF#EF#dAuF#dAddDuuAuF#EF#dAuF#dA");
	Voice1 ("dDuBuGF#GdBuGdBddDuuBuGF#GdBuGdB");
	Voice1 ("DC#GF#GC#GC#ddDuuC#GF#GC#GC#");
	Voice1 ("dDuDF#EF#DF#DddDuuDF#EF#DF#C#");
	Voice1 ("dDuBuF#EF#DC#DBDC#DdF#AG#F#");
	Voice1 ("G#uDEDEDEDdG#uDEDEDED");
	Voice1 ("C#EAG#AEDEC#EDEdAC#BA");
	Voice1 ("dBuF#uDC#DdF#uDdF#dBuF#uDC#DdF#uDdF#");
	Voice1 ("dBuG#ABAG#F#EuDC#BuAG#F#ED");
	Voice1 ("C#BAuAEAdC#EdABC#EDC#BA");
	Voice1 ("uD#dACBCAuD#dAuF#dACBCAuD#dA");
	Voice1 ("GBEF#GEBAGBEF#GEC#B");
	Voice1 ("A#C#A#C#EC#EC#A#C#A#C#EC#EC#");
	Voice1 ("DC#BDC#DEC#DC#BAGF#ED");

	(* Page 2. *)

	Voice1 ("C#GAGAGAGC#GAGAGAG");
	Voice1 ("DF#uCBCdF#uCdF#DF#uCBCdF#uCdF#");
	Voice1 ("DGBABGBGDGBABGBG");
	Voice1 ("DuC#GF#GC#GC#dDuC#GF#GC#GC#d");
	Voice1 ("DuAuF#EF#DC#BAGF#EDC#BA");
	Voice1 ("G#uEuBC#DBC#DddG#uEuBC#DBC#D");
	Voice1 ("ddGuEABC#ABC#ddGuEABC#ABC#");
	Voice1 ("ddGuEAC#EG#*A/AdEF#GABC#D");
	Voice1 ("EC#ABC#DEF#GEC#DEF#GA");
	Voice1 ("BbAG#AAGF#GGEC#BAEF#G");
	Voice1 ("dAuEAC#EF#GEF#DAGF#DEF#");
	Voice1 ("dADF#ADEF#DG#FEFFED#E");
	Voice1 ("EDC#DDBG#F#EG#BDEG#AG#");
	Voice1 ("AEC#BC#EdAC#dEAG#F#EDC#B");

	(* Page 3. *)

	Voice1 ("*A/uuGF#EDC#BAuGF#EDC#BA");
	Voice1 ("GuF#EDC#BAGF#uEDC#BAGF#");
	Voice1 ("EuDC#BC#EdAuEBEC#EDEBE");
	Voice1 ("C#EdAuEDEBEC#EdAuEDEBE");
	Voice1 ("C#EdAuEBEC#EDdEuEdEuF#EddAuEu");
	Voice1 ("EdEuF#EGEddAuuEF#EGEAEF#E");
	Voice1 ("GEF#EGEdEuEF#EdEuEF#EDE");
	Voice1 ("EdEuDEdEuEC#EDEC#EDEBE");
	Voice1 ("C#EdABCdAuC#dAuDdAuuD#ddAuuEddAuuFddA");
	Voice1 ("uuF#ddAuuGddAuuG#ddAuuAddAuuBbddAuuBddAuuCddAuuC#ddA");
	Voice1 ("uuDdF#dAuF#uDdF#uDdF#uDdF#dAuF#uDdF#uDdF#");
	Voice1 ("uDdEdAuEuDdEuDdEuDdEdAuEuDdEuDdE");
	Voice1 ("uC#dGdAuGuC#dGuC#dGuC#dGdAuGuC#dGuC#dG");
	Voice1 ("u***D");

    END EncodeMusic;

(************************************************************************)

BEGIN
    EncodeMusic;
    PlayTheMusic;
END M3D01.