Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   MIDI I/O Komponenten v7 (https://www.delphipraxis.net/151718-midi-i-o-komponenten-v7.html)

H4ndy 29. Mai 2010 03:12


MIDI I/O Komponenten v7
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo DP,

Lange vorbereitet, endlich da: Eine neue Version der alten MIDI-Komponenten, welche hier schon eine Weile in der DP rumgeistern.
Hauptsaechlich benutzt von FAlter fuer sein MIDI-Klavier und sein MIDI-Tutorial (Teil 1, Teil 2).

Version 6 wurde seiner Zeit von FAlter und turboPASCAL erstellt (und damit fuer Delphi 6 fit gemacht). Vielen Dank dafuer!

Da die urspruengliche Version Public Domain war, habe ich mir erlaubt, die Lizensierung zu aendern (zumal PD in Deutschland theoretisch nicht moeglich ist).
Version 7 steht unter der MPL 1.1+ mit optionaler alternativer Nutzung der GPL 3+ oder der LGPL 3+ (aehnlich dem Firefox-Browser).
Die MPL erlaubt euch die freie Nutzung der Komponenten, ohne den Quellcode eures gesamten Programms veroeffentlichen zu muessen (im Gegensatz zur GPL/LGPL).
Details bitte dem Lizenz-Header entnehmen. Wer es total frei will, nutzt sie fuer sich unter der GPL :mrgreen:

Aenderungen zur v6.1:
  • Dateien gruendlich aufgeraeumt (Beispiele von den Komponenten getrennt, teilweise umbenannt)
  • Neues Package (erstellt mit D2010, noch nicht weiter getestet)
  • Kleine Debug-App hinzugefuegt, welche MIDI-Ereignisse durchschleift und dabei anzeigt (kann auch als Mini-Demo genutzt werden ^^)
  • Fehlerbehebungen (z.B. SysEx funktioniert jetzt (wieder?))
  • Viele Bequemlichkeitsfunktionen, wie NoteOn, NoteOff, ChangeInstrument (mit komplett Set-Tabelle!), etc. (wie von shmia vorgeschlagen)
  • Angefangen TMidiInput und TMidiOutput von einer Basisklasse abzuleiten (fuer abstrakteren Zugriff)
  • Bisher nicht implementierte Funktionen eingebaut (z.B. Patch-caching), teilweise als experimentell gehintet, da nicht getestet
  • Nutzt v3.0c der Basis-Komponenten von David Churcher

Download
Die aktuellesten Aenderungen gibt es immer aus meinem Mercurial-Repository bei BitBucket.
Dort bekommt Ihr auch nen RSS-Feed, Changelog, Issue-Tracker, etc. Neuerer Zwischenversionen bitte direkt ausm Repo
unter "Source" und dann rechts oben "get source" -> zip herunterladen, da ich hier nicht jedes Commit posten werde.

Aktuelle Revision:
v7.0r4a https://bitbucket.org/h4ndy/midiio-d...ev-v7.0r4a.zip
Das Bitbucket-Projekt ist offline (war noch Mercurial), Datei hier jetzt angehängt.


Changeset:
- unter anderem D7-Kompatibilität und zwei gemeldete Issues gefixt
Details: https://bitbucket.org/h4ndy/midiio-dev/changesets
Vorschlaege, Hinweise, Bugs bitte hier melden oder direkt im Issue-Tracker einen neuen Eintrag anlegen.
Hoffe, dass die Dinger noch anderen Leuten Freude bereiten :)

sx2008 29. Mai 2010 18:01

Re: MIDI I/O Komponenten v7
 
Ich hätte einen Hinweis...die mit ^^^^ markierten Units sind veraltet und die mit ***** markierten Units werden wahrscheinlich nicht gebraucht. Könnte man also löschen.
Delphi-Quellcode:
uses
  SysUtils, WinTypes, WinProcs, Classes, Messages, Controls,
            ^^^^^^^^  ^^^^^^^^           ********  ********

H4ndy 30. Mai 2010 01:12

Re: MIDI I/O Komponenten v7
 
Werd mir mal alle Units anschauen und die uses ueberarbeiten.
Da rutscht ja gerne mal was unnuetzes rein. Die alten uses sind noch von der Grundversion.

Danke :)

H4ndy 7. Jun 2010 22:59

AW: MIDI I/O Komponenten v7
 
Da man hier noch nicht bearbeiten kann, eben als Post:
Aktuelle Revision. v7.0r2 http://bitbucket.org/h4ndy/midiio-de...dev-v7.0r2.zip

Changesets:
Code:
- Added TMidiInput.FilteredMessages & TMidiOutput.DriverMidiMessage
- Some code cleanup (format, case)
- Added OnDeviceChanged and StopAndClose to TMidiInput and renamed OnDeviceChange of TMidiOutput
- Cleaned up used units and replaced old WinProcs/WinTypes with Windows. Thanks to sx2008 @ DP.

blackfin 7. Jun 2010 23:59

AW: MIDI I/O Komponenten v7
 
Man entschuldige mir bitte die Wortwahl, aber ich finde diese Komponenten.....geil! :mrgreen:
Die hätte ich vor ein paar Jahren für die PC-Software gebraucht, als ich mein MIDI-Mischpult mit Motorfadern entwickelt, zusammengeätzt und -gelötet habe :)


P.S.:
Wie kommt es eigentlich, dass es in diesem Thread das Layout zerschiesst? H4ndys Avatar ist in diesem Thread z.B. bei mir rechtsbündig (statt links)

H4ndy 8. Jun 2010 14:13

AW: MIDI I/O Komponenten v7
 
Danke :)
Wenn Wuensche an die Komponenten bestehen, dann immer her damit.
Wer mag, kann auch selbst erweitern und mir nen Push-Request oder einen Patch im BitBucket senden ;)

Mithrandir 8. Jun 2010 14:58

AW: MIDI I/O Komponenten v7
 
Zitat:

Zitat von blackfin (Beitrag 1026681)
P.S.:
Wie kommt es eigentlich, dass es in diesem Thread das Layout zerschiesst? H4ndys Avatar ist in diesem Thread z.B. bei mir rechtsbündig (statt links)

Das ist gewollt. ;)

H4ndy 11. Jun 2010 01:14

AW: MIDI I/O Komponenten v7
 
Neue Version v7.0r3:

Bringt zwei wichtiges Fixes mit, da ich endlich die "aktuelle" Homepage von David Churcher gefunden habe.
Dort gabs auch direkt ne neuere Version der Komponenten (3.0c), dessen Verbesserungen ich direkt in meine
Version uebernommen habe.

Changesets:
Code:
Merged newer base component version 3.0c (used 3.0 for modifications)
- prevent Windows shutdown fixed
- possible SysEx data appending fixed
- found on http://go.to/davesmidi # http://davesmidi.dchurcher.com/
- Updated README accordingly
http://bitbucket.org/h4ndy/midiio-de...-dev-7.0r3.zip

H4ndy 16. Apr 2012 18:32

AW: MIDI I/O Komponenten v7
 
Neue Revision hochgeladen, siehe ersten Beitrag. Entwicklung wird demnächst wieder aktiver verlaufen.

beanbear6 25. Aug 2012 08:29

AW: MIDI I/O Komponenten v7
 
Hi,
hab grad Dein Posting gesehen. Frage:
Kann man damit auch die Lautstärke und Transpose
der Midifiles ändern? Wenn ja hättst da paar Zeilen
Quellcode? Bin noch nicht so fit in Delphi
Gruß Reiner

H4ndy 27. Aug 2012 14:41

AW: MIDI I/O Komponenten v7
 
Zitat:

Zitat von beanbear6 (Beitrag 1179819)
Hi,
hab grad Dein Posting gesehen. Frage:
Kann man damit auch die Lautstärke und Transpose
der Midifiles ändern? Wenn ja hättst da paar Zeilen
Quellcode? Bin noch nicht so fit in Delphi
Gruß Reiner

Leider ist die MIDI-Datei-Funktionalität recht eingeschränkt und ich habe bisher auch keine Zeit in die Weiterentwicklung von diesem Komponenten-Teil investiert (da ich sie selbst nicht brauche), daher musst du da leider selbst auf Entdeckungstour gehen.

Delfiano 25. Okt 2020 15:58

AW: MIDI I/O Komponenten v7
 
Leider sind die Links ungültig.

Wo kann ich das denn jetzt noch bekommen?

H4ndy 25. Okt 2020 16:43

AW: MIDI I/O Komponenten v7
 
Zitat:

Zitat von Delfiano (Beitrag 1476086)
Leider sind die Links ungültig.

Wo kann ich das denn jetzt noch bekommen?

Irgendwie verpennet, dass Bitbucket ja den Mercurial-Support eingestellt hat.
Hab hier das letzte Release erstmal als ZIP im ersten Post angehängt, muss mal schauen, ob ich das Repo noch irgendwo lokal habe.

Delfiano 31. Okt 2020 14:26

AW: MIDI I/O Komponenten v7
 
Liste der Anhänge anzeigen (Anzahl: 1)
Vielen, vielen Dank !

Ich hatte nämlich nur eine erheblich ältere Sammlung, und da bekomme ich durch MidiOut einen Fehler mit Programmabbruch, wenn ich auf ein Outdevice zugreifen will, das bereits in Benutzung ist.

Vielleicht ist bei den neueren Sachen etwas, um vorher prüfen zu können, ob etwas schon benutzt wird.

Werde ich gleich mal genau durchsehen.

Delfiano 31. Okt 2020 18:34

AW: MIDI I/O Komponenten v7
 
Langsam bin ich's leid, hier immer wieder automatisch rausgeschmissen zu werden, während ich noch am Schreiben bin.

Alles, was ich in meinem vorigen Beitrag ergänzend editiert hatte, ist nun weg.

Darum nur kurz: Die Komponenten sind verschlimmbessert worden. Was vorher kompilierbar war und funktionierte, verursacht jetzt massive Fehler, z.B. Division dutch Null, sogar die Originalbeispiele.

Die unnötigen Ersatzhinweise für gültiges Public Domain stören zudem den Dateivergleich.

Ich werde das mal neu sortieren und dabei mit den ähnlichen Komponenten des ebenfalls sehr fehlerhaften Projektes https://sourceforge.net/projects/midisequencer/ vergleichen.

TurboMagic 31. Okt 2020 19:20

AW: MIDI I/O Komponenten v7
 
Und wenn du's wieder am Laufen hast, dann bitte auf einer OpenSource Plattform veröffentlichen!

Delfiano 2. Nov 2020 01:51

AW: MIDI I/O Komponenten v7
 
Das wird wohl leider vorerst nichts, weil ich mittlerweile die BASS.DLL und deren tolle Möglichkeiten entdecken durfte. Durch Benutzung von SF2-Soundfiles klingt Midi ganz erheblich besser. Bisher hatte ich mir mit Coolsoft VirtualMIDISynth beholfen, aber der direkte Zugriff auf die Soundfiles ist reizvoller.

Aber ich bleib dran, auch wenn's nun erstmal etwas länger dauert. Erste Vergleiche haben gezeigt, dass die Units teils erheblich abweichen, weil Elemente hinzugefügt wurden, die für die eigentliche Funktionalität nicht erforderlich sind. Sowas wie Namen der Midi-Instrumente, Drumsets etc. hab ich immer lieber in Zusatzunits untergebracht.

Sinspin 2. Nov 2020 11:14

AW: MIDI I/O Komponenten v7
 
Midi ist immer abhängig von der Soundkarte und den installierten Treibern/Soundfiles.
Ich habe damit viel zu DOS / Win 3.1 Zeiten und auch noch ne Weile unter Win95 rumexperimentiert. Irgendwann ist mir der DMP Player in die Hände gefallen. Das war für mich der Weg ins Module Tracker Universum. Da bin ich noch.
Tonschnipsel bekommt man immer um die Ohren gehauen. Ansonsten wirds halt selber aufgenommen.

PS: fürs rausgeschmissen werden: ich habe mir angewöhnt den Text vor dem Posten in die Zwischablage zu kopieren.

Delfiano 3. Nov 2020 17:30

AW: MIDI I/O Komponenten v7
 
Den Text vor dem Posten in die Zwischenablage zu kopieren ist eine sehr gute Idee. Ich werd versuchen, dran zu denken.

Oh ja, unter DOS war noch viel möglich. Da konnte ich noch über Ports mein externes Keyboard direkt ansteuern, ohne die MMSystem.

Die Zeit der Quelltexte für Tracker war glaub ich schon ab Windows 95 vorbei, oder?

Midi ist für mich immer noch der bete Weg, vor allem im Zusammenhang mit LMMS, wo man für jede Spur einen unterschiedlichen SoundFont benutzen kann. Und das ist oft auch sehr nötig.

Ich schreib gerade an etwas, um mit der BASS.DLL und der BASSMIDI.DLL "on the run" sofort den akustischen Vergleich zu bekommen, welcher Soundfont welche Instrumente besonders gut wiedergibt.

Aber um dann die besten Sounds z.B. mit Polyphone zu extrahieren und neu zusammen fügen zu können, fehlt mir leider noch der Überblick.

Sinspin 4. Nov 2020 08:09

AW: MIDI I/O Komponenten v7
 
Zitat:

Zitat von Delfiano (Beitrag 1476619)
Die Zeit der Quelltexte für Tracker war glaub ich schon ab Windows 95 vorbei, oder?

Das sehe ich anders rum. Was soll ich mich mit midi abquählen wenn ich einen Tracker verwenden kann?
Du lädst Instrumente, die auch aus zig einzelnen Dateien bestehen können und weist die auf Tonspuren noten zu. Das geht auch via MIDI Eingang.
Ich verwende seit Jahren den MPT/OpenMPT.

Delphi.Narium 4. Nov 2020 12:06

AW: MIDI I/O Komponenten v7
 
Der meiner Meinung nach für die Art von Musik, die ich gerne höre, am besten geeignete SoundFont, ist FluidR3 GM.sf2 von MuseScore, einem frei verfügbaren (OpenSource), für meine Begriffe extrem guten und leistungsfähigen, Notensatzprogramm.

Wenn man SoundFonts "auseinandernnehmen" und anderweitig wieder "zusammenbauen" möchte, kann man als Hilfsmittel sf2comp nehmen. Der Delphiquelltext ist auf der Seite ebenfalls frei verfügbar.

Sinspin 4. Nov 2020 12:34

AW: MIDI I/O Komponenten v7
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1476660)
Der meiner Meinung nach für die Art von Musik, die ich gerne höre, am besten geeignete SoundFont, ist FluidR3 GM.sf2 ...

Danke. Werde ich mir mal ansehen. Ich will einige meiner Zeitraffer Videos veröffentlichen und dafür vertonen. Daher bin ich auf der Suche nach lizensfreier Musik oder eben Samples.

Ydobon 4. Nov 2020 12:46

AW: MIDI I/O Komponenten v7
 
Ich bevorzuge "Timbres Of Heaven". Aber es gibt eigentlich genug für jeden Geschmack, "Arachno" und "FatBoy" sind auch ganz nett oder "CrisisGeneralMid" mit 1,57 GB.

Zum Bearbeiten würde ich Viena empfehlen oder Polyphone (OpenSource C++).

Delfiano 4. Nov 2020 14:04

AW: MIDI I/O Komponenten v7
 
an Sinspin:

Aber Midi ist eine universelle Norm und ist leicht austauschbar.

Die zugewiesenen Instrumente lassen sich ändern. Fertigprodukte dann als MP3 zu speichern halte ich für effektiver. Die lassen sich wie MIDI leicht überall abspielen, während man für Tracker (vor allem bei den vielen Formaten schwierig) immer spezielle Proggramme braucht.

Früher hab ich viel mit MOD-Dateien gemacht.

an die anderen: Danke für die wertvollen Hnweise.

Delfiano 7. Nov 2020 02:56

AW: MIDI I/O Komponenten v7
 
Für SF2Comp habe ich gerade das Projekt https://www.delphipraxis.net/205992-...ml#post1476852 begonnen.

Vielen Dank nochmal an Delphi.Narium, der mich auf SF2Comp hingewiesen hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz