Skip to content

Commit 8c0d71d

Browse files
committed
Ver 0.4619 tempos adicionales, export midi, etc
1 parent b3af5e0 commit 8c0d71d

31 files changed

+775
-292
lines changed

Ayuda.txt

+21
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,27 @@
263263

264264

265265
16 ) EXPORTAR UNA PISTA O CANCION A MIDI FORMATO 1:
266+
-Ver 0.4619 se corrigio y agrego al plano. detalles
267+
A PARTIR DEL *.ROLL SE CREARON PLANOS TXT Y DESDE EL,
268+
EL *.MID CORRESPONDIENTE NOTA:
269+
SI AL CARGAR UN ROLL O RTK NO SE VEN LAS LINEAS DE CAMPASES
270+
SIGNIFICA QUE NO ESTA AJUSTADO EL TEMPO EN EL ARCHIVO
271+
AJUSTAR EL TEMPO EN EL MENU GRAFICO DE ROLL, ALT + CLICK EN
272+
[OPCIONES]-> LUEGO CLICK EN [COMPAS]--> CLICK PARA ELEGIR
273+
[4/4], [3/4], ETC, LUEGO GRABAR EL ARCHIVO -- CLICK, ARCHIVO->
274+
CTRL+CLICK, [GRABAR], VERIFICAR EL CANAL Y EL MIDI OUT:
275+
CANAL ..ALT+CLICK [OPCIONES]--> CTRL `CLICK CONFIGURACION-->
276+
CLICK EN [CANALES] O [MIDI],
277+
SI EL CANAL ESTA BIEN, CERRAR LA VENTANA DESDE EL BOTON SUPERIOR
278+
DERECHO x .-
279+
SI SE DESEA CAMBIAR, DAR UN CLICK AL CANAL NO DESEADO, LA [X]
280+
DESAPARECERA. Y LUEGO DAR CLICK EN EL CANAL DESEADO, APARECERA
281+
UNA [X], LUEGO PULSAR EL BOTON CAMBIA, CERRAR LA VENTANA DESDE
282+
EL BOTON X SUPERIOR DERECHO..
283+
LO MISMO PARA EL MIDI, CLICK MIDI-> ELEGIR MIDI-OUT O MIDI-IN,
284+
EL MIDI-OUT SERA LA SALIDA HACIA UN SINTETIZADOR VIRTUAL O UN
285+
CABLE MIDI VIRTUAL, COMO LOOPMIDI O UN USB MIDI CABLE REAL ETC.
286+
ver carpeta \SECUENCIAS-y-PRUEBAS\MIDI-CREADA
266287
-Ver 0.4618 se puede exportar varias veces sin salir del programa.
267288
-Ver 0.4617 cancion se puede exportar cargamos una cancion con 1.0 o 2.0
268289
luego igual que antes cargamos 4.5 que ahora se llama "Exportara midi durante Reproduccion"

ROLLCTRLSUB.bi

+27-20
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,8 @@ Sub CTRL10075 ()
134134

135135
ROLLCARGADO=False
136136
Dim As String nombreg
137+
nombreg = OpenFileRequester("","","Roll files (*.roll, *.rtk)"+Chr(0))
137138

138-
getfiles(file,myfilter,"open")
139-
140-
nombreg=*file.lpstrFile
141139
If nombreg = "" Then
142140
Print #1,"exit select por nombreg vacio "
143141
Exit Sub
@@ -153,9 +151,8 @@ Sub CTRL1010(ByRef salida As INTEGER)
153151
ROLLCARGADO=False
154152
TRACKCARGADO=FALSE
155153
Dim As String nombreg
154+
nombreg = OpenFileRequester("","","Roll files (*.roll, *.rtk)"+Chr(0))
156155

157-
getfiles(file,myfilter,"open")
158-
nombreg=*file.lpstrFile
159156
If nombreg = "" Then
160157
Print #1,"exit select por nombreg vacio "
161158
salida=1
@@ -175,8 +172,7 @@ Sub CTRL1012 (ByRef SALIDA As Integer)
175172
ROLLCARGADO=FALSE
176173
Dim As String nombreg
177174
If nombre = "" Then
178-
getfiles(file,myfilter,"save")
179-
nombreg=*file.lpstrFile
175+
nombreg = OpenFileRequester("","","Roll files (*.roll, *.rtk)"+Chr(0))
180176
If nombreg = "" Then
181177
print #1,"exit select por nombreg vacio "
182178
SALIDA=1
@@ -194,6 +190,7 @@ Sub CTRL1012 (ByRef SALIDA As Integer)
194190

195191
End Sub
196192

193+
197194
Sub CTRL1015 ()
198195
' preparamos para grabar la pista por cambio de patch
199196
Dim As Integer pis=0, K=0
@@ -231,6 +228,8 @@ pgmidi.toc=toc
231228
'pgmidi.tocatope = tocatope
232229
pgmidi.tocap = tocap
233230
'threadGrabamidi=@pgmidi
231+
232+
grabariniciotxt (NombreCancion)
234233
GrabarMidiIn(pgmidi) ' POR 1015
235234
' ThreadCreate (@GrabarMidiIn,CPtr(Any Ptr, threadGrabamidi))
236235

@@ -258,9 +257,12 @@ Do while Not Eof(ini)
258257
If LCase(estado) = "no" Then
259258
CheckBox_SetCheck (cbxejec(arch),0)
260259
EndIf
261-
260+
If LCase(estado) = "tiempopatronejec" then
261+
tiempoPatronEjec=arch
262+
EndIf
262263
Loop
263264

265+
264266
Close #ini
265267

266268
End Sub
@@ -288,6 +290,7 @@ For i1=1 To tocatope
288290

289291
Print #ini, i1;",";estado
290292
Next i1
293+
Print #ini, tiempoPatronEjec; ","; "tiempoPatronEjec"
291294

292295
Close #ini
293296

@@ -1094,19 +1097,23 @@ Static As Integer millave
10941097
SetGadgetstate(BTN_MIDI_GRABAR,BTN_LIBERADO)
10951098
GrabarEjec=GrabarPistaEjecucion
10961099
arrancaPlay=0
1097-
1100+
' SAQUE EL METRONOMO ???? DEBERIA REPONERLO ,,,,, 26-04-2024 PROBAR
1101+
' CREO QUE LO SAQUE POR MOLESTO....JAJAJA VAMOS A REPONERLO ...
10981102
'metronomo de 4 pulsos para comenzar a grabar
1099-
' If GrabarEjec=1 And metronomo_si=1 Then
1100-
' terminar_metronomo=0
1101-
' Dim As Integer im=0
1102-
' For im=1 To 4
1103-
' noteon(60,60,1,0)
1104-
' noteoff(60,1,0)
1105-
' duracion(Timer, (60/tiempoPatron) / FactortiempoPatron)
1106-
' Next im
1107-
' threadmetronomo = ThreadCall metronomo()
1108-
' EndIf
1109-
1103+
If GrabarEjec=1 And metronomo_si=1 Then
1104+
terminar_metronomo=0
1105+
Dim As Integer im=0
1106+
For im=1 To 4
1107+
noteon(60,60,1,0,1)
1108+
noteoff(60,1,0,1)
1109+
duracion(Timer, (60/tiempoPatron) / FactortiempoPatron)
1110+
Next im
1111+
threadmetronomo = ThreadCall metronomo()
1112+
terminar_metronomo=1 ''SOLO DEJAMOS LAS 4 PRIMERAS POR ACA
1113+
EndIf
1114+
' O SEA ASI COMOESTA SOLO NOS PREPARA PARA PARA TOCAR Y LUEGO SE CALLA
1115+
' DEBERIA SER OPCIONAL QUE SE CALLE O NO DESPUES DE LOS 4 PRIMEROS
1116+
'
11101117

11111118

11121119
EndIf ' end event 10

ROLLDEC.BI

+35-19
Original file line numberDiff line numberDiff line change
@@ -541,11 +541,22 @@ Dim Shared cuart As Integer=0 'nro q indica sumarle 1/4 de su valor
541541
' ej tecleo 1+.+A=O* en linea A dela octava que sea
542542
' ej tecleo s+1+.+A =sO* en A..
543543
' tambien en vez de estos simbolos usare los de un pentagrama comun,,,,futuro
544-
Dim Shared As BOOLEAN ayuda, ayudaNuevaNota, ayudaModif, vuelta,dobleclick
544+
Dim Shared As BOOLEAN ayuda, ayudaNuevaNota, ayudaModif, vuelta,dobleclick
545545
haycompas=0
546546
dobleclick=>FALSE
547547

548+
Dim Shared TipoCompas As UByte
549+
Const As UByte Tcompas2_4 = 6
550+
Const As UByte Tcompas3_4 = 7
551+
Const As UByte Tcompas4_4 = 8
552+
Const As UByte Tcompas6_8 = 14
553+
Const As UByte Tcompas12_8 = 20
554+
555+
TipoCompas=Tcompas4_4
556+
548557
Dim Shared d7 As Integer => 10000000 ' PROBAREMOS CON 12/8 O 6 NEGRAS,,,15 MILL
558+
Dim Shared d6N As Integer => 15000000 ' 6 negras o 12/8 o 6/4
559+
Dim Shared d3N As Integer => 7500000 ' 3 negras 3/4
549560
Dim Shared d11 As Integer => 100000000000
550561
Dim Shared d4 As Integer => 10000 'para parametrizar menu roll
551562
' comienza el compas , se calculara dinamicamente,,,según posicion y la historia anterior
@@ -634,7 +645,8 @@ Type rangoOct Field=1
634645
As UByte zona1
635646
As UByte zona2
636647
As UByte nroRep
637-
As UByte portin
648+
As UByte portin
649+
As UByte tempo
638650
End Type
639651
' faltaria agregar grabar el nombre del dispositivo ........
640652
Dim Shared As rangoOct pmTk (0 To 64)
@@ -671,20 +683,20 @@ Dim Shared As Integer abrirMIDIin=0
671683
' nC indica 144, nF indica 128
672684

673685
Type poli Field=1 ' para guardar la secuencia
674-
dur As UByte =0 ' duracion
675-
dur2 As UByte =0 ' SONIDO ON/OFF
676-
dur3 As UByte =0 '
677-
dur4 As UByte =0 '
678-
dur5 As UByte =0 '
679-
dur6 As UByte =0 '
680-
dur7 As UByte =0 '
681-
dur8 As UByte =0 '
686+
dur As UByte =0 ' duracion
687+
dur2 As UByte =0 ' SONIDO ON/OFF
688+
canal As UByte =0 '
689+
dur4 As UByte =0 '
690+
dur5 As UByte =0 '
691+
dur6 As UByte =0 '
692+
dur7 As UByte =0 '
693+
dur8 As UByte =0 '
682694

683695
nota As UByte =0 ' en un futuro contendra nota, octava, canal etc
684-
vol As UByte =0 ' volumen
685-
pan As UByte =0 ' paneo
686-
pb As UByte =0 ' pitch bend
687-
nnn As UByte =0' se usa para escala canal etc
696+
vol As UByte =0 ' volumen
697+
pan As UByte =0 ' paneo
698+
pb As UByte =0 ' pitch bend
699+
nnn As UByte =0' se usa para escala canal etc
688700
tick As ubyte =0' 128 tiene la redonda *1,75 segun pesoDur, 1 la cuartifusa o garrapatea todavia no la uso
689701
acorde As ubyte =0 ' 1 a 12 , son el se hara el sort
690702
End Type
@@ -712,9 +724,10 @@ Type dat Field=1
712724
pan As UByte =0 ' paneo + o -
713725
pb As UByte =0 ' pitch bend + o -
714726
inst As UByte =0 ' instrumento para cada nota podra ser distinto 1 to 128
715-
' Nota de escala son 12 ..bemol o sostenido son 2
716-
' entonces en 14 numero stengo la info
717-
' 129 -> c,130->c#,131->d...140->B--, 141-sos,142,bemol
727+
' Nota de escala son 12 ..bemol o sostenido son 2, 1 a 12 sostenidos, 13 a 24 bemoles
728+
' entonces en 24 numeros tengo la info de nota
729+
' octavas son 8 desde 15 a 20 son las octavas,
730+
' canal son 16 de 21 a 36 ... etc etc pero no se hizo de esa forma...
718731
''t As Ulong ' ticks por ahroa no
719732
End Type
720733
' dentro del vol pondremso las escalas
@@ -786,7 +799,8 @@ Dim Shared As melodia_undo mel_undo(1 To 5000)
786799
' el acorde tiene 1,3,5,7 aca almacenamos 3,5,7 pero no la funamental
787800
' esa es el origen donde pulso Ctrl-click derecho, si suponemo teorico
788801
' un acorde de 12 notas (raro), son 11 los lugares distintos de la funfamental
789-
Dim Shared As notas_agregadas undo_acorde(1 To 500, 0 To 11) ' undo para 1 acorde entrado de hasta 12 notas adicionales
802+
Dim Shared As notas_agregadas undo_acorde(1 To 500, 0 To 11) ' undo para 1 acorde
803+
' entrado de hasta 12 notas adicionales
790804
' c/inst puede tocar como una persona hasta 12 notas juntas de acorde
791805
' entonces no se justifica tener en un solo instrumento una polifonia mas de 12
792806
' ni de 108,,,ergo puedo poner mas trakcs o mas longitud
@@ -966,7 +980,7 @@ Type ejecparam Field=1
966980
As UByte portin
967981
'''As UByte sonido ' 23-04-2024 1 o 0 lo pondremos dentro de portin
968982
End Type
969-
983+
'' UFF ME FALTA tiempoPatronEjec DONDE LO GRABO ? A DISCO COMO SONIDO
970984

971985
' faltaba un parametro "sonido" para indicar si esta sonando o no
972986
' pero si agrego ese param pierdo los archivos que ejecute,,,
@@ -1029,3 +1043,5 @@ Declare Sub GrabarMidiIn ( ByRef par As paramGrabamidi)
10291043

10301044
Declare Sub CargarSinRoll () '28-02-2024
10311045
Declare Sub SetOptionsWindowScroll (iParam As Long)
1046+
Declare Sub cargariniciotxt(lugar As String)
1047+
Declare Sub grabariniciotxt(lugar As String)

ROLLINICIO.bi

+1
Original file line numberDiff line numberDiff line change
@@ -678,6 +678,7 @@ nVerEscalasAuxiliares=ValInt(sVerEscalasAuxiliares)
678678
nanchofig =ValInt(sanchofig)
679679
nVerCifradoAcordes=ValInt(sVerCifradoAcordes)
680680

681+
681682
Print #1,"nanchofig " ,nanchofig
682683
If nfont > 0 Then
683684
font=nfont

ROLLLoop.bi

+1-2
Original file line numberDiff line numberDiff line change
@@ -1369,8 +1369,7 @@ If MultiKey (SC_F11) Then ' <========= Grabar Roll Disco F11
13691369
' print #1, "Grabando a disco Roll F11 "
13701370
Dim As String nombreg
13711371
If nombre = "" Then
1372-
getfiles(file,myfilter,"save")
1373-
nombreg=*file.lpstrFile
1372+
nombreg = OpenFileRequester("","","Roll files (*.roll, *.rtk)"+Chr(0))
13741373
If nombreg = "" Then
13751374
Exit Do
13761375
Else

0 commit comments

Comments
 (0)