![]() |
AW: TMIDIPlayer2
Zitat:
Hatte aber darum gebeten... Zitat:
![]() gruss |
AW: TMIDIPlayerComp
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 |
AW: TMIDIPlayerComp
Neue Version..
Änderungen siehe v0.9.1 gruss |
AW: TMIDIPlayerComp
Neue Version..
Änderungen siehe v0.9.1.1 gruss |
AW: TMIDIPlayerComp
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 |
AW: TMIDIPlayerComp
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:
Aber egal.. PS: Ansonsten super Arbeit Klaus ;) Dein Demo gefällt mir sehr gut. gruss |
AW: TMIDIPlayerComp
Liste der Anhänge anzeigen (Anzahl: 1)
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 |
AW: TMIDIPlayerComp
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:
Es hat sich mit der Zeit so Entwickelt wie es ist. Aber wie gesagt Verbesserungen oder Erweiterungen steht nichts im Wege. Zitat:
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 |
AW: TMIDIPlayerComp
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 |
AW: TMIDIPlayerComp
Zitat:
Davon ausgenommen Siehe! §1 ![]() PN.. Habe ich bzgl. des Vermerks an dich gesendet. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz