⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 midiprolog.pro

📁 visual prolog7.1学习的极好源代码
💻 PRO
字号:
DOMAINSlistaInteiros = integer*PREDICATESnondeterm nota (string,integer).nondeterm tempo (string,integer).nondeterm insereElLista(integer,listaInteiros,listaInteiros).nondeterm concatena (listaInteiros,listaInteiros,listaInteiros).nondeterm contaElementos (listaInteiros,integer).nondeterm inicio.nondeterm criaArqMIDI(listaInteiros).nondeterm parar(char,listaInteiros).cabecalhoPrincipal (listaInteiros).cabecalhoTrack (listaInteiros).eventosConfig(listaInteiros)fimArquivo (listaInteiros).transInt4Bytes(integer,listaInteiros).volume(integer,integer).DATABASEarquivoMIDI(listaInteiros). %criado para o caso de se desejar modificar o formato ou a ppqCLAUSES%inicio inicia a lista do Arquivo MIDI formato 0 com o cabe鏰lho principal e o lable do trackinicio:-  cabecalhoPrincipal(Mthd),cabecalhoTrack(Mtrk),concatena(Mthd,Mtrk,Cab),asserta(arquivoMIDI(Cab)),criaArqMIDI([]).criaArqMIDI(Mus):-               write("Entre com uma nota musical de do5 a si5",'\n',"nota-> "),              readln(Nota),nota(Nota,N1),nl,               write("Entre com a figura musical da nota ", Nota,'\n',"figura musical-> "),              readln(Figura),tempo(Figura,F1),nl,              write("Entre com o volume da nota ", Nota,'\n',"volume(0 a 127)-> "),              readInt(Volume),volume(Volume,VolumeCerto),              concatena(Mus,[0,144,N1,VolumeCerto,F1,128,N1,0],MusNova),nl,              write("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"),nl,              write("Musica Atual = ",MusNova),nl,              write("Deseja parar ?",'\n',"(s/n)-> "),              readChar(C),nl,              parar(C,MusNova).%para simplificar, esta se adotando que o track musical, incluindo os 4 Bytes do fim de track, n鉶 ultrapassem o valor 255.%Caso isto ocorra, dever-se-

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -