AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TMIDIPlayerComp
Thema durchsuchen
Ansicht
Themen-Optionen

TMIDIPlayerComp

Ein Thema von EWeiss · begonnen am 6. Jun 2011 · letzter Beitrag vom 5. Feb 2016
Antwort Antwort
Seite 10 von 11   « Erste     8910 11      
EWeiss
Projekt entfernt..

Geändert von EWeiss (24. Jul 2019 um 04:49 Uhr)
 
EWeiss
 
#91
  Alt 8. Jun 2015, 07:57
Hallo,

erst gestern habe ich mir die aktuelle Version nochmals runtergeladen. Selbst da ist der von dir zitierte Codeausschnitt nicht enthalten.

Ich werde es heute bei Gelegenheit ändern und dann testen.
Danke...
Hatte aber darum gebeten...
Zitat:
Ersetzt mal bitte die procedure TMidiDriver.DoOnMidiTimer in der MidiPlayer2.pas
Siehe!
http://www.delphipraxis.net/1303745-post83.html

gruss
  Mit Zitat antworten Zitat
EWeiss
 
#92
  Alt 20. Nov 2015, 17:39
Neue Version online unter GNU General Public License.

Bitte die alte Komponente wegen Versions Konflikt vorher deinstallieren.
TMIDIFile2, TMIDIPlayer2 und TSheetMusic.

Silhwan hat die "Midi Sheet Music" class, written in c# by
Madhav Vaidyanathan, nach der Delphi Komponente "TSheetMusic" portiert.
Mein Dank geht also an ihm.

gruss
  Mit Zitat antworten Zitat
EWeiss
 
#93
  Alt 25. Nov 2015, 21:10
Neue Version..
Änderungen siehe v0.9.1

gruss
  Mit Zitat antworten Zitat
EWeiss
 
#94
  Alt 29. Nov 2015, 05:51
Neue Version..
Änderungen siehe v0.9.1.1

gruss
  Mit Zitat antworten Zitat
klaus schaaff
 
#95
  Alt 4. Feb 2016, 00:18
Hallo Midifreunde und Delphianer,

ich habe an MidiCompPackage etwas weitergeschrieben und ein paar wichtige Features dem Ganzen spendiert. Im Übrigen, danke an EWeiss für die Arbeitsgrundlage.

Änderungen:
- PosDisplay
- Taktwechsel
- Bindenoten über Taktende mit Bezierkurven
- Noten Font
- Transport Steuerung
- Noten-Eventanzeige

Fertig ist das noch lange nicht und es können durchaus noch Fehler d'rin sein.

Weiter entwickelt habe ich in Delphi 5, so dass ich viele Elemente (Hash Dictionaries) ersetzen musste. Am Ende habe ich noch mal alles in D2009 kompiliert und bei mir läuft das unter Win7-64, hoffe bei Euch auch. Umgeschrieben habe ich auch auf dynamische Erzeugung der Komponenten, so dass man nichts erst installieren muss und vieles andere mehr.

Nun zu meinem Problem:
Es gibt zwei SplitChannels Funktionen in MidiFile2.pas und MidiFile.pas. Diese erzeugen unterschiedliche Anzahlen von Tracks, siehe beigelegte Midi-Files von mir. Die Funktion SetupMenus bezieht die Tracks von
MidiFile.pas und MenuMuteTrackClick von MidiFile2.pas. Das Muten eines Tracks wird dann falsch zugeordnet. Hier komme ich nicht weiter. Es wäre nett, wenn EWeiss mir sagen könnte, wie das gedacht war, danke.

PS.: Bitte die Portierung nach D5 nicht ernst nehmen. Wie gesagt, am Ende habe ich in D2009 kompiliert.


Freundliche Grüße
Klaus Schaaff

Geändert von klaus schaaff ( 5. Feb 2016 um 04:29 Uhr)
  Mit Zitat antworten Zitat
EWeiss
 
#96
  Alt 4. Feb 2016, 14:58
MidiFile.pas gehört zur Komponente Sheetmusic (Sheetmusic ist eine Komponente in der Komponente MIDIPlayerComp)
Diese soll eigentlich nur in Verbindung mit Sheetmusic verwendet werden.

MididFile2 ist teil der Hauptkomponente MIDIPlayerComp.

Kann aber nochmal bei Silhwan nachfragen.

Denke aber das es mit der Portierung zu tun hat und er den Player nicht mit Sheetmusic kombinieren wollte.

Zitat:
Im Übrigen, danke an EWeiss für die Arbeitsgrundlage.
Danke! Im übrigen habe ich daran mit Entwickelt nicht nur den Quelltext zur Verfügung gestellt.
Aber egal..

PS:
Ansonsten super Arbeit Klaus Dein Demo gefällt mir sehr gut.

gruss

Geändert von EWeiss ( 4. Feb 2016 um 19:10 Uhr)
  Mit Zitat antworten Zitat
klaus schaaff
 
#97
  Alt 4. Feb 2016, 19:39
Hallo EWeiss,

danke für die schnelle Antwort und Deine Hinweise.

Bei mir existiert ein älteres Projekt "MidiPlayer" aus Delphi 5 siehe Anhang, deshalb die Portierung nach D5. Mir ist noch unklar welche Intension besteht hinsichtlich Deines Projekts. Will man ein einfaches Werkzeug entwickeln das im Wesentlichen die Grundfunktionen für Karaokebearbeitung enthält, oder eine Expertensoftware für Musiker, ein echtes Sequenzerprogram.

Speziell hier habe ich festgestellt, dass die Grundstruktur von MidiComPackage Hindernisse enthält, um weitere Features einzuarbeiten. Beispiel:

Vielleicht hast Du mal eine Note angeklickt in meiner Version. Dann werden die Werte in den kleinen Editoren unterhalb der Transportsteuerung mit den Werten der Note belegt. Mein Ziel wäre, ändert man den Anfang der Note, sollte MusicSheet darauf reagieren und die Note an neuem Platz darstellen. Die Grundstruktur von MusikSheet berechnet aber immer nur einen kompletten Score. Für seqmentierte Berechnungen hat die Unit keine Grundlagenstruktur. Genauso ändere ich Velocity einer Note, sollte bei Play das hörbar werden. All das, rückwärtige Zugriffe, Schnittstellen auf die Midi-Daten, sind in der bisherigen Struktur nur schwer zu realisieren. Dennoch ist der Score an sich eine hervorragende Leistung. Grund genug, um daran weiter zu arbeiten. Hier fehlen noch Features, die das Notenbild einem echten Notenbild und der Arbeitsweise eines Musikers entsprechen und annähern.

Das sind:
- Quantisierung des Notenbilds
- Korrekte Darstellung von Triolen und n-Tolen
- Kanalbasierte Mehrstimmigkeit eines Notensystems.
Channel 1 = Oberstimme,
Channel 2 = Mittelstimme
Channel 3 = Bassstimme
diese beliebig zuweisbar
- Akkoladen
- Textdarstellung der Systeme
System 1 = Viola
System 2 = Continuo
- Weitere Notenschlüssel Violin hoch 8 Violin unter 8, Sopran, Tenor etc.
- Legatobögen
- Korrekte Notengruppierungen, 8tel, 16tel Balken.

Das sind Ansprüche, wo man mir zur Antwort geben kann: Kauf dir doch Cubase. Ich hab Cubase und acht andere. Keins genügt mir für alles. Manchmal schreibe ich mir eigene Midi-Funktionen in meinen MidiPlayer damit ich bestimmte Dinge realisieren kann. Da ist es auch, warum diese Arbeit von Dir so viel wert ist.

Den PianoRoll schaue ich mir mal an, das kann aber dauern. Momentan hadere ich an der Grundstruktur, um überhaupt weitere Features einzubauen zu können. Ich hänge mal meinen MidiPlayer an, wo nicht alles funktioniert, wo man aber sehen kann, wo ich hin will und wo bei mir schon fertige Komponenten existieren.

Meine bisherige Erweiterung von Editoren: Laufanzeige, Locatoren, Taktanzeige, Tempo usw. ist noch unfertig. Die Unit CbEdit.pas sollte nicht als Komponente in Delphi installiert werden, da der Designmodus vollkommen fehlt. Hier war meine Intension den Traffic von Messages in der VCL so weit zu minimieren, das nie Störungen der Midi-Wiedergabe entstehen. Bisher ist das nicht vollständig von mir. Sequenzerprogramme sind neben CAD-CAM Systemen das Aufwendigste was Programmierer machen können. Dagegen sind Datenbankanwendungen steuerungstechnisch nur ein kleiner Kühlschrank und Sequenzersoftware ein Atomkraftwerk.

Mal so weit
Klaus Schaaff
Angehängte Dateien
Dateityp: zip MidiPlayer.zip (482,1 KB, 69x aufgerufen)
  Mit Zitat antworten Zitat
EWeiss
 
#98
  Alt 4. Feb 2016, 19:45
Ok..
Der Unterschied ist folgender.

TMidiFile2 enthält einen NICHT Notentrack
Track 0 enthält keine Noten NUR Steuerereignisse.
Ein nicht Noten Track ist notwendig um Midi Dateien abspielen zu können.

TMidiFile:
schließt den Track ohne Noten aus weil ein NICHT Noten Track für die Anzeige auf dem Midi\Notenblatt nutzlos ist.

Hoffe das hilft weiter.

PS:
Ich sehe aber bei deinen Antworten das du über große Kenntnisse hinsichtlich Midi(Sequenzer) verfügst.
Verbesserungen sind immer willkommen.
In dem Sinne

Zitat:
Mir ist noch unklar welche Intension besteht hinsichtlich Deines Projekts. Will man ein einfaches Werkzeug entwickeln das im Wesentlichen die Grundfunktionen für Karaokebearbeitung enthält, oder eine Expertensoftware für Musiker, ein echtes Sequenzerprogram.
Es bestand keine besondere Intension.
Es hat sich mit der Zeit so Entwickelt wie es ist.
Aber wie gesagt Verbesserungen oder Erweiterungen steht nichts im Wege.

Zitat:
Den PianoRoll schaue ich mir mal an, das kann aber dauern.
Ist nicht so wichtig deshalb habe ich es aus dem vorherigen Beitrag auch wieder entfernt
Ich müsste dazu Midi Standards verwenden also explicit für den Miditracker
Würde bedeuten das ich mein eigenes Format entfernen muss da bin ich noch am hadern.

gruss

Geändert von EWeiss ( 5. Feb 2016 um 02:23 Uhr)
  Mit Zitat antworten Zitat
klaus schaaff
 
#99
  Alt 4. Feb 2016, 22:19
Hallo EWeiss,

danke für die Info.

Meine Absicht war nur zu der hervorragenden Arbeit etwas beizusteuern, von der ich sehr profitiert habe. Ich hoffe Ihr könnt es verwenden.

Grüße
Klaus Schaaff
  Mit Zitat antworten Zitat
EWeiss
 
#100
  Alt 4. Feb 2016, 22:25
Hallo EWeiss,

danke für die Info.

Meine Absicht war nur zu der hervorragenden Arbeit etwas beizusteuern, von der ich sehr profitiert habe. Ich hoffe Ihr könnt es verwenden.

Grüße
Klaus Schaaff
Finde ich auch OK.. Danke
Davon ausgenommen Siehe! §1
http://www.gnu.de/documents/gpl-2.0.de.html
PN.. Habe ich bzgl. des Vermerks an dich gesendet.

gruss

Geändert von EWeiss ( 5. Feb 2016 um 04:12 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 10 von 11   « Erste     8910 11      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:20 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