Comments (20)
Hi Gitanova, click on my icon.
My projects are under VB. NET.
Write me ir you like.
from drywetmidi.
Thank you very much indeed! This is a great help for me!
For my first drywetmidi-project I just want to get a list of all noteon/noteoff events with corresponding channel and timestamp which are inside a certain midi-file.
As a next step I want to edit some of those "events" and play the events in the list. When I'm happy with the editing I want to create a midi-file at last.
Could you please give me a hint how to this with drywetmidi?
(I understand most of your programming, but I could not manage to work out my needs above...) Can you help?
from drywetmidi.
DRYWETMIDI its simple the Best !
E-mail me for issue about tour question.
from drywetmidi.
Sorry, your mailadress seems to have some problems ...
SMTP error from remote mail server after RCPT TO:<[email protected]>
So please answer her in Github! Thank you!
from drywetmidi.
In any case, I would really appreciate your help. It would be best if you could help me with a few lines of code to realize my project!
Thanks in advance.
Michael
from drywetmidi.
Hi @gitanova,
I'm the author of the library. But my main programming language is C#. @CIRCE-EYES has a lot of experience with DryWetMIDI in VB.NET.
@CIRCE-EYES I really appreciate your assistance since I have no coding at VB.NET at all :-)
If you need my help, please ask your questions.
from drywetmidi.
@melanchall
May I ask YOU for help - I don't mind if your code is C#...
I'm on the way to learn how to convert it to VB.net.
I read your written instructions for the drywetmidi library very carefully - but I still can't get very far on my own. Therefore, I ask for your help and thank you again for your work, which certainly deserves great recognition!
-
Record a MIDI file from a connected MIDI keyboard and save it to a (temporary) file on the hard drive.
-
Display an event list (time stamp, channel, NoteON or NoteOff, (Prg-Change, ...) in a listbox or text window, or grid, ....
-
Clicked event (the listbox or text field, ..) should be output immediately via Midi. Individual values should be able to be changed manually.
-
The edited MIDI file should then be saved on the hard drive under a specific name
I would be extremely grateful if you could send me a few lines of code for the 4 tasks mentioned above.
With the very best regards
Michael
from drywetmidi.
- You will find answer in the article. If it's still not clear, please ask your question with more details (what exactly is not clear, what you've tried, what's wrong and so on).
- I can only tell you how to get events. How to populate listboxes and so on is completely up to you. Well, if you want to get events with their absolute times (or you need delta-times?):
var timedEvents = midiFile.GetTimedEvents();
. Read about TimedEvent to know what proeprties it provides. You can also get times in different formats, learn more. - Read the article first. I assume "should be output" means to send an event to a MIDI device.
midiFile.Write("path/to/file.mid");
You can found it in the article.
In fact your questions are too common. Be more specific please. I recommend you to start writing your code and I'll try to help with problem places.
from drywetmidi.
Hello Michael, first of all I would like to know what your knowledge is about graphics in the VB environment. Net, have you made programs with graphical functions? In my examples you will see a very simple syntax to be able to do everything you want, except the list of events in a Midi file, but don't worry, I have two solutions for you.
These three programs list the Midi events. And the best thing is that two of them are made in VB. Net!!! I hope they are useful for you.
VB. Net
https://github.com/operatortwo/Midi_File
https://github.com/operatortwo/Mmultitool
C#
https://github.com/jeffbourdier/MIDIopsy.git
Greetings and I wait news about the first question I asked you about graphics.
Greetings
from drywetmidi.
I forgot to say that my e-mail runs well.
from drywetmidi.
@melanchall:
I really appreciate your help!
Unfortunately, I am an old man and come from hardware development. Therefore, my knowledge of “modern” programming languages is quite limited. But I really enjoy learning new things. With your information I will now get started and if any questions arise, I really appreciate asking for your help!
Thanks again!
Michael
Of course, if I'm "successful", I will also publish my source code here and perhaps help others benefit from it too!
from drywetmidi.
@CIRCE-EYES:
A big thank you to you too for your work - I have already found the two pages of operatorII - the third page with the Midi editor was completely new to me - unfortunately the source code cannot be made to work in Visual Studio 2022.
The Disigner.rex file seems to be missing...
Thank you anyway!
Unfortunately, my graphics experience in VB.net is not particularly good - you would have to be a game programmer to have such expertise - unfortunately!
Nevertheless many thanks!
Michael
from drywetmidi.
With your information I will now get started and if any questions arise, I really appreciate asking for your help!
This is a good approach! Because we will be able to see real problems and solve them quickly.
from drywetmidi.
Thanks to your very good documentation, I was able to get a large part of my project running!
But where I'm stuck is the following:
I would like to change the tempo while playing back a midi file. This also works quite well with:
_playback.Speed = _playback.Speed * 1.02
But this also shifts the current position and if I increase the speed, some midi events are "skipped". It shouldn't be like that...
Is there a solution where the playback position remains the same and only the other events are played back at a faster or slower tempo?
Where can I download the latest drywetmidi.dll?
Many thanks!
from drywetmidi.
- How did you install the library into your project?
- What version of the library do you use?
The proper way is to install the library via NuGet. Just please search on the Web how to install NuGet packages from Visual Studio (or other IDE if you use them).
Latest version of the library is 7.0.2 and available via NuGet: https://www.nuget.org/packages/Melanchall.DryWetMidi
from drywetmidi.
I am using the drywetmidi.dll vom CIRCE's-VB.NET project. It is version 5.1.3.
from drywetmidi.
When I use NuGet (version 7.02) I'm getting a lot of error while compiling in VB.NET... :-(
from drywetmidi.
I've found the reason why I was getting errors!
The line: Imports Melanchall.DryWetMidi.Devices
has to be changed to:
Imports Melanchall.DryWetMidi.Multimedia
result: No errors while compiling!
from drywetmidi.
Tempo changes work like a charm now too!
Thank you!
from drywetmidi.
Tempo changes work like a charm now too!
Yes, that has been fixed in the 7.0.1 release.
@gitanova Thank you for using the library! I don't know how old are you, but honestly you solve programming problems better than some young programmers. I believe the skill of researching is much more important than a programming language knowledge. You can learn a language pretty quickly, but how to search for information, how to investigate problems, how to use docs and so on - the thing that is much harder. And you're successful with that :-)
from drywetmidi.
Related Issues (20)
- HELP !!! Notes in panel to midi file?? HOT 9
- please help a noob HOT 6
- Remove all notes example from the README not working HOT 9
- Using wetdrymidi in C# project causes error CS0009
- InputDevice event listening crash HOT 2
- Crash when running in Unity on M2 MacBook HOT 3
- MidiDeviceException Internal error HOT 9
- Android Support
- Unity cannot exit after use HOT 10
- MidiClock sync problem HOT 6
- MIDI Tempo changes count returns 1 but the song has 6 tempo changes. HOT 1
- add il2cpp mode HOT 5
- CustomChunk no mididata throw error HOT 4
- CSharp Code Error HOT 2
- MIDI File returns error: InvalidMetaEventParameterValueException HOT 1
- Unable to send Note-On event to device HOT 8
- Cannot get track name to change HOT 10
- Plans for MIDI 2.0 Support? HOT 2
- Skipping notes HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from drywetmidi.