' ********************************************************** ' G+ * ' * * ' * by Prof.Dr.Godfried-Willem RAES * ' * procedure declaration file for use of the G_LIB.DLL * ' * Translate this file to use the library in C or C++ * ' * last update: 22.11.2014 * ' ********************************************************** #INCLUDE THIS ONCE #IF NOT %DEF(%g_lib_inc) ' **** general exported GMT procedures and functions DECLARE FUNCTION Init_lib_pointers LIB "g_lib.dll" (gh AS GMT_HANDLES, App AS ApplicationType, Tk() AS Taak, Tx() AS EXTRAINFO,_ Kb AS KeyboardController, BYREF Meq() AS midiequipment) AS DWORD DECLARE FUNCTION Update_MidiEquipment LIB "g_lib.dll" (BYREF Meq() AS MidiEquipment) AS DWORD DECLARE SUB GMT_Help LIB "g_lib.dll" () DECLARE SUB gmt_CreateAboutBox LIB "g_lib.dll" (BYVAL ID AS LONG) DECLARE SUB WindowsMessageHandler LIB "g_lib.dll" (msg AS tagMSG) DECLARE FUNCTION gmt_Icon LIB "g_lib.dll" (BYVAL f AS STRING) AS DWORD DECLARE FUNCTION AdaptMenuToCompilation LIB "g_lib.dll" () AS DWORD '26.06.2002 DECLARE SUB Publish_MM LIB "g_lib.dll" (BYVAL MenM AS DWORD, BYVAL siz AS DWORD) ' 16.01.2005 DECLARE FUNCTION GetApplicationIconHandle LIB "g_lib.dll" (BYVAL apid AS LONG) AS LONG #IF %DEF(%choose_timer_mode) DECLARE SUB StartTask LIB "g_lib.dll" (BYVAL tasknr AS LONG, OPT BYVAL modus AS LONG) #ELSE DECLARE SUB StartTask LIB "g_lib.dll" (BYVAL tasknr AS LONG) #ENDIF DECLARE SUB StopTask LIB "g_lib.dll" (BYVAL tasknr AS LONG) DECLARE FUNCTION GMTCockpit LIB "g_lib.dll" (BYVAL hDlg AS LONG, BYVAL wMsg AS LONG, BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG DECLARE SUB InitButtons LIB "g_lib.dll" (BYREF ButnSW() AS SwitchController, BYREF ButnOS() AS OneShotController) DECLARE SUB InitFunctionKeys LIB "g_lib.dll" (BYREF FunctionKey() AS FunctionKeyController) DECLARE FUNCTION FreeTaskNr LIB "g_lib.dll" (OPT BYVAL n AS DWORD) AS LONG ' 29.08.2005 'DECLARE SUB InitKeyboard LIB "g_lib.dll" (BYREF Keyboard AS KeyboardController) ' default buttonhandlers: DECLARE SUB ButnSW_MidiThruToggle LIB "g_lib.dll" () ' cfr. g_main.inc DECLARE SUB ButnSW_StartStopToggle LIB "g_lib.dll" () DECLARE SUB ButnSW_MakeStaffGraph LIB "g_lib.dll" () DECLARE SUB ButnSW_MakeList LIB "g_lib.dll" () DECLARE SUB ButnSW_MakeHarvel LIB "g_lib.dll" () DECLARE SUB ButnSW_MakeMelPat LIB "g_lib.dll" () DECLARE SUB ButnSW_MakeHarPsy LIB "g_lib.dll" () DECLARE SUB ButnSW_MakeSpect LIB "g_lib.dll" () DECLARE SUB ButnOS_MidiAllNotesOffToggle LIB "g_lib.dll" () DECLARE SUB ButnOS_HarFuz LIB "g_lib.dll" () DECLARE SUB ButnOS_MelFuz LIB "g_lib.dll" () DECLARE SUB ButnOS_ClearDelays LIB "g_lib.dll" () DECLARE SUB ButnOS_Reset LIB "g_lib.dll" () DECLARE SUB FunctionKeyHandler LIB "g_lib.dll" () ' dummy DECLARE SUB KeyboardHandler LIB "g_lib.dll" () ' relais ' tasks residing in the dll: DECLARE FUNCTION RunTime LIB "g_lib.dll" (BYVAL onoff AS DWORD) AS DWORD DECLARE FUNCTION Promil LIB "g_lib.dll" (BYVAL onoff AS DWORD) AS DWORD DECLARE SUB GlobHar LIB "g_lib.dll" () DECLARE SUB WriteSeqScore LIB "g_lib.dll" () DECLARE SUB PlaySeq LIB "g_lib.dll" () DECLARE SUB ShowGlobHar LIB "g_lib.dll" () ' in g_main.inc '------------ DECLARE FUNCTION ExportSeqPtr LIB "g_lib.dll" () AS DWORD '--------- DECLARE FUNCTION Tprop LIB "g_lib.dll" (BYVAL tasknr AS DWORD) AS SINGLE DECLARE FUNCTION Tang LIB "g_lib.dll" (BYVAL tasknr AS DWORD) AS SINGLE DECLARE FUNCTION GetProMil LIB "g_lib.dll" () AS INTEGER DECLARE FUNCTION ReadSeqFile$ LIB "g_lib.dll" (BYVAL track%, BYVAL speedfactor!) ' -------------- ' timed proces objects: [ 23.09.2003] DECLARE FUNCTION Create_FromTo LIB "g_lib.dll" (FromTo AS FromToType) AS DWORD DECLARE FUNCTION Kill_FromTo LIB "g_lib.dll" (FromTo AS FromToType) AS DWORD ' timed events: [09.10.2003] DECLARE FUNCTION ScheduleEvent LIB "g_lib.dll" (SchEv AS TimedEvent) AS DWORD DECLARE FUNCTION QScheduleEvent LIB "g_lib.dll" (BYREF SchEv AS TimedEvent) AS DWORD ' -------------- DECLARE FUNCTION MakeToolBar LIB "g_lib.dll" (BYVAL hInst AS LONG, BYVAL hWnd AS LONG, BYVAL nrofbuttons AS BYTE) AS LONG DECLARE SUB MakeSliderControls LIB "g_lib.dll" (BYVAL hW AS LONG, BYVAL nrsliders AS BYTE, BYREF Slider() AS SliderController, TaskParamLabels() AS ASCIIZ * 8) DECLARE SUB SliderMessageHandler LIB "g_lib.dll" (BYVAL wP AS LONG, BYVAL lP AS LONG) DECLARE SUB MakeCockpitUpDowns LIB "g_lib.dll" (BYREF UDctrl() AS UpDownController) DECLARE SUB MakeUpDownControls LIB "g_lib.dll" (BYVAL hW AS LONG,BYVAL aantal AS BYTE, BYREF UDctrl() AS UpDownController, BYVAL nrsliders AS BYTE, TaskParamLabels() AS ASCIIZ * 8) DECLARE SUB ShowIntroScreen LIB "g_lib.dll" () DECLARE SUB ShowMenuSelections LIB "g_lib.dll" () '(Meq() AS MidiEquipment) ' resets the pointers in pMeq DECLARE FUNCTION GetDefaultApp LIB "g_lib.dll" () AS LONG DECLARE FUNCTION ReadMidiFlagsFromFile LIB "g_lib.dll" (f AS STRING) AS LONG DECLARE SUB PrintCockpitLabels LIB "g_lib.dll" (CockpitLayo AS CockpitLabels) 'DECLARE SUB GetCockpitLabelIDs LIB "g_lib.dll" (CockpitLayo AS CockpitLabels) - removed 11.10.2003 'DECLARE SUB GetDefaultCockpitLabels LIB "g_lib.dll" (CockpitLayo AS CockpitLabels) ' - moved to g_file 'DECLARE SUB ReadCockpitLabelsFromFile LIB "g_lib.dll" (Filenaam AS STRING, CockpitLayo AS CockpitLabels) ' to g_file DECLARE SUB ClearCockpitSwitches LIB "g_lib.dll" (BYREF ButnSW() AS SwitchController) DECLARE SUB ClearCockpitOneShots LIB "g_lib.dll" (BYREF ButnOS() AS OneShotController) DECLARE SUB UpdateCockPit LIB "g_lib.dll" () ' actualizes the cockpit window in function of the selected application. ' called immediately after the GMT start command in the main setup window DECLARE SUB ChangeCockpitTasks LIB "g_lib.dll" (BYVAL callingtask AS DWORD) ' 20.11.2001 DECLARE SUB RemoveCockpitTask LIB "g_lib.dll" (BYVAL nr AS DWORD) ' 01.12.2002 ' **** graphics, visualisation and display related procedures and functions: DECLARE SUB CenterWindow LIB "g_lib.dll" (BYVAL hWnd AS LONG) ' centers a window on the screen DECLARE SUB CornerWindow LIB "g_lib.dll" (BYVAL hWnd AS LONG, pl AS STRING) ' places a window in one of the screen corners. DECLARE SUB ShowPsiChord LIB "g_lib.dll" (h AS HarmType, BYVAL hor%, BYVAL ver%, BYVAL hs%, BYVAL vs%) DECLARE SUB ShowHar LIB "g_lib.dll" (h AS HarmType, BYVAL hor%, BYVAL ver%, BYVAL s!) DECLARE SUB ClearScreenBlock LIB "g_lib.dll" (BYVAL hDC AS LONG, BYVAL hor%, BYVAL ver%, BYVAL horpix%, BYVAL verpix%) ' translated to Win32Api DECLARE SUB ShowNormArray LIB "g_lib.dll" (BYVAL hW AS LONG, Arr!(),OPTIONAL BYVAL flag AS DWORD) DECLARE SUB DrawBlankBar LIB "g_lib.dll" (s AS StaffType, BYVAL hDC AS LONG, BYVAL horpos1 AS WORD, BYVAL horpos2 AS WORD) DECLARE SUB DrawStaff LIB "g_lib.dll" (s AS StaffType, BYVAL hDC AS LONG) DECLARE SUB DrawNote LIB "g_lib.dll" (s AS Stafftype,BYVAL hDC AS LONG, BYVAL lineposition AS INTEGER, BYVAL horpos AS WORD) DECLARE SUB DrawFlat LIB "g_lib.dll" (s AS stafftype,BYVAL hDC AS LONG, BYVAL lineposition AS INTEGER, BYVAL horpos AS WORD) DECLARE SUB DrawSharp LIB "g_lib.dll" (s AS stafftype,BYVAL hDC AS LONG, BYVAL lineposition AS INTEGER, BYVAL horpos AS WORD) DECLARE SUB DrawClef LIB "g_lib.dll" (s AS stafftype, BYVAL hDC AS LONG, BYVAL horpos AS WORD) DECLARE SUB DrawBarline LIB "g_lib.dll" (s AS stafftype,BYVAL hDC AS LONG, BYVAL horpos AS WORD) DECLARE SUB DrawChordNumber LIB "g_lib.dll" (s AS stafftype,BYVAL hDC AS LONG, BYVAL crd%, BYVAL horpos AS WORD) DECLARE FUNCTION ShowNote LIB "g_lib.dll" (s AS stafftype, BYVAL hDC AS LONG, BYVAL midinote AS BYTE, BYVAL horpos AS WORD) AS WORD ' returns the new cursor position for writing a next note ' supports only notes up to midi 96 DECLARE SUB ResetStaff LIB "g_lib.dll" (BYREF S AS StaffType) DECLARE SUB SetStaff LIB "g_lib.dll" (S AS StaffType) ' the callbacks for following windows need not be exported. DECLARE FUNCTION ProcMelodyPatternWindow LIB "g_lib.dll" (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG,_ BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG ' callback 23.02.2000 DECLARE FUNCTION MakeMelodyPatternWindow LIB "g_lib.dll" () AS LONG ' 23.02.2000 DECLARE FUNCTION MakeGraphWindow LIB "g_lib.dll" () AS LONG ' 23.02.2000 DECLARE FUNCTION GraphProc LIB "g_lib.dll" (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG,_ BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG ' callback 23.02.2000 DECLARE FUNCTION MakeHarVelWindow LIB "g_lib.dll" () AS LONG DECLARE FUNCTION HarvelProc LIB "g_lib.dll" (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG, _ BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG ' callback 23.02.2000 DECLARE FUNCTION MakeHarPsyWindow LIB "g_lib.dll" () AS LONG DECLARE FUNCTION HarPsyProc LIB "g_lib.dll" (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG,_ BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG ' callback DECLARE FUNCTION MakeSpectrumWindow LIB "g_lib.dll" () AS LONG DECLARE FUNCTION SpectrumProc LIB "g_lib.dll" (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG,_ BYVAL wParam AS LONG, BYVAL lParam AS LONG)AS LONG ' callback ' vu-window: [added 18.04.2000] DECLARE FUNCTION Make_ii_VU_Window LIB "g_lib.dll" (BYVAL resolution AS BYTE) AS LONG DECLARE FUNCTION iiVUProc LIB "g_lib.dll" (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG, _ BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG ' added 24.04.2000: DECLARE SUB MakeTaskParameterDialog LIB "g_lib.dll" (BYVAL tasknr AS INTEGER,_ BYVAL nrsliders AS BYTE,_ BYREF Sliders() AS SliderController,_ BYVAL nrupdowns AS BYTE,_ BYREF UDctrl() AS UpDownController,_ TaskParamLabels() AS ASCIIZ * 8) 'DECLARE FUNCTION TaskParameterHandler LIB "g_lib.dll" (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG,_ ' BYVAL wParam AS LONG, BYVAL lParam AS LONG)AS LONG DECLARE SUB wPrint LIB "g_lib.dll" (BYVAL param AS LONG, BYREF glist()AS STRING * 80) ' 01.04.2000 '****************************************************** '* MIDI I/O related procedures and functions. * '* code module g_midi.inc / g_midi.bi * '****************************************************** DECLARE SUB PrepareMidiIOmenu LIB "g_lib.dll" (BYREF hMO AS DWORD , hMI AS DWORD) ' new 22.07.2004 DECLARE SUB GetMidiOutPorts LIB "g_lib.dll" (mp() AS STRING) ' returns names of ports in an array DECLARE SUB GetMidiInPorts LIB "g_lib.dll" (mp() AS STRING) DECLARE FUNCTION GethMidiO LIB "g_lib.dll" (i AS LONG) AS DWORD 'returns hMidiO(i) if it exists, otherwise 0 DECLARE FUNCTION GethMidiI LIB "g_lib.dll" (i AS LONG) AS DWORD 'returns hMidiI(i) if it exists, otherwise 0 DECLARE FUNCTION OpenMidiOutputDevice LIB "g_lib.dll" (BYVAL devicenumber AS LONG) AS DWORD DECLARE SUB ReportMidiError LIB "g_lib.dll" (BYVAL ID AS LONG) DECLARE FUNCTION MidiProc LIB "g_lib.dll" (BYVAL h AS DWORD, BYVAL wMsg AS LONG, BYVAL dwI AS DWORD, BYVAL wParam AS DWORD, BYVAL lParam AS DWORD) AS LONG DECLARE FUNCTION GetSysEx LIB "g_lib.dll" (BYVAL devnr AS WORD, BYVAL flags AS INTEGER) AS STRING DECLARE SUB StartSysExThread LIB "g_lib.dll" (BYREF SxThread AS GMT_SYSEX_THREAD) DECLARE SUB QuitSysExThread LIB "g_lib.dll" (BYVAL devnr AS BYTE) ' was before 15.01.2002: (BYVAL hmi AS DWORD) DECLARE SUB BlockSysExReception LIB "g_lib.dll"(BYVAL hmi AS DWORD) DECLARE SUB SysEx LIB "g_lib.dll"(BYVAL hMidiOut AS DWORD, Sx$) DECLARE SUB AllNotesOff LIB "g_lib.dll"(BYVAL k AS WORD) DECLARE SUB NoteOff LIB "g_lib.dll"(BYVAL k AS WORD,BYVAL n?) ' &H80 NoteOFF direct out procedure DECLARE SUB Release LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL n?, BYVAL rel?) ' &H80... 12.12.2004 DECLARE SUB mPlay LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL n?, BYVAL velo?) ' &H90 NoteON or NoteOFF (velo=0) direct out procedure DECLARE SUB PlayDur LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL n?, BYVAL velo?, BYVAL duur AS DWORD) DECLARE SUB PlayHarDur LIB "g_lib.dll"(BYVAL kanaal AS WORD, BYVAL h AS HarmType, BYVAL duur AS DWORD) 'new 208.07.30 DECLARE SUB KeyPress LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL nt?, BYVAL value?) ' &HA0 Key - Pressure direct out procedure DECLARE SUB ModeMess LIB "g_lib.dll"(BYVAL k AS WORD,BYVAL ctrl?, BYVAL value?) ' &HB0 Mode and controller messages DECLARE SUB Controller LIB "g_lib.dll"(BYVAL k AS WORD,BYVAL ctrl?, BYVAL value?) ' same as above! (same coding) DECLARE SUB SetMidiChannel LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL newchannel?) ' same- for M&M robots DECLARE SUB ResetRobot LIB "g_lib.dll"(BYVAL k AS WORD) ' for M&M robots DECLARE SUB ProgChange LIB "g_lib.dll"(BYVAL k AS WORD,BYVAL value?) ' &HC0 program change DECLARE SUB ProgChangeEx LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL msblsb AS WORD, BYVAL value?) '29.02.2000 DECLARE SUB AfterTouch LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL value?) ' &HD0 channel aftertouch/pressure DECLARE SUB Bend LIB "g_lib.dll"(BYVAL k AS WORD,BYVAL lsb?, BYVAL msb?) ' &HE0 pitchbend (raw, 14bits) DECLARE SUB NoteCentOn LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL noot!, BYVAL velo?) ' note + microtonal correction DECLARE SUB NoteCentOff LIB "g_lib.dll"(BYVAL k AS WORD,BYVAL noot!) ' coding: the integer part of noot is the note, ' the fractional part, the deviation in cents ' negative means: cents below the specified note ' positive is always note + cents above it ' The NoteCentOff procedure switches the note off and resets the pitchbend DECLARE SUB NoteFOn LIB "g_lib.dll" (BYVAL m AS musician, BYVAL note AS CURRENCY, BYVAL velo AS BYTE) DECLARE SUB NoteFOff LIB "g_lib.dll" (BYVAL m AS musician, BYVAL note AS CURRENCY) DECLARE FUNCTION gliss LIB "g_lib.dll" (BYVAL pM AS musician PTR, BYVAL van AS CURRENCY, BYVAL tot AS CURRENCY, BYVAL duur AS SINGLE, BYVAL velo AS BYTE, OPT BYVAL cb AS DWORD, OPT BYVAL surpressfingerings AS LONG) AS LONG DECLARE SUB Proteuspatch LIB "g_lib.dll" (Mq AS MidiEquipment, BYVAL k AS WORD, BYVAL patchnumber AS WORD) ' midi patch procedure for EMU Proteus 1/2/3/2000 ' supports patches 0 ---> 191 or more DECLARE SUB PlayHar LIB "g_lib.dll"(H AS HarmType, BYVAL k AS WORD) ' plays contents of har.vel via channel k? DECLARE SUB QInstrumPlay LIB "g_lib.dll"(BYREF M AS musician) ' plays quartertone harmstrings to robots DECLARE SUB BypassTSR24 LIB "g_lib.dll"(BYVAL k AS WORD) ' digitech TSR24 + PPI2 board dual DSP processor DECLARE SUB ProtOFF LIB "g_lib.dll"(Mq AS MidiEquipment, BYVAL k AS WORD) ' songbook - DECLARE SUB ProtON LIB "g_lib.dll"(Mq AS MidiEquipment, BYVAL k AS WORD) ' songbook - DECLARE SUB ProteusTuning LIB "g_lib.dll"(Mq AS MidiEquipment, BYVAL k AS WORD, BYVAL patch AS WORD, BYVAL tuningnumber AS BYTE) DECLARE SUB InitP2M LIB "g_lib.dll"(Pitch2Midi$, BYVAL k AS WORD) ' supports only roland GI10 sofar. DECLARE FUNCTION MidiProc LIB "g_lib.dll"(BYVAL hW AS DWORD, BYVAL wM AS LONG, BYVAL Ins AS DWORD,_ BYVAL Par1 AS DWORD, BYVAL Par2 AS DWORD) AS LONG DECLARE FUNCTION OpenMidiInputDevice LIB "g_lib.dll"(BYVAL devicenumber AS LONG) AS DWORD DECLARE SUB ClearMiBuf LIB "g_lib.dll"(BYVAL mport AS WORD) ' erase the midi input buffer DECLARE FUNCTION GetPitchBend% LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL flags AS INTEGER) DECLARE FUNCTION GetPitchBendRaw% LIB "g_lib.dll"(BYVAL k AS WORD,BYVAL flags AS INTEGER) ' returns msb, lsb in 14 bits DECLARE FUNCTION GetMidiNote% LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL flags AS INTEGER) DECLARE FUNCTION GetNoteOff LIB "g_lib.dll" (BYVAL k AS WORD, BYVAL flags AS INTEGER) AS INTEGER DECLARE FUNCTION GetController% LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL c?, BYVAL flags AS INTEGER) DECLARE FUNCTION GetControllers LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL flags AS INTEGER) AS INTEGER ' 26.07.2004 DECLARE FUNCTION GetPressure LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL flags AS INTEGER) AS INTEGER ' note + keypressure DECLARE FUNCTION GetProgChange LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL flags AS INTEGER) AS INTEGER DECLARE FUNCTION GetAfterTouch LIB "g_lib.dll"(BYVAL k AS WORD, BYVAL flags AS INTEGER) AS INTEGER ' channel aftertouch &HD0 msg. DECLARE FUNCTION GetSongSelect LIB "g_lib.dll"(BYVAL mport AS WORD, BYVAL flags AS INTEGER) AS INTEGER ' 15.09.2000 DECLARE FUNCTION SongPositionPointer LIB "g_lib.dll" (BYVAL mport AS WORD, BYVAL flags AS WORD,BYVAL value AS WORD) AS WORD ' 15.09.2000 DECLARE FUNCTION MidiStopStartCont LIB "g_lib.dll" (BYVAL mport AS WORD, BYVAL flags AS WORD,BYVAL value AS WORD) AS WORD DECLARE SUB ClearDelayArrays LIB "g_lib.dll"() ' erase the midi delays from memory (Cockpit-button) DECLARE SUB WriteDelayLine LIB "g_lib.dll"(BYVAL noot?, BYVAL velo?) ' 02.01.2000 DECLARE FUNCTION ReadDelayLine LIB "g_lib.dll"(BYVAL INSTANCE AS BYTE, BYVAL delaytime AS DWORD, BYVAL speed!) AS INTEGER DECLARE SUB SetPitchBendRange LIB "g_lib.dll"(Mq AS MidiEquipment, BYVAL channel AS WORD, BYVAL RANGE AS BYTE) ' added 05.01.2000 DECLARE SUB InstrumAllNotesOff LIB "g_lib.dll"(BYREF instrument AS musician) DECLARE SUB InstrumPlay LIB "g_lib.dll"(BYREF instrument AS musician) DECLARE FUNCTION RecognizeNoteDur LIB "g_lib.dll"(BYVAL nv%, BYVAL duration AS DWORD, BYVAL tokennote?,BYVAL tolerance?)AS INTEGER DECLARE SUB Clear_MidiListenTask LIB "g_lib.dll" () ' clear buffer for start/stop listen task - 29.05.2002 ' new: UPD/IP relay support 23.11.2002 DECLARE SUB Midi_Listen_UDP LIB "g_lib.dll" (BYVAL b AS STRING) ' added 20.12.2002 DECLARE FUNCTION SetMidiListenChannel LIB "g_lib.dll" (BYVAL k AS WORD, BYVAL onoff AS DWORD) AS DWORD ' for our midi-controlled robots: [ added august 2003 ] 'DECLARE SUB MiRobotPlay LIB "g_lib.dll" (BYREF Robot AS musician) ' 29.06.2003 - removed 10.06.2014 DECLARE FUNCTION PlayLlor LIB "g_lib.dll" (BYVAL n AS SINGLE, BYVAL v AS DWORD, BYVAL dev AS SINGLE, OPT BYVAL silten AS LONG) AS DWORD DECLARE FUNCTION Sire_Play LIB "g_lib.dll" (BYVAL noot AS SINGLE, BYVAL velo AS BYTE, OPTIONAL BYVAL nr AS DWORD, OPT BYVAL MODE AS LONG) AS LONG DECLARE FUNCTION Sire_MidiNoot2Velo LIB "g_lib.dll" (BYVAL noot AS SINGLE, OPT BYVAL sirennr AS BYTE) AS WORD DECLARE FUNCTION Sire_Velo2MidiNoot LIB "g_lib.dll" (BYVAL velo AS INTEGER, OPT BYVAL sirennr AS BYTE) AS SINGLE ' for data acquisition devices using midi protocol (PicRadar) DECLARE FUNCTION GetPicRadarPointer LIB "g_lib.dll" (BYVAL n AS DWORD, BYVAL tasknr AS DWORD, BYVAL channel AS WORD) AS DWORD '21.07.2004 'DECLARE SUB PicRadarInput LIB "g_lib.dll" () no longer exported '21.07.2004 DECLARE SUB Create_PicRadar_Control LIB "g_lib.dll" (BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) ' 22.07.2004 ' for HY1 Hybridsensor (added 07.10.2007) DECLARE FUNCTION GetHY1Sensorpointer LIB "g_lib.dll" (BYVAL nr AS LONG,_ BYVAL listentasknr AS LONG) AS DWORD ' for AXE3 sensor (added 22.10.2007) DECLARE FUNCTION GetAX3SensorPointer LIB "g_lib.dll" (BYVAL nr AS LONG, BYVAL listentasknr AS LONG) AS DWORD ' for PIR2 sensor (added 17.11.2007) DECLARE FUNCTION GetPIR2SensorPointer LIB "g_lib.dll" (BYVAL nr AS LONG, BYVAL listentasknr AS LONG) AS DWORD ' for (added 30.12.2007) DECLARE FUNCTION GetHandySensorPointer LIB "g_lib.dll" (BYVAL nr AS LONG, BYVAL listentasknr AS LONG) AS DWORD ' written by Kristof Lauwers: 'DECLARE SUB StopMidiRec LIB "g_lib.dll" ' where is this one ??? DECLARE SUB MidiPlayer LIB "g_lib.dll" (OPT BYVAL resetplayer AS LONG, OPT BYVAL susp AS LONG) DECLARE SUB MM_MidiPlayer LIB "g_lib.dll" (OPT BYVAL resetplayer AS LONG, OPT BYVAL susp AS LONG, OPT BYVAL startplay AS LONG, OPT BYVAL files$) DECLARE SUB MidiPlayerStop LIB "g_lib.dll" (OPT BYVAL musptr AS DWORD, BYVAL uboundmus AS LONG) 'OBSOLETE?? pointer to array of M&M musicians 'DECLARE FUNCTION chmap LIB "g_lib.dll" _ ' (BYVAL md AS parsedmiditype, OPT BYVAL cpchfilt AS DWORD, OPT BYVAL clearflag AS LONG) AS WORD DECLARE SUB MM_Init_Tracks LIB "g_lib.dll" (BYVAL md AS parsedmiditype, BYVAL trackinfo$, BYVAL wh AS DWORD) DECLARE FUNCTION ToggleMM_Filter LIB "g_lib.dll" (BYVAL onoff AS DWORD) AS LONG DECLARE FUNCTION Midi2seq LIB "g_lib.dll" (BYVAL sourcefile AS STRING, OPT BYVAL destfile AS STRING) AS LONG #IF %DEF(%include_wavefunctions) ' ************************************************************************* ' * AUDIO I/O related functions and procedures * ' * cource code modules: g_wave.inc & g_wave.bi * ' ************************************************************************* DECLARE SUB PrepareWaveIOmenu LIB "g_lib.dll" () ' 26.06.2002 DECLARE FUNCTION GetAvailableAuxDevs$ LIB "g_lib.dll" () ' returns a text block to be displayed in a window DECLARE SUB GetAuxPorts LIB "g_lib.dll" (mp() AS STRING) DECLARE SUB GetWaveOutPorts LIB "g_lib.dll" (mp() AS STRING) ' returns names of ports in an array DECLARE SUB GetWaveInPorts LIB "g_lib.dll" (mp() AS STRING) DECLARE SUB PrepareWaveFunctions LIB "g_lib.dll" (WavHdr() AS WAVEHDR, TrackStatus AS AudioTrackStatus) DECLARE SUB SetAudio LIB "g_lib.dll" (BYREF Au AS AUDIOTYPE) DECLARE SUB CheckAudio LIB "g_lib.dll" (BYREF Au AS AUDIOTYPE, BYREF App AS ApplicationType) DECLARE FUNCTION GetAudioFormat LIB "g_lib.dll" () AS DWORD ' returns a pointer to the Audioformat structure in the DLL DECLARE FUNCTION OpenAudioInputDevice LIB "g_lib.dll" (BYVAL devicenumber AS LONG, TrackStatus AS AudioTrackStatus) AS DWORD DECLARE FUNCTION OpenAudioOutputDevice LIB "g_lib.dll" (BYVAL devicenumber AS LONG, TrackStatus AS AudioTrackStatus) AS DWORD DECLARE FUNCTION StartAudioOutStreamThread LIB "g_lib.dll" () AS LONG DECLARE FUNCTION ButnSW_StartAudioStreaming LIB "g_lib.dll" () AS LONG ' 03.05.2000 - buttonhandler DECLARE FUNCTION StartWaveOutStream LIB "g_lib.dll" (BYVAL param AS DWORD) AS LONG DECLARE FUNCTION StartWaveInStream LIB "g_lib.dll" (BYVAL param AS DWORD) AS LONG ' 14.04.2000 DECLARE FUNCTION GetFreeAudioTrack LIB "g_lib.dll" () AS LONG DECLARE FUNCTION SizeAudioTrack LIB "g_lib.dll" (BYVAL tracknr AS LONG, BYVAL d AS LONG) AS LONG DECLARE FUNCTION ReSizeAudioTrack LIB "g_lib.dll" (BYVAL tracknr AS LONG, BYVAL d AS LONG) AS LONG DECLARE FUNCTION PlayAudioTrack LIB "g_lib.dll" (BYVAL tracknr AS LONG, BYVAL flags AS DWORD) AS LONG DECLARE FUNCTION PlayWaveFile LIB "g_lib.dll" (filnam AS ASCIIZ, BYVAL flags AS WORD) AS LONG DECLARE FUNCTION RecordAudioSample LIB "g_lib.dll" (BYVAL duur AS DWORD) AS LONG DECLARE FUNCTION RetrieveSample LIB "g_lib.dll" (BYVAL duur AS DWORD) AS LONG ' 14.04.2000 DECLARE FUNCTION RetrieveInputWave LIB "g_lib.dll" (BYVAL param AS DWORD, BYREF Sp() AS SINGLE) AS LONG ' 26.04.2000 DECLARE FUNCTION ReadWaveData LIB "g_lib.dll" (filenaam AS ASCIIZ) AS LONG DECLARE FUNCTION Track2Seq LIB "g_lib.dll" (BYVAL track AS LONG, BYVAL lr AS LONG) AS STRING '22.06.2001 DECLARE FUNCTION Track2SeqEx LIB "g_lib.dll" (BYVAL track AS LONG, BYVAL lr AS LONG, BYVAL granul AS LONG, BYVAL NrNotes AS LONG, BYVAL lfreq AS LONG, BYVAL hifreq AS LONG) AS STRING DECLARE FUNCTION SaveAudioTrack LIB "g_lib.dll" (filenaam AS ASCIIZ, BYVAL Tracknr AS LONG) AS LONG DECLARE SUB AppendAudioTrack LIB "g_lib.dll" (BYVAL Track0 AS LONG, BYVAL Track1 AS LONG) ' 13.04.2000 DECLARE SUB BlankAudioBuffer LIB "g_lib.dll" (BYREF WavBufHead AS WAVEHDR) DECLARE FUNCTION CopyAudioTrack LIB "g_lib.dll" (BYVAL Track AS LONG, BYVAL duur AS LONG) AS LONG ' 13.04.2000 DECLARE SUB RingModulate LIB "g_lib.dll" (BYREF Wavebufferheader AS WAVEHDR , BYVAL freqLeft AS WORD, BYVAL freqRight AS WORD) DECLARE SUB RingModulateTrack LIB "g_lib.dll" (BYVAL Tracknr AS LONG, BYVAL freqLeft AS WORD, BYVAL freqRight AS WORD) ' 09.03.2000 DECLARE SUB AmplitudeModulate LIB "g_lib.dll" (BYVAL TrackNr AS LONG,BYVAL fl AS SINGLE,_ BYVAL fr AS SINGLE, BYVAL dl AS SINGLE, BYVAL dr AS SINGLE) ' 09.03.2000 DECLARE FUNCTION WaveDuration LIB "g_lib.dll" (BYREF Wavebufferheader AS WAVEHDR) AS DWORD DECLARE FUNCTION TrackDuration LIB "g_lib.dll" (BYVAL Tracknr AS LONG) AS DWORD DECLARE SUB CrossModulate LIB "g_lib.dll" (BYREF Wavebufferheader AS WAVEHDR) DECLARE SUB Varispeed LIB "g_lib.dll" (BYREF WaveIbufferheader AS WAVEHDR, BYREF WaveObufferheader AS WAVEHDR) DECLARE SUB Reverse LIB "g_lib.dll" (BYREF WaveIbufferheader AS WAVEHDR, BYREF WaveObufferheader AS WAVEHDR) DECLARE SUB CrossTimeModulate LIB "g_lib.dll" (BYREF Wavebufferheader AS WAVEHDR) DECLARE SUB DeglitchStart LIB "g_lib.dll" (BYREF Wavebufferheader AS WAVEHDR) DECLARE SUB DeglitchTail LIB "g_lib.dll" (BYREF Wavebufferheader AS WAVEHDR) '[16.10.99] DECLARE SUB DeglitchTrack LIB "g_lib.dll" (BYVAL TrackNr AS LONG) ' [06.03.2000] DECLARE FUNCTION Mix2Tracks LIB "g_lib.dll" (BYVAL Track1 AS LONG, BYVAL Track2 AS LONG) AS LONG ' 19.03.2000 - no doc yet. DECLARE SUB RemoveDC LIB "g_lib.dll" (BYREF WaveBufferheader AS WAVEHDR) '[16.10.99] DECLARE FUNCTION NormalizeWave LIB "g_lib.dll" (BYREF Wh AS WaveHdr, BYVAL procent AS DWORD) AS LONG '10.04.2000 DECLARE FUNCTION StereoNormaliseWave LIB "g_lib.dll" (BYREF Wh AS WaveHdr, BYVAL l AS DWORD, BYVAL r AS DWORD) AS LONG DECLARE SUB TrimWave LIB "g_lib.dll" (BYREF Wh AS WAVEHDR, BYVAL floor AS WORD) ' [18.10.99] DECLARE SUB TrimTrack LIB "g_lib.dll" (BYVAL TrackNr AS LONG, BYVAL floor AS WORD) ' [06.03.2000] DECLARE SUB FadeTrack LIB "g_lib.dll" (BYVAL Tracknr AS LONG, BYVAL FadeInTime AS DWORD, BYVAL FadeOutTime AS DWORD) '[06.03.2000] DECLARE FUNCTION RTrimWave LIB "g_lib.dll" (BYREF Wh AS WAVEHDR, BYVAL floor AS WORD) AS DWORD '[18.10.99] DECLARE FUNCTION LTrimWave LIB "g_lib.dll" (BYREF Wh AS WAVEHDR, BYVAL floor AS WORD) AS DWORD '[18.10.99] DECLARE SUB Wave2Enveloppe LIB "g_lib.dll" (BYREF Wh AS WAVEHDR, Env() AS SINGLE, factorial AS STRING *5,_ ch AS STRING * 1, linlog AS STRING *3) DECLARE SUB WaveAddReverb LIB "g_lib.dll" (BYREF Wb AS WAVEHDR, BYVAL NulT AS DWORD, BYVAL faktor AS SINGLE) '[21.10.99] DECLARE FUNCTION WriteAudioTrack LIB "g_lib.dll" (filenaam AS ASCIIZ, Whd AS WAVEHDR) AS LONG DECLARE SUB WaveDFT LIB "g_lib.dll" (BYVAL Track AS LONG, BYVAL offset AS DWORD, BYVAL channel AS DWORD, Sp!()) '13.04.2000 DECLARE SUB WaveDFTHiRes LIB "g_lib.dll" (BYVAL Track AS LONG, BYVAL offset AS DWORD, BYVAL channel AS DWORD, BYREF Sp!(), lb AS LONG, ub AS LONG) DECLARE FUNCTION LPF LIB "g_lib.dll" (BYREF WH AS WaveHdr, BYVAL fakt AS SINGLE) AS LONG ' wave synthesis functions: [tested in cellopi ] - new since 10.03.2000 DECLARE FUNCTION GenerateSineWave LIB "g_lib.dll"(BYVAL Note AS BYTE, BYVAL Velo AS BYTE, BYVAL Pan AS BYTE, BYVAL d AS DWORD) AS LONG DECLARE FUNCTION GenerateHarmWave LIB "g_lib.dll" (H AS HarmType,BYVAL pan AS BYTE, BYVAL d AS DWORD) AS LONG ' 10.03.2000 DECLARE FUNCTION GenerateFMdiadWave LIB "g_lib.dll" (BYVAL f1 AS SINGLE, BYVAL f2 AS SINGLE,_ BYVAL level AS SINGLE, BYVAL pan AS SINGLE, BYVAL d AS DWORD) AS LONG ' support for granular synthesis: 10.04.2000 DECLARE FUNCTION CalcNrOfGrains LIB "g_lib.dll" (BYVAL tracknr AS LONG, BYVAL Grainlength AS DWORD) AS DWORD DECLARE SUB GranulateTrack LIB "g_lib.dll" (BYVAL track AS LONG, BYVAL Env AS DWORD, BYREF GranAr() AS INTEGER) DECLARE FUNCTION GranuSynth LIB "g_lib.dll" (BYREF GranAr() AS INTEGER, BYVAL Rep AS DWORD, BYVAL STRETCH AS SINGLE) AS LONG DECLARE FUNCTION GranuSynth2 LIB "g_lib.dll" (BYREF GranAr() AS INTEGER, BYVAL overlapfactor AS SINGLE, BYVAL duration AS DWORD) AS LONG DECLARE FUNCTION StretchTrack LIB "g_lib.dll" (BYVAL track AS LONG, BYVAL Grainlength AS DWORD, BYVAL STRETCH AS SINGLE) AS LONG DECLARE FUNCTION GranPitchShift LIB "g_lib.dll" (BYVAL track AS LONG, BYVAL interval AS SINGLE) AS LONG '11.04.2000 ' 12.12.2000 - Version 5.21 DECLARE FUNCTION iiGestureWave LIB "g_lib.dll" (BYVAL samprate AS LONG,BYREF Bufx() AS INTEGER,BYREF Bufy()AS INTEGER,BYREF Bufz()AS INTEGER,BYVAL nrsamp AS DWORD) AS LONG #ENDIF DECLARE FUNCTION GetNrTicks LIB "g_lib.dll" (BYVAL tasknr AS LONG) AS INTEGER DECLARE SUB Iprop2Rit LIB "g_lib.dll" (H AS HarmType, BYVAL tasknr AS LONG, BYVAL ritbase AS BYTE) ' derives a rhythm pattern sequence from the Iprop() field in the harmony structure for a task. ' The input is Task(harmtasknr%).Har.Iprop(). The result is returned in Task(tasknr%).Rit.pattern() ' ritbase should be 1,2,3... (2 or 3 work best) DECLARE SUB ShepChord2Rit LIB "g_lib.dll" (BYREF H AS HarmType, BYVAL tasknr AS LONG,_ BYVAL ritbase AS BYTE, BYVAL tc AS INTEGER) ' analoguous to Iprop2Rit, but starts from Har.C() and is sensitive to tc% ' *********************************************************************** ' * MCI functions * ' * source code in module g_mci.inc & g_mci.bi: * ' *********************************************************************** DECLARE SUB SetMCI LIB "g_lib.dll" (BYREF MCIid AS MCIdeviceType, BYREF AudioCD AS AudioCDtype) DECLARE SUB GetSEQDeviceCaps LIB "g_lib.dll" () DECLARE SUB CloseMCIDevice LIB "g_lib.dll" (BYVAL devID AS LONG) ' changed 09.04.2000 DECLARE FUNCTION MCI_MAKE_TMSF LIB "g_lib.dll" (BYVAL track AS BYTE, BYVAL minutes AS BYTE, BYVAL seconds AS BYTE, BYVAL frames AS BYTE) AS DWORD DECLARE FUNCTION Xlat_TMSF_2_ms LIB "g_lib.dll" (BYVAL Tmfs AS DWORD) AS DWORD DECLARE SUB ReportMCIError LIB "g_lib.dll" (BYVAL dwError AS LONG) ' changed 09.04.2000 DECLARE FUNCTION MCIproc LIB "g_lib.dll" (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG, BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG DECLARE FUNCTION MakeMCIWindow LIB "g_lib.dll" () AS LONG DECLARE SUB PlayCDChunk LIB "g_lib.dll" (BYVAL StartPoint AS DWORD, BYVAL StopPoint AS DWORD) DECLARE SUB PlayCDTrack LIB "g_lib.dll" (BYVAL Track AS BYTE) DECLARE SUB PauseCD LIB "g_lib.dll" () DECLARE SUB StopCD LIB "g_lib.dll"() DECLARE SUB GetCDDeviceCaps LIB "g_lib.dll"() DECLARE FUNCTION GetCDTrackDuration LIB "g_lib.dll"(BYVAL TrackNr AS DWORD) AS DWORD ' in ms DECLARE FUNCTION GetCDDuration LIB "g_lib.dll"() AS DWORD DECLARE SUB CueCD LIB "g_lib.dll"(BYVAL Seekpoint AS DWORD) DECLARE SUB EjectCD LIB "g_lib.dll"() DECLARE SUB CloseCD LIB "g_lib.dll"() #IF %DEF(%include_mixerfunctions) '******************************************************* '* WINDOWS MIXER SUPPORT * '* exports from code in g_wmix.inc / g_wmix.bi * '******************************************************* DECLARE FUNCTION ProcMixer LIB "g_lib.dll" (BYVAL hW AS DWORD, BYVAL wM AS LONG, BYVAL dwI AS DWORD,_ BYVAL wP AS LONG, BYVAL lP AS LONG) AS LONG DECLARE FUNCTION GetAvailableMixerDevices$ LIB "g_lib.dll" () DECLARE SUB GetMixers LIB "g_lib.dll" (mp() AS STRING) '16.11.99 - for menu. DECLARE SUB MixerLines LIB "g_lib.dll" (BYREF OutPutMixer AS AudioMixerLineType, BYREF InputMixer AS AudioMixerLineType) ' for development of code... - retrieves mixer lines. DECLARE FUNCTION WinMix_Mute LIB "g_lib.dll" (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD,_ BYVAL mute AS LONG) AS LONG '[DEBUG] 'the following line was remmed 20060621 because it gave an error ( ")" expected) when including g_lib.bi in nidaqtest.bas !!?! 'DECLARE FUNCTION WinMix_Rec_Select LIB "g_lib.dll" (BYVAL hMix AS DWORD, BYVAL component AS STRING) AS LONG DECLARE FUNCTION WinMix_Rec_SetVolume LIB "g_lib.dll" (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD,_ BYVAL l AS WORD, BYVAL r AS WORD) AS LONG DECLARE FUNCTION WinMix_SetVolume LIB "g_lib.dll" (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD, BYVAL l AS WORD, BYVAL r AS WORD) AS LONG DECLARE FUNCTION WinMix_GetMute LIB "g_lib.dll" (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD) AS LONG DECLARE FUNCTION WinMix_GetVolume LIB "g_lib.dll" (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD,_ BYREF l AS LONG, BYREF r AS LONG) AS LONG DECLARE FUNCTION WinMix_Rec_GetVolume LIB "g_lib.dll" (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD,_ BYREF l AS LONG, BYREF r AS LONG) AS LONG DECLARE FUNCTION WinMix_Rec_GetSelect LIB "g_lib.dll" (BYVAL hMix AS DWORD) AS STRING DECLARE FUNCTION SaveMixerSettings LIB "g_lib.dll" (fn AS STRING) AS LONG DECLARE FUNCTION LoadMixerSettings LIB "g_lib.dll" (fn AS STRING) AS LONG ' FADERS: DECLARE SUB SetFaders LIB "g_lib.dll" (AudioFader() AS AudioFaderType, WaveFader() AS AudioFaderType) DECLARE SUB WaveOutFader LIB "g_lib.dll" () 'only for wave-out device DECLARE SUB WaveInFader LIB "g_lib.dll" () 'wave input DECLARE SUB Fader0 LIB "g_lib.dll" () DECLARE SUB Fader1 LIB "g_lib.dll" () DECLARE SUB Fader2 LIB "g_lib.dll" () DECLARE SUB Fader3 LIB "g_lib.dll" () ' errorchecking: DECLARE FUNCTION ReportMixerError LIB "g_lib.dll" (BYVAL msgval AS LONG) AS DWORD '09.06.2002 #ENDIF '******************************************************* '* MATH-LIBRARY * '* exports from code module g_math.inc / g_math.bi * '******************************************************* ' mostly moved to g_indep.dll since 15.11.2000 ' more to g_mus.dll since 21.12.2001 DECLARE FUNCTION CorrelateNoteToWave LIB "g_lib.dll" (BYVAL noot AS SINGLE, Sp() AS SINGLE) AS SINGLE DECLARE FUNCTION IsolateSingleZeroCrossWave LIB "g_lib.dll" (BYREF Sp() AS SINGLE ,BYREF Sw() AS SINGLE, BYVAL noise AS SINGLE) AS SINGLE DECLARE FUNCTION IsolateSingleWave LIB "g_lib.dll" (BYREF Sp() AS SINGLE ,BYREF Sw() AS SINGLE) AS SINGLE DECLARE SUB LowPass LIB "g_lib.dll" (BYREF Sp() AS SINGLE, BYVAL faktor AS SINGLE) #IF %DEF(%include_wavefunctions) DECLARE FUNCTION IsolateSinglePeriod LIB "g_lib.dll" (BYVAL Track AS LONG, Sp() AS SINGLE, BYVAL param AS DWORD) AS SINGLE DECLARE SUB GetWaveProperties LIB "g_lib.dll" (BYREF Sp() AS SINGLE, BYREF WavProp AS WaveProperties) #ENDIF #IF %DEF(%include_wavefunctions) 'kl waveout debug 020111 DECLARE FUNCTION OpenAudioOutputDeviceWithCallbackWindow LIB "g_lib.dll" (BYVAL devicenumber AS DWORD, TrackStatus AS AudioTrackStatus) AS DWORD DECLARE FUNCTION OpenAudioInputDeviceWithCallbackWindow LIB "g_lib.dll" (BYVAL devicenumber AS DWORD, TrackStatus AS AudioTrackStatus) AS DWORD #ENDIF '******************************************************* '* for Invisible instrument controls * '******************************************************* ' 20.09.2003 DECLARE SUB Create_Radar_Control_Task LIB "g_lib.dll" (BYVAL p0 AS RadarType PTR,_ BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) DECLARE SUB Create_Sonar_Control_Task LIB "g_lib.dll" (BYVAL ps AS SonarType PTR,_ BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) DECLARE SUB Sonar_Stat_UD LIB "g_lib.dll" ' was bug 29.08.2005: "g_nih.dll" () '03.11.2003 ' the callbacks for the sliders and updowns are not exported. ' 07.10.2003 DECLARE FUNCTION Create_CQT_Control_Task LIB "g_lib.dll" (BYVAL pcqt AS Pitch2MidiType PTR,_ BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) AS LONG DECLARE SUB CQT_Listen LIB "g_lib.dll" () ' 28.05.2005 ' 14.04.2004: DECLARE SUB Create_SonarRanger_Control_Task LIB "g_lib.dll" (BYVAL p AS SonarRangerType PTR,_ BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) DECLARE SUB Create_UsbSonar_Control LIB "g_lib.dll" (BYVAL pUsbSonar AS UsbSonarDevice PTR,_ BYREF Slider() AS SliderController, BYREF UDctrl() AS UpDownController) 'in g_main.inc ' 07.07.2009: DECLARE SUB Create_Doppler_Control_Task LIB "g_lib.dll" (BYVAL pDoppler AS DopplerType PTR,_ BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) #ELSE ' internal declares: ********************************************************************************************** ' **** general exported GMT procedures and functions DECLARE FUNCTION Init_lib_pointers (gh AS GMT_HANDLES, App AS ApplicationType, Tk() AS Taak, Tx() AS EXTRAINFO,_ Kb AS KeyboardController, BYREF Meq() AS midiequipment) AS DWORD DECLARE FUNCTION Update_MidiEquipment (BYREF Meq() AS MidiEquipment) AS DWORD DECLARE SUB GMT_Help () DECLARE SUB gmt_CreateAboutBox (BYVAL ID AS LONG) DECLARE SUB WindowsMessageHandler (msg AS tagMSG) DECLARE FUNCTION gmt_Icon (BYVAL f AS STRING) AS DWORD DECLARE FUNCTION AdaptMenuToCompilation () AS DWORD '26.06.2002 DECLARE SUB Publish_MM (BYVAL MenM AS DWORD, BYVAL siz AS DWORD) ' 16.01.2005 'DECLARE FUNCTION g_taskProc (BYVAL wTimerID AS LONG, BYVAL msg AS LONG, BYVAL TaskNr AS LONG,_ ' BYVAL dw1 AS LONG, BYVAL dw2 AS LONG) AS LONG no longer exported. DECLARE FUNCTION GetApplicationIconHandle (BYVAL apid AS LONG) AS LONG DECLARE SUB StartTask (BYVAL tasknr AS LONG) DECLARE SUB StopTask (BYVAL tasknr AS LONG) DECLARE FUNCTION GMTCockpit (BYVAL hDlg AS LONG, BYVAL wMsg AS LONG, BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG DECLARE SUB InitButtons (BYREF ButnSW() AS SwitchController, BYREF ButnOS() AS OneShotController) DECLARE SUB InitFunctionKeys (BYREF FunctionKey() AS FunctionKeyController) DECLARE FUNCTION FreeTaskNr (OPT BYVAL n AS DWORD) AS LONG ' 29.08.2005 'DECLARE SUB InitKeyboard (BYREF Keyboard AS KeyboardController) ' default buttonhandlers: DECLARE SUB ButnSW_MidiThruToggle () ' cfr. g_main.inc DECLARE SUB ButnSW_StartStopToggle () DECLARE SUB ButnSW_MakeStaffGraph () DECLARE SUB ButnSW_MakeList () DECLARE SUB ButnSW_MakeHarvel () DECLARE SUB ButnSW_MakeMelPat () DECLARE SUB ButnSW_MakeHarPsy () DECLARE SUB ButnSW_MakeSpect () DECLARE SUB ButnOS_MidiAllNotesOffToggle () DECLARE SUB ButnOS_HarFuz () DECLARE SUB ButnOS_MelFuz () DECLARE SUB ButnOS_ClearDelays () DECLARE SUB ButnOS_Reset () DECLARE SUB FunctionKeyHandler () ' dummy DECLARE SUB KeyboardHandler () ' relais ' tasks residing in the dll: DECLARE FUNCTION RunTime (BYVAL onoff AS DWORD) AS DWORD DECLARE FUNCTION Promil (BYVAL onoff AS DWORD) AS DWORD DECLARE SUB GlobHar () DECLARE SUB WriteSeqScore () DECLARE SUB PlaySeq () DECLARE SUB ShowGlobHar () ' in g_main.inc '------------ DECLARE FUNCTION ExportSeqPtr () AS DWORD '--------- DECLARE FUNCTION Tprop (BYVAL tasknr AS DWORD) AS SINGLE DECLARE FUNCTION Tang (BYVAL tasknr AS DWORD) AS SINGLE DECLARE FUNCTION GetProMil () AS INTEGER DECLARE FUNCTION ReadSeqFile$ (BYVAL track%, BYVAL speedfactor!) ' -------------- ' timed proces objects: [ 23.09.2003] DECLARE FUNCTION Create_FromTo (FromTo AS FromToType) AS DWORD DECLARE FUNCTION Kill_FromTo (FromTo AS FromToType) AS DWORD ' timed events: [09.10.2003] DECLARE FUNCTION ScheduleEvent (SchEv AS TimedEvent) AS DWORD DECLARE FUNCTION QScheduleEvent (BYREF SchEv AS TimedEvent) AS DWORD DECLARE SUB TimerCallback (BYVAL evnt AS DWORD) 'dummy declaration for use with CALL DWORD USING DECLARE FUNCTION QScheduleEvent_CB (BYVAL evnt AS DWORD, BYVAL TimerorWaitFired AS BYTE) AS DWORD ' -------------- DECLARE FUNCTION MakeToolBar (BYVAL hInst AS LONG, BYVAL hWnd AS LONG, BYVAL nrofbuttons AS BYTE) AS LONG DECLARE SUB MakeSliderControls (BYVAL hW AS LONG, BYVAL nrsliders AS BYTE, BYREF Slider() AS SliderController, TaskParamLabels() AS ASCIIZ * 8) DECLARE SUB SliderMessageHandler (BYVAL wP AS LONG, BYVAL lP AS LONG) DECLARE SUB MakeCockpitUpDowns (BYREF UDctrl() AS UpDownController) DECLARE SUB MakeUpDownControls (BYVAL hW AS LONG,BYVAL aantal AS BYTE, BYREF UDctrl() AS UpDownController, BYVAL nrsliders AS BYTE, TaskParamLabels() AS ASCIIZ * 8) DECLARE SUB ShowIntroScreen () DECLARE SUB ShowMenuSelections () '(Meq() AS MidiEquipment) ' resets the pointers in pMeq DECLARE FUNCTION GetDefaultApp () AS LONG DECLARE FUNCTION ReadMidiFlagsFromFile (f AS STRING) AS LONG DECLARE SUB PrintCockpitLabels (CockpitLayo AS CockpitLabels) DECLARE SUB ClearCockpitSwitches (BYREF ButnSW() AS SwitchController) DECLARE SUB ClearCockpitOneShots (BYREF ButnOS() AS OneShotController) DECLARE SUB UpdateCockPit () ' actualizes the cockpit window in function of the selected application. ' called immediately after the GMT start command in the main setup window DECLARE SUB ChangeCockpitTasks (BYVAL callingtask AS DWORD) ' 20.11.2001 DECLARE SUB RemoveCockpitTask (BYVAL nr AS DWORD) ' 01.12.2002 ' **** graphics, visualisation and display related procedures and functions: DECLARE SUB CenterWindow (BYVAL hWnd AS LONG) ' centers a window on the screen DECLARE SUB CornerWindow (BYVAL hWnd AS LONG, pl AS STRING) ' places a window in one of the screen corners. DECLARE SUB ShowPsiChord (h AS HarmType, BYVAL hor%, BYVAL ver%, BYVAL hs%, BYVAL vs%) DECLARE SUB ShowHar (h AS HarmType, BYVAL hor%, BYVAL ver%, BYVAL s!) DECLARE SUB ClearScreenBlock (BYVAL hDC AS LONG, BYVAL hor%, BYVAL ver%, BYVAL horpix%, BYVAL verpix%) ' translated to Win32Api DECLARE SUB ShowNormArray (BYVAL hW AS LONG, Arr!(), OPTIONAL BYVAL flag AS DWORD) DECLARE SUB DrawBlankBar (s AS StaffType, BYVAL hDC AS LONG, BYVAL horpos1 AS WORD, BYVAL horpos2 AS WORD) DECLARE SUB DrawStaff (s AS StaffType, BYVAL hDC AS LONG) DECLARE SUB DrawNote (s AS Stafftype,BYVAL hDC AS LONG, BYVAL lineposition AS INTEGER, BYVAL horpos AS WORD) DECLARE SUB DrawFlat (s AS stafftype,BYVAL hDC AS LONG, BYVAL lineposition AS INTEGER, BYVAL horpos AS WORD) DECLARE SUB DrawSharp (s AS stafftype,BYVAL hDC AS LONG, BYVAL lineposition AS INTEGER, BYVAL horpos AS WORD) DECLARE SUB DrawClef (s AS stafftype, BYVAL hDC AS LONG, BYVAL horpos AS WORD) DECLARE SUB DrawBarline (s AS stafftype,BYVAL hDC AS LONG, BYVAL horpos AS WORD) DECLARE SUB DrawChordNumber (s AS stafftype,BYVAL hDC AS LONG, BYVAL crd%, BYVAL horpos AS WORD) DECLARE FUNCTION ShowNote (s AS stafftype, BYVAL hDC AS LONG, BYVAL midinote AS BYTE, BYVAL horpos AS WORD) AS WORD ' returns the new cursor position for writing a next note ' supports only notes up to midi 96 DECLARE SUB ResetStaff (BYREF S AS StaffType) DECLARE SUB SetStaff (S AS StaffType) ' the callbacks for following windows need not be exported. DECLARE FUNCTION ProcMelodyPatternWindow (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG,_ BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG ' callback 23.02.2000 DECLARE FUNCTION MakeMelodyPatternWindow () AS LONG ' 23.02.2000 DECLARE FUNCTION MakeGraphWindow () AS LONG ' 23.02.2000 DECLARE FUNCTION GraphProc (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG,_ BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG ' callback 23.02.2000 DECLARE FUNCTION MakeHarVelWindow () AS LONG DECLARE FUNCTION HarvelProc (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG, _ BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG ' callback 23.02.2000 DECLARE FUNCTION MakeHarPsyWindow () AS LONG DECLARE FUNCTION HarPsyProc (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG,_ BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG ' callback DECLARE FUNCTION MakeSpectrumWindow () AS LONG DECLARE FUNCTION SpectrumProc (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG,_ BYVAL wParam AS LONG, BYVAL lParam AS LONG)AS LONG ' callback ' vu-window: [added 18.04.2000] DECLARE FUNCTION Make_ii_VU_Window (BYVAL resolution AS BYTE) AS LONG DECLARE FUNCTION iiVUProc (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG, _ BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG ' added 24.04.2000: DECLARE SUB MakeTaskParameterDialog (BYVAL tasknr AS INTEGER,_ BYVAL nrsliders AS BYTE,_ BYREF Sliders() AS SliderController,_ BYVAL nrupdowns AS BYTE,_ BYREF UDctrl() AS UpDownController,_ TaskParamLabels() AS ASCIIZ * 8) DECLARE CALLBACK FUNCTION TaskParameterHandler '(BYVAL hWnd AS LONG, BYVAL wMsg AS LONG,_ ' BYVAL wParam AS LONG, BYVAL lParam AS LONG)AS LONG DECLARE SUB wPrint (BYVAL param AS LONG, BYREF glist()AS STRING * 80) ' 01.04.2000 '****************************************************** '* MIDI I/O related procedures and functions. * '* code module g_midi.inc / g_midi.bi * '****************************************************** DECLARE SUB PrepareMidiIOmenu (BYREF hMO AS DWORD , hMI AS DWORD) ' new 22.07.2004 DECLARE SUB GetMidiOutPorts (mp() AS STRING) ' returns names of ports in an array DECLARE SUB GetMidiInPorts (mp() AS STRING) DECLARE FUNCTION GethMidiO(i AS LONG) AS DWORD 'returns hMidiO(i) if it exists, otherwise 0 DECLARE FUNCTION GethMidiI(i AS LONG) AS DWORD 'returns hMidiI(i) if it exists, otherwise 0 DECLARE FUNCTION OpenMidiOutputDevice (BYVAL devicenumber AS LONG) AS DWORD DECLARE SUB ReportMidiError (BYVAL ID AS LONG) DECLARE FUNCTION MidiProc (BYVAL h AS DWORD, BYVAL wMsg AS LONG, BYVAL dwI AS DWORD, BYVAL wParam AS DWORD, BYVAL lParam AS DWORD) AS LONG DECLARE FUNCTION GetSysEx (BYVAL devnr AS WORD, BYVAL flags AS INTEGER) AS STRING DECLARE SUB StartSysExThread (BYREF SxThread AS GMT_SYSEX_THREAD) DECLARE SUB QuitSysExThread (BYVAL devnr AS BYTE) ' was before 15.01.2002: (BYVAL hmi AS DWORD) DECLARE SUB BlockSysExReception (BYVAL hmi AS DWORD) DECLARE SUB SysEx (BYVAL hMidiOut AS DWORD, Sx$) DECLARE SUB AllNotesOff (BYVAL k AS WORD) DECLARE SUB NoteOff (BYVAL k AS WORD,BYVAL n?) ' &H80 NoteOFF direct out procedure DECLARE SUB Release (BYVAL k AS WORD, BYVAL n?, BYVAL rel?) ' &H80... 12.12.2004 DECLARE SUB mPlay (BYVAL k AS WORD, BYVAL n?, BYVAL velo?) ' &H90 NoteON or NoteOFF (velo=0) direct out procedure DECLARE SUB PlayDur (BYVAL k AS WORD, BYVAL n?, BYVAL velo?, BYVAL duur AS DWORD) 'DECLARE SUB PlayDur_cb (BYVAL dummy AS DWORD) DECLARE SUB PlayHarDur (BYVAL kanaal AS WORD, BYVAL h AS Harmtype, BYVAL duur AS DWORD) DECLARE SUB PlayHarDur_CB (BYVAL pev AS DWORD) DECLARE SUB PlayDur_cb (BYVAL ptiev AS DWORD) DECLARE SUB KeyPress (BYVAL k AS WORD, BYVAL nt?, BYVAL value?) ' &HA0 Key - Pressure direct out procedure DECLARE SUB ModeMess (BYVAL k AS WORD,BYVAL ctrl?, BYVAL value?) ' &HB0 Mode and controller messages DECLARE SUB Controller (BYVAL k AS WORD,BYVAL ctrl?, BYVAL value?) ' same as above! (same coding) DECLARE SUB SetMidiChannel (BYVAL k AS WORD, BYVAL newchannel?) ' same- for M&M robots DECLARE SUB ResetRobot (BYVAL k AS WORD) ' for M&M robots DECLARE SUB ProgChange (BYVAL k AS WORD,BYVAL value?) ' &HC0 program change DECLARE SUB ProgChangeEx (BYVAL k AS WORD, BYVAL msblsb AS WORD, BYVAL value?) '29.02.2000 DECLARE SUB AfterTouch (BYVAL k AS WORD, BYVAL value?) ' &HD0 channel aftertouch/pressure DECLARE SUB Bend (BYVAL k AS WORD,BYVAL lsb?, BYVAL msb?) ' &HE0 pitchbend (raw, 14bits) DECLARE SUB NoteCentOn (BYVAL k AS WORD, BYVAL noot!, BYVAL velo?) ' note + microtonal correction DECLARE SUB NoteCentOff (BYVAL k AS WORD,BYVAL noot!) ' coding: the integer part of noot is the note, ' the fractional part, the deviation in cents ' negative means: cents below the specified note ' positive is always note + cents above it ' The NoteCentOff procedure switches the note off and resets the pitchbend DECLARE SUB NoteFOn (BYVAL m AS musician, BYVAL note AS CURRENCY, BYVAL velo AS BYTE) '09.01.2012 DECLARE SUB NoteFOff (BYVAL m AS musician, BYVAL note AS CURRENCY) DECLARE FUNCTION gliss (BYVAL pM AS musician PTR, BYVAL van AS CURRENCY, BYVAL tot AS CURRENCY, BYVAL duur AS SINGLE, BYVAL velo AS BYTE, OPT BYVAL cb AS DWORD, OPT BYVAL surpressfingerings AS LONG) AS LONG DECLARE SUB Proteuspatch (Mq AS MidiEquipment, BYVAL k AS WORD, BYVAL patchnumber AS WORD) ' midi patch procedure for EMU Proteus 1/2/3/2000 ' supports patches 0 ---> 191 or more DECLARE SUB PlayHar (H AS HarmType, BYVAL k AS WORD) ' plays contents of har.vel via channel k? DECLARE SUB QInstrumPlay (BYREF M AS musician) ' for quartone robots and Qhar strings DECLARE SUB BypassTSR24 (BYVAL k AS WORD) ' digitech TSR24 + PPI2 board dual DSP processor DECLARE SUB ProtOFF (Mq AS MidiEquipment, BYVAL k AS WORD) ' songbook - DECLARE SUB ProtON (Mq AS MidiEquipment, BYVAL k AS WORD) ' songbook - DECLARE SUB ProteusTuning (Mq AS MidiEquipment, BYVAL k AS WORD, BYVAL patch AS WORD, BYVAL tuningnumber AS BYTE) DECLARE SUB InitP2M (Pitch2Midi$, BYVAL k AS WORD) ' supports only roland GI10 sofar. DECLARE FUNCTION MidiProc (BYVAL hW AS DWORD, BYVAL wM AS LONG, BYVAL Ins AS DWORD,_ BYVAL Par1 AS DWORD, BYVAL Par2 AS DWORD) AS LONG DECLARE FUNCTION OpenMidiInputDevice (BYVAL devicenumber AS LONG) AS DWORD DECLARE SUB ClearMiBuf (BYVAL mport AS WORD) ' erase the midi input buffer DECLARE FUNCTION GetPitchBend% (BYVAL k AS WORD, BYVAL flags AS INTEGER) DECLARE FUNCTION GetPitchBendRaw% (BYVAL k AS WORD,BYVAL flags AS INTEGER) ' returns msb, lsb in 14 bits DECLARE FUNCTION GetMidiNote% (BYVAL k AS WORD, BYVAL flags AS INTEGER) DECLARE FUNCTION GetNoteOff (BYVAL k AS WORD, BYVAL flags AS INTEGER) AS INTEGER DECLARE FUNCTION GetController% (BYVAL k AS WORD, BYVAL c?, BYVAL flags AS INTEGER) DECLARE FUNCTION GetControllers (BYVAL k AS WORD, BYVAL flags AS INTEGER) AS INTEGER ' 26.07.2004 DECLARE FUNCTION GetPressure (BYVAL k AS WORD, BYVAL flags AS INTEGER) AS INTEGER ' note + keypressure DECLARE FUNCTION GetProgChange (BYVAL k AS WORD, BYVAL flags AS INTEGER)AS INTEGER DECLARE FUNCTION GetAfterTouch (BYVAL k AS WORD, BYVAL flags AS INTEGER) AS INTEGER ' channel aftertouch &HD0 msg. DECLARE FUNCTION GetSongSelect (BYVAL mport AS WORD, BYVAL flags AS INTEGER) AS INTEGER ' 15.09.2000 DECLARE FUNCTION SongPositionPointer (BYVAL mport AS WORD, BYVAL flags AS WORD,BYVAL value AS WORD) AS WORD ' 15.09.2000 DECLARE FUNCTION MidiStopStartCont (BYVAL mport AS WORD, BYVAL flags AS WORD,BYVAL value AS WORD) AS WORD DECLARE SUB ClearDelayArrays () ' erase the midi delays from memory (Cockpit-button) DECLARE SUB WriteDelayLine (BYVAL noot?, BYVAL velo?) ' 02.01.2000 DECLARE FUNCTION ReadDelayLine (BYVAL INSTANCE AS BYTE, BYVAL delaytime AS DWORD, BYVAL speed!) AS INTEGER DECLARE SUB SetPitchBendRange (Mq AS MidiEquipment, BYVAL channel AS WORD, BYVAL RANGE AS BYTE) ' added 05.01.2000 DECLARE SUB InstrumAllNotesOff (BYREF instrument AS musician) DECLARE SUB InstrumPlay (BYREF instrument AS musician) DECLARE FUNCTION RecognizeNoteDur (BYVAL nv%, BYVAL duration AS DWORD, BYVAL tokennote?,BYVAL tolerance?)AS INTEGER DECLARE SUB Clear_MidiListenTask () ' clear buffer for start/stop listen task - 29.05.2002 ' new: UPD/IP relay support 23.11.2002 DECLARE SUB Midi_Listen_UDP (BYVAL b AS STRING) ' added 20.12.2002 DECLARE FUNCTION SetMidiListenChannel (BYVAL k AS WORD, BYVAL onoff AS DWORD) AS DWORD ' for our midi-controlled robots: [ added august 2003 ] 'DECLARE SUB MiRobotPlay (BYREF Robot AS musician) ' 29.06.2003 - removed 10.06.2014 DECLARE FUNCTION PlayLlor (BYVAL n AS SINGLE, BYVAL v AS DWORD, BYVAL dev AS SINGLE, OPT BYVAL silten AS LONG) AS DWORD DECLARE FUNCTION Sire_Play (BYVAL noot AS SINGLE, BYVAL velo AS BYTE, OPTIONAL BYVAL nr AS DWORD, OPT BYVAL MODE AS LONG) AS LONG ' 29.04.2005 DECLARE FUNCTION Sire_MidiNoot2Velo (BYVAL noot AS SINGLE, OPT BYVAL sirennr AS BYTE) AS WORD DECLARE FUNCTION Sire_Velo2MidiNoot (BYVAL velo AS INTEGER, OPT BYVAL sirennr AS BYTE) AS SINGLE ' for data acquisition devices using midi protocol (PicRadar) DECLARE FUNCTION GetPicRadarPointer (BYVAL n AS DWORD, BYVAL tasknr AS DWORD, BYVAL channel AS WORD) AS DWORD '21.07.2004 'DECLARE SUB PicRadarInput () no longer exported '21.07.2004 'declare sub PicRadarInput_Stop () DECLARE SUB Create_PicRadar_Control (BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) ' 22.07.2004 ' added 06.10.2007: - gwr for HybridSensor HY1 (midi device) DECLARE FUNCTION GetHY1Sensorpointer (BYVAL nr AS LONG, BYVAL listentasknr AS LONG) AS DWORD DECLARE SUB HY1_Input () ' not exported listentask DECLARE SUB HY1_Input_Stop () ' stop procedure for above listentast. ' added 22.10.2007: - gwr for Axe3 sensor (midi device) DECLARE FUNCTION GetAx3SensorPointer (BYVAL nr AS LONG, BYVAL listentasknr AS LONG) AS DWORD DECLARE SUB AX3_Input () ' not exported listen task DECLARE SUB AX3_Input_Stop () ' stop proc. for above. ' for PIR2 sensor (added 17.11.2007) DECLARE FUNCTION GetPIR2SensorPointer (BYVAL nr AS LONG, BYVAL listentasknr AS LONG) AS DWORD DECLARE SUB PIR2_Input () DECLARE SUB PIR2_Input_Stop () ' for HANDY (added 30.12.2007) DECLARE FUNCTION GetHandySensorPointer (BYVAL nr AS LONG, BYVAL listentasknr AS LONG) AS DWORD DECLARE SUB Handy_Input () DECLARE SUB Handy_Input_Stop () '*********************************************************************************************************** ' written by Kristof Lauwers: 'DECLARE SUB StopMidiRec ' where is this one ??? DECLARE SUB MidiPlayer (OPT BYVAL resetplayer AS LONG, OPT BYVAL susp AS LONG) DECLARE SUB MidiPlayerStop (OPT BYVAL musptr AS DWORD, BYVAL uboundmus AS LONG) 'pointer to array of M&M musicians 'DECLARE FUNCTION chmap _ ' (BYVAL md AS parsedmiditype, OPT BYVAL cpchfilt AS DWORD, OPT BYVAL CLEARflag AS LONG) AS WORD DECLARE SUB MidiPlayer_PauseWindow(OPT BYVAL msg$) DECLARE CALLBACK FUNCTION MidiPlayer_continue DECLARE FUNCTION CreateMarkerList (BYREF md() AS parsedmiditype, BYREF markers() AS STRING) AS LONG DECLARE FUNCTION MidiPlayer_SkipDlg (BYREF md() AS PArsedMidiType) AS LONG DECLARE CALLBACK FUNCTION CB_SkipDlg DECLARE SUB MM_MidiPlayer (OPT BYVAL resetplayer AS LONG, OPT BYVAL susp AS LONG, OPT BYVAL startplay AS LONG, OPT BYVAL file$) DECLARE SUB MM_Init_Tracks (BYVAL md AS parsedmiditype, BYVAL trackinfo$, BYVAL wh AS DWORD) DECLARE FUNCTION MM_PrepareParsedMidiFile(md() AS parsedmiditype, mmTrack() AS musician, hdlgStart AS DWORD) AS LONG 'g_midi.inc DECLARE CALLBACK FUNCTION MM_procMidiPlayerStartWin DECLARE FUNCTION ToggleMM_Filter (BYVAL onoff AS DWORD) AS LONG DECLARE FUNCTION MM_MidiFilter(BYVAL pS AS LONG) AS LONG DECLARE FUNCTION MM_Prepare_Controllers(md() AS ParsedMidiType) AS LONG DECLARE CALLBACK FUNCTION CBMMFilt DECLARE SUB MM_PlayAlong (md() AS ParsedMidiType, MMTrack() AS musician, BYVAL EVENTS AS DWORD, BYVAL maxevents AS DWORD) 'dummy for call dword DECLARE FUNCTION Midi2seq (BYVAL sourcefile AS STRING, OPT BYVAL destfile AS STRING) AS LONG DECLARE FUNCTION VaccaMap (BYVAL md AS ParsedMidiType) AS LONG DECLARE FUNCTION VitelloMap (BYVAL md AS ParsedMidiType) AS LONG DECLARE FUNCTION BellyMap (BYVAL md AS ParsedMidiType) AS LONG DECLARE FUNCTION LlorMap (BYVAL md AS ParsedMidiType) AS LONG DECLARE FUNCTION KloksMap (BYVAL md AS ParsedMidiType) AS LONG #IF %DEF(%include_wavefunctions) ' ************************************************************************* ' * AUDIO I/O related functions and procedures * ' * cource code modules: g_wave.inc & g_wave.bi * ' ************************************************************************* DECLARE SUB PrepareWaveIOmenu () ' 26.06.2002 DECLARE FUNCTION GetAvailableAuxDevs$ () ' returns a text block to be displayed in a window DECLARE SUB GetAuxPorts (mp() AS STRING) DECLARE SUB GetWaveOutPorts (mp() AS STRING) ' returns names of ports in an array DECLARE SUB GetWaveInPorts (mp() AS STRING) DECLARE SUB PrepareWaveFunctions (WavHdr() AS WAVEHDR, TrackStatus AS AudioTrackStatus) DECLARE SUB SetAudio (BYREF Au AS AUDIOTYPE) DECLARE SUB CheckAudio (BYREF Au AS AUDIOTYPE, BYREF App AS ApplicationType) DECLARE FUNCTION GetAudioFormat () AS DWORD ' returns a pointer to the Audioformat structure in the DLL DECLARE FUNCTION OpenAudioInputDevice (BYVAL devicenumber AS LONG, TrackStatus AS AudioTrackStatus) AS DWORD DECLARE FUNCTION OpenAudioOutputDevice (BYVAL devicenumber AS LONG, TrackStatus AS AudioTrackStatus) AS DWORD DECLARE FUNCTION StartAudioOutStreamThread () AS LONG DECLARE FUNCTION ButnSW_StartAudioStreaming () AS LONG ' 03.05.2000 - buttonhandler DECLARE FUNCTION StartWaveOutStream (BYVAL param AS DWORD) AS LONG DECLARE FUNCTION StartWaveInStream (BYVAL param AS DWORD) AS LONG ' 14.04.2000 DECLARE FUNCTION GetFreeAudioTrack () AS LONG DECLARE FUNCTION SizeAudioTrack (BYVAL tracknr AS LONG, BYVAL d AS LONG) AS LONG DECLARE FUNCTION ReSizeAudioTrack (BYVAL tracknr AS LONG, BYVAL d AS LONG) AS LONG DECLARE FUNCTION PlayAudioTrack (BYVAL tracknr AS LONG, BYVAL flags AS DWORD) AS LONG DECLARE FUNCTION PlayWaveFile (filnam AS ASCIIZ, BYVAL flags AS WORD) AS LONG DECLARE FUNCTION RecordAudioSample (BYVAL duur AS DWORD) AS LONG DECLARE FUNCTION RetrieveSample (BYVAL duur AS DWORD) AS LONG ' 14.04.2000 DECLARE FUNCTION RetrieveInputWave (BYVAL param AS DWORD, BYREF Sp() AS SINGLE) AS LONG ' 26.04.2000 DECLARE FUNCTION ReadWaveData (filenaam AS ASCIIZ) AS LONG DECLARE FUNCTION Track2Seq (BYVAL track AS LONG, BYVAL lr AS LONG) AS STRING '22.06.2001 DECLARE FUNCTION Track2SeqEx (BYVAL track AS LONG, BYVAL lr AS LONG, BYVAL granul AS LONG, BYVAL NrNotes AS LONG, BYVAL lfreq AS LONG, BYVAL hifreq AS LONG) AS STRING DECLARE FUNCTION SaveAudioTrack (filenaam AS ASCIIZ, BYVAL Tracknr AS LONG) AS LONG DECLARE SUB AppendAudioTrack (BYVAL Track0 AS LONG, BYVAL Track1 AS LONG) ' 13.04.2000 DECLARE SUB BlankAudioBuffer (BYREF WavBufHead AS WAVEHDR) DECLARE FUNCTION CopyAudioTrack (BYVAL Track AS LONG, BYVAL duur AS LONG) AS LONG ' 13.04.2000 DECLARE SUB RingModulate (BYREF Wavebufferheader AS WAVEHDR , BYVAL freqLeft AS WORD, BYVAL freqRight AS WORD) DECLARE SUB RingModulateTrack (BYVAL Tracknr AS LONG, BYVAL freqLeft AS WORD, BYVAL freqRight AS WORD) ' 09.03.2000 DECLARE SUB AmplitudeModulate (BYVAL TrackNr AS LONG,BYVAL fl AS SINGLE,_ BYVAL fr AS SINGLE, BYVAL dl AS SINGLE, BYVAL dr AS SINGLE) ' 09.03.2000 DECLARE FUNCTION WaveDuration (BYREF Wavebufferheader AS WAVEHDR) AS DWORD DECLARE FUNCTION TrackDuration (BYVAL Tracknr AS LONG) AS DWORD DECLARE SUB CrossModulate (BYREF Wavebufferheader AS WAVEHDR) DECLARE SUB Varispeed (BYREF WaveIbufferheader AS WAVEHDR, BYREF WaveObufferheader AS WAVEHDR) DECLARE SUB Reverse (BYREF WaveIbufferheader AS WAVEHDR, BYREF WaveObufferheader AS WAVEHDR) DECLARE SUB CrossTimeModulate (BYREF Wavebufferheader AS WAVEHDR) DECLARE SUB DeglitchStart (BYREF Wavebufferheader AS WAVEHDR) DECLARE SUB DeglitchTail (BYREF Wavebufferheader AS WAVEHDR) '[16.10.99] DECLARE SUB DeglitchTrack (BYVAL TrackNr AS LONG) ' [06.03.2000] DECLARE FUNCTION Mix2Tracks (BYVAL Track1 AS LONG, BYVAL Track2 AS LONG) AS LONG ' 19.03.2000 - no doc yet. DECLARE SUB RemoveDC (BYREF WaveBufferheader AS WAVEHDR) '[16.10.99] DECLARE FUNCTION NormalizeWave (BYREF Wh AS WaveHdr, BYVAL procent AS DWORD) AS LONG '10.04.2000 DECLARE FUNCTION StereoNormaliseWave (BYREF Wh AS WaveHdr, BYVAL l AS DWORD, BYVAL r AS DWORD) AS LONG DECLARE SUB TrimWave (BYREF Wh AS WAVEHDR, BYVAL floor AS WORD) ' [18.10.99] DECLARE SUB TrimTrack (BYVAL TrackNr AS LONG, BYVAL floor AS WORD) ' [06.03.2000] DECLARE SUB FadeTrack (BYVAL Tracknr AS LONG, BYVAL FadeInTime AS DWORD, BYVAL FadeOutTime AS DWORD) '[06.03.2000] DECLARE FUNCTION RTrimWave (BYREF Wh AS WAVEHDR, BYVAL floor AS WORD) AS DWORD '[18.10.99] DECLARE FUNCTION LTrimWave (BYREF Wh AS WAVEHDR, BYVAL floor AS WORD) AS DWORD '[18.10.99] DECLARE SUB Wave2Enveloppe (BYREF Wh AS WAVEHDR, Env() AS SINGLE, factorial AS STRING *5,_ ch AS STRING * 1, linlog AS STRING *3) DECLARE SUB WaveAddReverb (BYREF Wb AS WAVEHDR, BYVAL NulT AS DWORD, BYVAL faktor AS SINGLE) '[21.10.99] DECLARE FUNCTION WriteAudioTrack (filenaam AS ASCIIZ, Whd AS WAVEHDR) AS LONG DECLARE SUB WaveDFT (BYVAL Track AS LONG, BYVAL offset AS DWORD, BYVAL channel AS DWORD, Sp!()) '13.04.2000 DECLARE SUB WaveDFTHiRes (BYVAL Track AS LONG, BYVAL offset AS DWORD, BYVAL channel AS DWORD, BYREF Sp!(), lb AS LONG, ub AS LONG) DECLARE FUNCTION LPF (BYREF WH AS WaveHdr, BYVAL fakt AS SINGLE) AS LONG ' wave synthesis functions: [tested in cellopi ] - new since 10.03.2000 DECLARE FUNCTION GenerateSineWave (BYVAL Note AS BYTE, BYVAL Velo AS BYTE, BYVAL Pan AS BYTE, BYVAL d AS DWORD) AS LONG DECLARE FUNCTION GenerateHarmWave (H AS HarmType,BYVAL pan AS BYTE, BYVAL d AS DWORD) AS LONG ' 10.03.2000 DECLARE FUNCTION GenerateFMdiadWave (BYVAL f1 AS SINGLE, BYVAL f2 AS SINGLE,_ BYVAL level AS SINGLE, BYVAL pan AS SINGLE, BYVAL d AS DWORD) AS LONG ' support for granular synthesis: 10.04.2000 DECLARE FUNCTION CalcNrOfGrains (BYVAL tracknr AS LONG, BYVAL Grainlength AS DWORD) AS DWORD DECLARE SUB GranulateTrack (BYVAL track AS LONG, BYVAL Env AS DWORD, BYREF GranAr() AS INTEGER) DECLARE FUNCTION GranuSynth (BYREF GranAr() AS INTEGER, BYVAL Rep AS DWORD, BYVAL STRETCH AS SINGLE) AS LONG DECLARE FUNCTION GranuSynth2 (BYREF GranAr() AS INTEGER, BYVAL overlapfactor AS SINGLE, BYVAL duration AS DWORD) AS LONG DECLARE FUNCTION StretchTrack (BYVAL track AS LONG, BYVAL Grainlength AS DWORD, BYVAL STRETCH AS SINGLE) AS LONG DECLARE FUNCTION GranPitchShift (BYVAL track AS LONG, BYVAL interval AS SINGLE) AS LONG '11.04.2000 ' 12.12.2000 - Version 5.21 DECLARE FUNCTION iiGestureWave (BYVAL samprate AS LONG,BYREF Bufx() AS INTEGER,BYREF Bufy()AS INTEGER,BYREF Bufz()AS INTEGER,BYVAL nrsamp AS DWORD) AS LONG #ENDIF DECLARE FUNCTION GetNrTicks (BYVAL tasknr AS LONG) AS INTEGER DECLARE SUB Iprop2Rit (H AS HarmType, BYVAL tasknr AS LONG, BYVAL ritbase AS BYTE) ' derives a rhythm pattern sequence from the Iprop() field in the harmony structure for a task. ' The input is Task(harmtasknr%).Har.Iprop(). The result is returned in Task(tasknr%).Rit.pattern() ' ritbase should be 1,2,3... (2 or 3 work best) DECLARE SUB ShepChord2Rit (BYREF H AS HarmType, BYVAL tasknr AS LONG,_ BYVAL ritbase AS BYTE, BYVAL tc AS INTEGER) ' analoguous to Iprop2Rit, but starts from Har.C() and is sensitive to tc% ' *********************************************************************** ' * MCI functions * ' * source code in module g_mci.inc & g_mci.bi: * ' *********************************************************************** DECLARE SUB SetMCI (BYREF MCIid AS MCIdeviceType, BYREF AudioCD AS AudioCDtype) DECLARE SUB GetSEQDeviceCaps () DECLARE SUB CloseMCIDevice (BYVAL devID AS LONG) ' changed 09.04.2000 DECLARE FUNCTION MCI_MAKE_TMSF (BYVAL track AS BYTE, BYVAL minutes AS BYTE, BYVAL seconds AS BYTE, BYVAL frames AS BYTE) AS DWORD DECLARE FUNCTION Xlat_TMSF_2_ms (BYVAL Tmfs AS DWORD) AS DWORD DECLARE SUB ReportMCIError (BYVAL dwError AS LONG) ' changed 09.04.2000 DECLARE FUNCTION MCIproc (BYVAL hWnd AS LONG, BYVAL wMsg AS LONG, BYVAL wParam AS LONG, BYVAL lParam AS LONG) AS LONG DECLARE FUNCTION MakeMCIWindow () AS LONG DECLARE SUB PlayCDChunk (BYVAL StartPoint AS DWORD, BYVAL StopPoint AS DWORD) DECLARE SUB PlayCDTrack (BYVAL Track AS BYTE) DECLARE SUB PauseCD () DECLARE SUB StopCD () DECLARE SUB GetCDDeviceCaps () DECLARE FUNCTION GetCDTrackDuration (BYVAL TrackNr AS DWORD) AS DWORD ' in ms DECLARE FUNCTION GetCDDuration () AS DWORD DECLARE SUB CueCD (BYVAL Seekpoint AS DWORD) DECLARE SUB EjectCD () DECLARE SUB CloseCD () #IF %DEF(%include_mixerfunctions) '******************************************************* '* WINDOWS MIXER SUPPORT * '* exports from code in g_wmix.inc / g_wmix.bi * '******************************************************* DECLARE FUNCTION ProcMixer (BYVAL hW AS DWORD, BYVAL wM AS LONG, BYVAL dwI AS DWORD,_ BYVAL wP AS LONG, BYVAL lP AS LONG) AS LONG DECLARE FUNCTION GetAvailableMixerDevices$ () DECLARE SUB GetMixers (mp() AS STRING) '16.11.99 - for menu. DECLARE SUB MixerLines (BYREF OutPutMixer AS AudioMixerLineType, BYREF InputMixer AS AudioMixerLineType) ' for development of code... - retrieves mixer lines. DECLARE FUNCTION WinMix_Mute (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD,_ BYVAL mute AS LONG) AS LONG DECLARE FUNCTION WinMix_Rec_Select (BYVAL hMix AS DWORD, BYVAL component AS STRING) AS LONG DECLARE FUNCTION WinMix_Rec_SetVolume (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD,_ BYVAL l AS WORD, BYVAL r AS WORD) AS LONG DECLARE FUNCTION WinMix_SetVolume (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD, BYVAL l AS WORD, BYVAL r AS WORD) AS LONG DECLARE FUNCTION WinMix_GetMute (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD) AS LONG DECLARE FUNCTION WinMix_GetVolume (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD,_ BYREF l AS LONG, BYREF r AS LONG) AS LONG DECLARE FUNCTION WinMix_Rec_GetVolume (BYVAL hMix AS DWORD, BYVAL componenttype AS DWORD,_ BYREF l AS LONG, BYREF r AS LONG) AS LONG DECLARE FUNCTION WinMix_Rec_GetSelect (BYVAL hMix AS DWORD) AS STRING DECLARE FUNCTION SaveMixerSettings (fn AS STRING) AS LONG DECLARE FUNCTION LoadMixerSettings (fn AS STRING) AS LONG ' FADERS: DECLARE SUB SetFaders (AudioFader() AS AudioFaderType, WaveFader() AS AudioFaderType) DECLARE SUB WaveOutFader () 'only for wave-out device DECLARE SUB WaveInFader () 'wave input DECLARE SUB Fader0 () DECLARE SUB Fader1 () DECLARE SUB Fader2 () DECLARE SUB Fader3 () ' errorchecking: DECLARE FUNCTION ReportMixerError (BYVAL msgval AS LONG) AS DWORD '09.06.2002 #ENDIF '******************************************************* '* MATH-LIBRARY * '* exports from code module g_math.inc / g_math.bi * '******************************************************* ' mostly moved to g_indep.dll since 15.11.2000 ' more to g_mus.dll since 21.12.2001 DECLARE FUNCTION CorrelateNoteToWave (BYVAL noot AS SINGLE, Sp() AS SINGLE) AS SINGLE DECLARE FUNCTION IsolateSinglePeriod (BYVAL Track AS LONG, Sp() AS SINGLE, BYVAL param AS DWORD) AS SINGLE DECLARE FUNCTION IsolateSingleZeroCrossWave (BYREF Sp() AS SINGLE ,BYREF Sw() AS SINGLE, BYVAL noise AS SINGLE) AS SINGLE DECLARE FUNCTION IsolateSingleWave (BYREF Sp() AS SINGLE ,BYREF Sw() AS SINGLE) AS SINGLE DECLARE SUB GetWaveProperties (BYREF Sp() AS SINGLE, BYREF WavProp AS WaveProperties) DECLARE SUB LowPass (BYREF Sp() AS SINGLE, BYVAL faktor AS SINGLE) #IF %DEF(%include_wavefunctions) DECLARE FUNCTION IsolateSinglePeriod (BYVAL Track AS LONG, Sp() AS SINGLE, BYVAL param AS DWORD) AS SINGLE DECLARE SUB GetWaveProperties (BYREF Sp() AS SINGLE, BYREF WavProp AS WaveProperties) #ENDIF #IF %DEF(%include_wavefunctions) 'kl waveout debug 020111 DECLARE FUNCTION OpenAudioOutputDeviceWithCallbackWindow (BYVAL devicenumber AS DWORD, TrackStatus AS AudioTrackStatus) AS DWORD DECLARE FUNCTION OpenAudioInputDeviceWithCallbackWindow (BYVAL devicenumber AS DWORD, TrackStatus AS AudioTrackStatus) AS DWORD #ENDIF '******************************************************* '* for Invisible instrument controls * '******************************************************* ' 20.09.2003 DECLARE SUB Create_Radar_Control_Task (BYVAL p0 AS RadarType PTR,_ BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) DECLARE SUB Create_Sonar_Control_Task (BYVAL ps AS SonarType PTR,_ BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) DECLARE SUB Sonar_Stat_UD () '03.11.2003 ' the callbacks for the sliders and updowns are not exported. ' 07.10.2003 / 29.08.2005 DECLARE FUNCTION Create_CQT_Control_Task (BYVAL pcqt AS Pitch2MidiType PTR,_ BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) AS LONG DECLARE SUB CQT_Listen () ' 28.05.2005 ' 14.04.2004: DECLARE SUB Create_SonarRanger_Control_Task (BYVAL p AS SonarRangerType PTR,_ BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) DECLARE SUB Create_UsbSonar_Control (BYVAL pUsbSonar AS UsbSonarDevice PTR, _ BYREF Slider() AS SliderController, BYREF UDctrl() AS UpDownController) 'g_main DECLARE SUB UsbSonar_TxDur_Slider(OPT BYVAL np AS DWORD) DECLARE SUB UsbSonar_RxDur_Slider(OPT BYVAL np AS DWORD) DECLARE SUB UsbSonar_Noise_Slider(OPT BYVAL np AS DWORD) DECLARE SUB UsbSonar_FilterCoef_Slider(OPT BYVAL np AS DWORD) DECLARE SUB UsbSonar_Bias_Slider(OPT BYVAL np AS DWORD) DECLARE SUB UsbSonar_OutputFilterCoef_Slider(OPT BYVAL np AS DWORD) DECLARE SUB UsbSonar_OutputDownSampling_Slider(OPT BYVAL np AS DWORD) DECLARE SUB UsbSonar_PowerTresh_Slider(OPT BYVAL np AS DWORD) ' 07.07.2009: DECLARE SUB Create_Doppler_Control_Task (BYVAL pDoppler AS DopplerType PTR,_ BYREF Slider() AS SliderController,_ BYREF UDctrl() AS UpDownController) #ENDIF ' [EOF] _