Please Register and Login to this forum to stop seeing this advertsing.
|
|
|
|
|
des?
SpUser
Joined: 29 Jan 2007
Posts: 27
|
| I want programm a SampleDumper for the SP-12 |
|
|
Hello,
sorry for my bad English. I started to program a sampledumper for the sp12 in visual basic .net. But I'm a beginner and my programming skills are very bad. My first tool was only a converter, which converts manual dumps in sp12 format. The problem is, that a manual dump is very uncomfortable and it need a long time.
So I want to program a tool, which makes the dumps automatic. In the moment I can only send SYSEX, but I can not receive it. But this is very possible to make a handshake.
I search people who want help. _________________ sp12 turbo |
Sat Apr 04, 2009 11:25 am |
|
|
psoul
SpUser
Joined: 24 Aug 2008
Posts: 49
|
well i don't have any info i just notice in the service manual there are info related to dump... so it could help u, but probably u already have
peace |
Sun Apr 05, 2009 4:43 am |
|
|
des?
SpUser
Joined: 29 Jan 2007
Posts: 27
|
|
|
|
here is my vb .net / 2005 coder for sysex send.
Imports System
Imports System.Runtime
Imports System.Runtime.InteropServices
Public Module FunctionModule
Public Const MAXPNAMELEN As Integer = 32
Public Structure MIDIHDR
Dim lpData As String
Dim dwBufferLength As Integer
Dim dwBytesRecorded As Integer
Dim dwUser As Integer
Dim dwFlags As Integer
Dim lpNext As Integer
Dim Reserved As Integer
End Structure
Public Structure MIDIOUTCAPS
' Public Const MAXPNAMELEN = 32
'Public wMid As Short
Public wPid As Short
Public vDriverVersion As Integer
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=MAXPNAMELEN)> Public szPname As String
'Public wTechnology As Short
'Public wVoices As Short
'Public wNotes As Short
'Public wChannelMask As Short
'Public dwSupport As integer
End Structure
Public Structure MIDIINCAPS
' Public Const MAXPNAMELEN = 32
'Public wMid As Short
Public wPid As Short
Public vDriverVersion As Integer
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=MAXPNAMELEN)> Public szPname As String
'Public wTechnology As Short
'Public wVoices As Short
'Public wNotes As Short
'Public wChannelMask As Short
'Public dwSupport As integer
End Structure
Public Declare Function midiInGetNumDevs Lib "winmm.dll" () As Short
Public Declare Function midiInGetDevCaps Lib "winmm.dll" Alias "midiInGetDevCapsA" ( _
ByVal uDeviceID As Integer, _
ByRef lpCaps As MIDIINCAPS, _
ByVal uSize As Integer) As Integer
Public Declare Function midiOutGetNumDevs Lib "winmm.dll" () As Short
Public Declare Function midiOutGetDevCaps Lib "winmm.dll" Alias "midiOutGetDevCapsA" ( _
ByVal uDeviceID As Integer, _
ByRef lpCaps As MIDIOUTCAPS, _
ByVal uSize As Integer) As Integer
Public Declare Function midiInOpen Lib "winmm.dll" ( _
ByRef lphMidiIn As Integer, _
ByVal uDeviceID As Integer, _
ByVal dwCallback As Integer, _
ByVal dwInstance As Integer, _
ByVal dwFlags As Int32) As Integer
Public Declare Function midiOutOpen Lib "winmm.dll" ( _
ByRef lphMidiOut As Integer, _
ByVal uDeviceID As Integer, _
ByVal dwCallback As Integer, _
ByVal dwInstance As Integer, _
ByVal dwFlags As Integer) As Integer
Public Declare Function midiOutShortMsg Lib "winmm.dll" ( _
ByVal hMidiOut As Integer, _
ByVal dwMsg As Integer) As Integer
Public Declare Function midiOutClose Lib "winmm.dll" ( _
ByVal hMidiOut As Integer) As Integer
Public Declare Function midiOutPrepareHeader Lib "winmm.dll" ( _
ByVal hMidiOut As Integer, _
ByRef lpMidiOutHdr As MIDIHDR, _
ByVal uSize As Integer) As Integer
Public Declare Function midiOutLongMsg Lib "winmm.dll" ( _
ByVal hMidiOut As Integer, _
ByRef lpMidiOutHdr As MIDIHDR, _
ByVal uSize As Integer) As Integer
Public Declare Function midiOutUnprepareHeader Lib "winmm.dll" ( _
ByVal hMidiOut As Integer, _
ByRef lpMidiOutHdr As MIDIHDR, _
ByVal uSize As Integer) As Integer
Public Declare Function midiInClose Lib "winmm.dll" ( _
ByVal hMidiIn As Int32) As Int32
Module Module1
Sub Main()
'Read MIDI INs___________________________________________________________________________________________
Console.WriteLine(vbCrLf & "MIDIINS:" & vbCrLf)
Dim countIN As Short = midiInGetNumDevs
Dim midicapsIN As New MIDIINCAPS
For i As Integer = 0 To countIN - 1
'holt alle midi-device eingenschaften
midiInGetDevCaps(i, midicapsIN, CInt(Marshal.SizeOf(midicapsIN)))
'darstellen der informationen
With midicapsIN
Console.WriteLine(i & " " & .szPname)
End With
Next
'Read MIDI OUTs___________________________________________________________________________________________
Console.WriteLine(vbCrLf & "MIDIOUTS:" & vbCrLf)
Dim countOUT As Short = midiOutGetNumDevs
Dim midicapsOUT As New MIDIOUTCAPS
For i As Integer = 0 To countOUT - 1
'holt alle midi-device eingenschaften
midiOutGetDevCaps(i, midicapsOUT, CInt(Marshal.SizeOf(midicapsOUT)))
'darstellen der informationen
With midicapsOUT
Console.WriteLine(i & " " & .szPname)
End With
Next
'midiIN START__________________________________________________________________________________________________
Dim hMidiin As Integer
Dim portin As String
Console.WriteLine(vbCrLf & "Gebe Midi IN Port ein: ")
portin = Console.ReadLine()
midiInOpen(hMidiin, portin, 0, 0, 0)
'midiOUT START__________________________________________________________________________________________________
Dim hmidiout As Integer
Dim portout As String
Console.WriteLine(vbCrLf & "Gebe Midi OUT Port ein: ")
portout = Console.ReadLine()
midiOutOpen(hmidiout, portout, 0, 0, 0)
'SYSEX starten__________________________________________________________________________________________
Dim SysEx As String
Dim MyHdr As MIDIHDR
SysEx = Chr(&HF0) & Chr(&H18) & Chr(&H1) & Chr(&H41) & Chr(&HF7)
MyHdr.dwBufferLength = Len(SysEx)
MyHdr.dwBytesRecorded = Len(SysEx)
MyHdr.lpData = SysEx
MyHdr.dwFlags = 0
'Nur zur Info wieviel Bytes die Sysex hat
Console.WriteLine("Len(SysEx): " & Len(SysEx))
Do
midiOutPrepareHeader(hmidiout, MyHdr, Len(MyHdr))
midiOutLongMsg(hmidiout, MyHdr, Len(MyHdr))
'midiOutUnprepareHeader(hMidiOut, MyHdr, Len(MyHdr))
Loop
Console.ReadLine()
End Sub
End Module _________________ sp12 turbo |
Thu Apr 16, 2009 8:26 am |
|
|
Ghrenig
SpUser
Joined: 21 Aug 2009
Posts: 2
|
Hi there
Did you get any further with your coding.
I am looking to create a sysex program to communicate with the ensoniq asr-10
regards
Ghrenig |
Fri Aug 21, 2009 5:08 am |
|
|
des?
SpUser
Joined: 29 Jan 2007
Posts: 27
|
hi,
no. I don't understand how i can receive sysex. I only can send. I hoped that anyone can help me.
In the moment I want learn c as programming language. When you want, we can support us.
sorry, for my english. _________________ sp12 turbo |
Mon Aug 31, 2009 3:10 am |
|
|
DRUMAT!C
SpUser

Joined: 26 Jan 2006
Posts: 203
Location: Philadelphia |
any of you programming cats... try cracking the SP12(00) OS. and you'll be praised most reverently!
good luck-
++ DRUMZ.1
_________________ ++
DRUMAT!C
shop@kicdrumproducts.com
////////////////////////
NOW AVAILABLE -- 2009 SUMMER TEES!
JAYDEE KDP3000LE + more...
download or buy DRUMZ and LLINGO LP - Blakmarket - NOW!! |
Tue Sep 01, 2009 6:23 pm |
|
|
| |