GithubHelp home page GithubHelp logo

Comments (20)

CIRCE-EYES avatar CIRCE-EYES commented on August 24, 2024

Hi Gitanova, click on my icon.
My projects are under VB. NET.

Write me ir you like.

from drywetmidi.

gitanova avatar gitanova commented on August 24, 2024

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.

CIRCE-EYES avatar CIRCE-EYES commented on August 24, 2024

DRYWETMIDI its simple the Best !
E-mail me for issue about tour question.

[email protected]

from drywetmidi.

gitanova avatar gitanova commented on August 24, 2024

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.

gitanova avatar gitanova commented on August 24, 2024

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.

melanchall avatar melanchall commented on August 24, 2024

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.

gitanova avatar gitanova commented on August 24, 2024

@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!

  1. Record a MIDI file from a connected MIDI keyboard and save it to a (temporary) file on the hard drive.

  2. Display an event list (time stamp, channel, NoteON or NoteOff, (Prg-Change, ...) in a listbox or text window, or grid, ....

  3. Clicked event (the listbox or text field, ..) should be output immediately via Midi. Individual values ​​should be able to be changed manually.

  4. 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.

melanchall avatar melanchall commented on August 24, 2024
  1. 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).
  2. 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.
  3. Read the article first. I assume "should be output" means to send an event to a MIDI device.
  4. 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.

CIRCE-EYES avatar CIRCE-EYES commented on August 24, 2024

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.

CIRCE-EYES avatar CIRCE-EYES commented on August 24, 2024

I forgot to say that my e-mail runs well.

[email protected]

from drywetmidi.

gitanova avatar gitanova commented on August 24, 2024

@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.

gitanova avatar gitanova commented on August 24, 2024

@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.

melanchall avatar melanchall commented on August 24, 2024

@gitanova

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.

gitanova avatar gitanova commented on August 24, 2024

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.

melanchall avatar melanchall commented on August 24, 2024
  1. How did you install the library into your project?
  2. 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.

gitanova avatar gitanova commented on August 24, 2024

I am using the drywetmidi.dll vom CIRCE's-VB.NET project. It is version 5.1.3.

from drywetmidi.

gitanova avatar gitanova commented on August 24, 2024

When I use NuGet (version 7.02) I'm getting a lot of error while compiling in VB.NET... :-(

from drywetmidi.

gitanova avatar gitanova commented on August 24, 2024

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.

gitanova avatar gitanova commented on August 24, 2024

Tempo changes work like a charm now too!
Thank you!

from drywetmidi.

melanchall avatar melanchall commented on August 24, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.