Delphi-PRAXiS
Seite 24 von 35   « Erste     14222324 252634     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Virtual Piano (https://www.delphipraxis.net/158944-virtual-piano.html)

EWeiss 18. Mai 2011 19:34

AW: Virtual Piano
 
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.
Delphi-Quellcode:
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

Delphi-Quellcode:
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

alfold 18. Mai 2011 20:58

AW: Virtual Piano
 
Liste der Anhänge anzeigen (Anzahl: 1)
Tu mir leid aber die neue version, funct Dein Grid nicht mehr richtig:cry:
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

:gruebel::gruebel::gruebel:

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

Gruss

EWeiss 18. Mai 2011 21:14

AW: Virtual Piano
 
Zitat:

Zitat von alfold (Beitrag 1101659)
Tu mir leid aber die neue version, funct Dein Grid nicht mehr richtig:cry:
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

:gruebel::gruebel::gruebel:
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

alfold 18. Mai 2011 21:43

AW: Virtual Piano
 
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:wink:

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

gruss

EWeiss 18. Mai 2011 22:26

AW: Virtual Piano
 
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

alfold 18. Mai 2011 22:45

AW: Virtual Piano
 
Zitat:

Zitat von EWeiss (Beitrag 1101669)
So sollte jetzt endlich mal richtig funktionieren.

Muss Dich entäuchen, leider nicht, genau das selbe:cry:

gruss

EWeiss 18. Mai 2011 22:55

AW: Virtual Piano
 
Zitat:

Zitat von alfold (Beitrag 1101674)
Zitat:

Zitat von EWeiss (Beitrag 1101669)
So sollte jetzt endlich mal richtig funktionieren.

Muss Dich entäuchen, leider nicht, genau das selbe:cry:

gruss

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

gruss

alfold 18. Mai 2011 23:01

AW: Virtual Piano
 
Hallo, ich lade keine Datei. Beim laden von 'alle meine entchen' funct es.:wink:
Ich will gerade einen neuen Sound machen, da funct es nicht bei mir!

gruss

EWeiss 18. Mai 2011 23:03

AW: Virtual Piano
 
Zitat:

Zitat von alfold (Beitrag 1101678)
Hallo, ich lade keine Datei. Beim laden von 'alle meine entchen' funct es.:wink:
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.:gruebel:
Eventuell müßte ich die Daten dann Temporär abspeichern. (Oder ins ClipBoard kopieren)
Das geht auf die Resourcen.

gruss

alfold 19. Mai 2011 17:08

AW: Virtual Piano
 
Mal so als Idee, ich weiss ist nonvcl:wink:
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.
Seite 24 von 35   « Erste     14222324 252634     Letzte »    

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