AGB  ·  Datenschutz  ·  Impressum  







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

Virtual Piano

Ein Thema von EWeiss · begonnen am 8. Mär 2011 · letzter Beitrag vom 13. Apr 2019
Antwort Antwort
Seite 24 von 35   « Erste     14222324 252634     Letzte »    
EWeiss
Projekt entfernt..

Geändert von EWeiss (24. Jul 2019 um 05:46 Uhr)
 
EWeiss
 
#231
  Alt 18. Mai 2011, 20:34
Zitat:
Machst Du da nicht ein Fehler?

Zitat:
Die Auflösung die ich stehen habe 1/16tel oder 1/32tel darf nicht mit dem Tempo der Midifiles zu tun haben.
Bytes[CurrentByte] := round(MidiTracker.Tempo / 300 * 127); // Geschwindigkeit
Das Tempo byte

Delphi-Quellcode:
  // Anzahl der Delta-Zeit sekunde pro Viertelnote
  Bytes[14] := SmallNoteData[SmallNDSelected].Ticks;
Delphi-Quellcode:
  // Nenner (2 = 1/4, 3 = 1/8, 4 = 1/16, etc.)
  Bytes[35] := SmallNoteData[SmallNDSelected].Nenner;
  Bytes[36] := 24; // Ticks per Quarter Note
  // 8 = 32 Note in 1/4 Note;
  Bytes[37] := SmallNoteData[SmallNDSelected].Value;
Diese ergeben sich aus..

Delphi-Quellcode:
    // Kleinste Noten
    SmallNoteData[0].Name := '1/4 Note';
    SmallNoteData[0].Value := 1;
    SmallNoteData[0].Nenner := 2;
    SmallNoteData[0].Ticks := 48;

    SmallNoteData[1].Name := '1/8 Note';
    SmallNoteData[1].Value := 2;
    SmallNoteData[1].Nenner := 3;
    SmallNoteData[1].Ticks := 24;

    SmallNoteData[2].Name := '1/16 Note';
    SmallNoteData[2].Value := 4;
    SmallNoteData[2].Nenner := 4;
    SmallNoteData[2].Ticks := 12;

    SmallNoteData[3].Name := '1/32 Note';
    SmallNoteData[3].Value := 8;
    SmallNoteData[3].Nenner := 5;
    SmallNoteData[3].Ticks := 6;
Zitat:
Darf also auch nichts mit dem Export zu tun haben.
Wie soll ich sonst der anderen Anwendung mitteilen welche Noten ich spiele?

Zitat:
4/4Takt bei 120BPM bleibt auch so
Habe nichts anderes behauptet solange du in dem Bereich bleibst.
Es sei denn du veränderst die Geschwindigkeit.
Delphi-Quellcode:
  // Bei einem Tempo von 120 BPM ist die Länge einer 1/4 Note 500ms.
  // Bei 130 BPM (120/130 BPM =) 0.92 * 500ms = 461ms.
  TempoWait := ((120 / MidiTracker.Tempo) * 500) / (BeatProMaes[BeatPMSelected].Value) / SmallNoteData[SmallNDSelected].Value;
Delphi-Quellcode:
    // Takt
    BeatProMaes[0].Name := '2/2';
    BeatProMaes[0].Value := 4;
    BeatProMaes[1].Name := '3/2';
    BeatProMaes[1].Value := 6;
    BeatProMaes[2].Name := '4/2';
    BeatProMaes[2].Value := 8;
    BeatProMaes[3].Name := '2/4';
    BeatProMaes[3].Value := 2;
    BeatProMaes[4].Name := '3/4';
    BeatProMaes[4].Value := 3;
    BeatProMaes[5].Name := '4/4';
    BeatProMaes[5].Value := 4;
    BeatProMaes[6].Name := '5/4';
    BeatProMaes[6].Value := 5;
    BeatProMaes[7].Name := '6/4';
    BeatProMaes[7].Value := 6;
    BeatProMaes[8].Name := '7/4';
    BeatProMaes[8].Value := 7;
    BeatProMaes[9].Name := '9/4';
    BeatProMaes[9].Value := 9;

Das sind die Namen und dazugehörige Values die du oben links
im MidiTracker siehst.

Pulse per 1/4 Note

Info.MIDINotes[Channel_, N-1].Ppqn := Info.MIDINotes[Channel, N-1].Length / Info.Ticks;
Hoffe mal das sind genug Infos.
Wenn hier ein Fehler ist kein problem dann sage es mir.

gruss

Geändert von EWeiss (18. Mai 2011 um 21:01 Uhr)
  Mit Zitat antworten Zitat
alfold

 
Delphi 7 Enterprise
 
#232
  Alt 18. Mai 2011, 21:58
Tu mir leid aber die neue version, funct Dein Grid nicht mehr richtig
Habe dir mal 3 png zum anschauen rangehangen

Hab nur 1Takt gezeichnet und dann mal die Auflösung gewechselt !

grid1: so hab ich angefangen, 1/16, Tempo stimmt nicht
grid2: auf 1/4 umgestellt, Anzeige stimmt nicht, Tempo stimmt
grid3: wieder zurück auf 1/16, Anzeige stimmt nicht mehr, Tempo stimmt



Was soll ich jetzt, auf das was Du oben geschrieben hast, Antworten?

Gruss
Angehängte Dateien
Dateityp: zip grid.zip (1,42 MB, 23x aufgerufen)
  Mit Zitat antworten Zitat
EWeiss
 
#233
  Alt 18. Mai 2011, 22:14
Tu mir leid aber die neue version, funct Dein Grid nicht mehr richtig
Habe dir mal 3 png zum anschauen rangehangen

Hab nur 1Takt gezeichnet und dann mal die Auflösung gewechselt !

grid1: so hab ich angefangen, 1/16, Tempo stimmt nicht
grid2: auf 1/4 umgestellt, Anzeige stimmt nicht, Tempo stimmt
grid3: wieder zurück auf 1/16, Anzeige stimmt nicht mehr, Tempo stimmt


Gruss
Danke ..
Sehe schon muss da noch einiges fixen.
Das sich die Noten dem 1/4 Takt nicht mehr anpassen (haben sie das schon mal?) habe ich auch bemerkt.
Er ignoriert den Sprung von 1/4 zu 1/8 und aktualisiert da nicht richtig wenn man mit 1/4 beginnt.

Muss mir noch mal eine älter version anschauen.
Zitat:
Was soll ich jetzt, auf das was Du oben geschrieben hast, Antworten?
Eigentlich nichts ..
So kannst aber sehen das ich die richtigen Ticks usw.. übergebe.


gruss

Geändert von EWeiss (18. Mai 2011 um 22:17 Uhr)
  Mit Zitat antworten Zitat
alfold

 
Delphi 7 Enterprise
 
#234
  Alt 18. Mai 2011, 22:43
Zitat:
Wenn du exportierst achte darauf das du das richtige Format verwedenst ansonsten ist die Datei Defekt.
Also bei freude ist es 1/4, 4/4.
Das hat nichts mit der einstellung des grid zu tun bei dem du auf 1/16 gehen kannst um 16tel Noten zu addieren.
Vor dem exportieren dann wieder zurück nach 1/4 schalten ansonsten ....
Aber dieses hab ich nicht verstanden. Das Exportieren hat doch nichts mit der Einstellung im Grid zu tun, ausser ebend 4/4 und Speed(BPM).

Zitat:
Er ignoriert den Sprung von 1/4 zu 1/8 und aktualisiert da nicht richtig wenn man mit 1/4 beginnt.
umgekehrt genauso

Das Du es richtig berechnest klar sonst würde gar nichts funcen

gruss
  Mit Zitat antworten Zitat
EWeiss
 
#235
  Alt 18. Mai 2011, 23:26
So sollte jetzt endlich mal richtig funktionieren.
Noten werden jetzt alle korrekt hochgezählt runter genauso wobei die Geschwindogkeit gleich bleibt.
Also *.mtf Datei.

Zitat:
Das Du es richtig berechnest klar sonst würde gar nichts funcen
Nicht immer
Manchmal bin ich auch ohne die Hilfe von hier aufgeschmissen
Top Forum (User) !! Muss mal gesagt werden.

Zitat:
ausser ebend 4/4 und Speed
Die Ticks darfst du nicht vergessen..
Ob ich nachher beim einladen der MidiDatei diese mit 48/24/12/6 parse macht einen großen Unterschied.
Nämlich den das die Noten dann kürzer werden also schneller sind.

gruss

Geändert von EWeiss (19. Mai 2011 um 00:24 Uhr)
  Mit Zitat antworten Zitat
alfold

 
Delphi 7 Enterprise
 
#236
  Alt 18. Mai 2011, 23:45
So sollte jetzt endlich mal richtig funktionieren.
Muss Dich entäuchen, leider nicht, genau das selbe

gruss
  Mit Zitat antworten Zitat
EWeiss
 
#237
  Alt 18. Mai 2011, 23:55
So sollte jetzt endlich mal richtig funktionieren.
Muss Dich entäuchen, leider nicht, genau das selbe

gruss
willst Bilder sehen ?
Verwendest du falsche Datei?
Noch besser geht es nicht das gleiche Rückwärts.

gruss

Geändert von EWeiss (19. Mai 2011 um 00:11 Uhr)
  Mit Zitat antworten Zitat
alfold

 
Delphi 7 Enterprise
 
#238
  Alt 19. Mai 2011, 00:01
Hallo, ich lade keine Datei. Beim laden von 'alle meine entchen' funct es.
Ich will gerade einen neuen Sound machen, da funct es nicht bei mir!

gruss
  Mit Zitat antworten Zitat
EWeiss
 
#239
  Alt 19. Mai 2011, 00:03
Hallo, ich lade keine Datei. Beim laden von 'alle meine entchen' funct es.
Ich will gerade einen neuen Sound machen, da funct es nicht bei mir!

gruss
Werd ich testen

Funktioniert ohne probleme ..
allerdings fange ich bei 1/4 an und vergrößere dann.

PS:
Aber achtung du kannst nicht mehr nach 1/4 zurückschalten wenn du 1/16 oder kleiner eingegeben hast
Ich sagte ja schon kann zur zeit 7.5 nicht auf mein grid umlegen.
Dazu muss ich das erst auf single umstellen.
Die Note müßte dann 25% kleiner als 12 gezeichnet werden.

Bin mal gespannt wie der wird

PS2:
Hab mir das nochmal angeschaut das ist sehr kompliziert
die Daten festzuhalten nach dem du auf das Grid gezeichnet hast und dann wieder zurückschaltest.
Eventuell müßte ich die Daten dann Temporär abspeichern. (Oder ins ClipBoard kopieren)
Das geht auf die Resourcen.

gruss

Geändert von EWeiss (19. Mai 2011 um 01:45 Uhr)
  Mit Zitat antworten Zitat
alfold

 
Delphi 7 Enterprise
 
#240
  Alt 19. Mai 2011, 18:08
Mal so als Idee, ich weiss ist nonvcl
Die gezeichnete länge, muss doch irgenwo berechnet werden.
Mal so theoretisch: eine 4tel Note(Balken)
1/4 ist 20pixel eine 4tel Note
1/8 ist 40pixel eine 4tel Note
1/16 ist 80pixel eine 4tel Note
1/32 ist 160pixel eine 4tel Note
1/64 ist 320pixel eine 4tel Note
und nun das ganze zurück rechen

So nun gehen wir noch ein Schritt weiter! Bei
1/4 eine 4tel Note ist 20pixel, hast Du jetzt sogar die Möglichkeit ne 8tel darzusellen
1/4 eine 8tel Note hätte jetzt 10Pixel
1/4 eine 16tel Note hätte jetzt 5pixel
1/4 eine 32tel Note hätte jetzt 1pixel
1/4 64tel Note hätte jetzt 1pixel

Wenn ich jetzt bei der Berechunng keinen fehler habe?
aber soll ja als Vorlage dienen.
Frage mich also, an welcher Stelle Du nun hängst?

Gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 24 von 35   « Erste     14222324 252634     Letzte »    


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:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
Delphi-Forum.de - Array statisch/dynamisch oder TList fr Midi-Events This thread Refback 20. Sep 2011 15:59

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