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 1 von 2  1 2      
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: Virtual Piano

  Alt 19. Mai 2011, 17: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
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Virtual Piano

  Alt 19. Mai 2011, 17:36
Alle Noten egal welcher Art werden immer 12x12 gezeichnet und zwar so groß wie die Quadrate im Grid.
Wenn du eine Note in der länge änderst wird immer mit 12 hochgezählt.

Ich habe es jetzt anderes gemacht.
Ich denke es macht keinen Sinn wenn ich bei eingestellter 1/16 Note anfange zu zeichnen anschließend noch auf eine andere wechseln zu wollen.
Daher habe ich ein Flag eingebaut welches das Ändern des Grid\Note unterbindet.
Man kann aber weiterhin auf 3/4 4/4 usw.. schalten.

Man kann jederzeit die Note nachträglich noch ändern wenn man vorher abspeichert.
Die Datei neueinläd und dann ohne vorher zu zeichen auf 1/8 schaltet.
Wird dann neu gezeichnet bleibt die eingestellte Note auf 1/8.

Denke das ist eine lösung.
Werde dir demnächst mal den Quelltext zuschicken.
Vorrausgesetzt du hast D2009 UP..

gruss

Geändert von EWeiss (19. Mai 2011 um 17:38 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Virtual Piano

  Alt 19. Mai 2011, 18:54
Ich kann das Programm ja leider weiterhin nicht starten, aber auf dem Screenshot ist mir aufgefallen, dass alles geskinnt
ist bis auf die Scrollbars des Grids. Wirst du die eigentlich noch durch eigene ersetzen?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Virtual Piano

  Alt 19. Mai 2011, 19:41
Ich kann das Programm ja leider weiterhin nicht starten, aber auf dem Screenshot ist mir aufgefallen, dass alles geskinnt
ist bis auf die Scrollbars des Grids. Wirst du die eigentlich noch durch eigene ersetzen?
Das ist schade.

Eigentlich schon..
Aber das ist nicht so einfach muss mir da noch was einfallen lassen.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Virtual Piano

  Alt 23. Jun 2011, 05:26
Ich kann das Programm ja leider weiterhin nicht starten, aber auf dem Screenshot ist mir aufgefallen, dass alles geskinnt
ist bis auf die Scrollbars des Grids. Wirst du die eigentlich noch durch eigene ersetzen?
Jo habe ich mittlerweile siehe Pic
Noch nicht ganz fertig aber sieht schon fein aus
Erst mal ne VScrollBar (für die Instrumentenliste) die kann aber nachher auch im Grid verwendet werden.

gruss

Geändert von EWeiss (26. Jun 2011 um 18:40 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Virtual Piano

  Alt 26. Jun 2011, 18:40
Neue Version Oben .. siehe changelog.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Virtual Piano

  Alt 27. Jun 2011, 16:43
Sorry noch ein kleines Update.. Quelltext
Flickern und Down Status der Page(ScrollBar) gefixt.

gruss
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Virtual Piano

  Alt 2. Jul 2011, 15:05
hi, ich mal wieder
Brauche Erklärung für folgenden Fall!

Original Miditracker:

Code:
HalbTon: array[0..100] of Bool;

DieNoten: TSplitStrArray;
alles OK, aber wenn es so geändert wird
Delphi-Quellcode:
DieNoten: TSplitStrArray;

HalbTon: array[0..100] of Bool;
kracht es mit exception beim Schreiben auf DieNoten[0]

Was hat die Reihenfolge damit zu tun
Oder sollte ich diese Frage mal ins Forum stellen?
Gruss alfold
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Virtual Piano

  Alt 19. Mai 2011, 18:59
ok ebend 12x12, wo liegt aber das Problem?
1/4 ist 12pixel eine 4tel Note, 4 senkrechte striche pro Takt
1/8 ist 24pixel eine 4tel Note, 8 senkrechte striche pro Takt
1/16 ist 48pixel eine 4tel Note usw
1/32 ist 96pixel eine 4tel Note usw

Zweite darstellung: halbe Note
1/4 ist 24pixel eine halbe Note, 4 senkrechte striche pro Takt
1/8 ist 48pixel eine halbe Note, 8 senkrechte striche pro Takt
1/16 ist 96pixel eine halbe Note, usw
1/32 ist 192pixel eine halbe Note, usw

dritte Darstellung: ganze Note
1/4 ist 48pixel eine ganze Note, 4 senkrechte striche pro Takt
1/8 ist 96pixel eine ganze Note, 8 senkrechte striche pro Takt
1/16 ist 192pixel eine ganze Note, usw
1/32 ist 384pixel eine ganze Note, usw

und nun das ganze wieder zurückrechnen. von 1/32 zu 1/4. Dies ist nur die graphische Darstellung. Was Du intern machst, um daraus ne Note zu hören ist wieder was anderes.
Selbst wenn Du daraus die Note berechnest, bleibt es immer die dementsprechende graphische Note. Du musst also nicht mal was zwischenspeichern um das neu zu berechnen beim Zeichnen des Grids. Denn irgendwo musst Du ja die Daten sprich Noten haben!?

Natürlich müssen die Taktstriche und zwichenstriche auch dazu berechnet werden, klar. Hast Du ja schon
Ist aber alles x2 oder durch 2. Oder rechne ich da falsch!?

Will ja nicht unken, bin ja selber kein Profi, nonvcl schon gar nicht, aber
Zitat:
Man kann jederzeit die Note nachträglich noch ändern wenn man vorher abspeichert.
Die Datei neueinläd und dann ohne vorher zu zeichen auf 1/8 schaltet.
dies ist keine Profilösung
Leider habe ich nur D7 Enterprise und XP
Ob Dein Source darauf läuft? Würde gern das mit der Graphic für Dich machen. Weil so wie es ist ist es halt nicht gut
Zumal ich noch ein paar wichtige futures habe, was Du noch machen müstest!

Gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: Virtual Piano

  Alt 19. Mai 2011, 20:06
ok ebend 12x12, wo liegt aber das Problem?
Erst mal Danke für dein Interesse.

Das Problem liegt tiefer begraben man kann das so pauschal nicht auslegen.
Hast du mal die *.mtf Datei analysiert?

Wenn du eine einfache Note zeichnest ist das alles kein problem wenn du aber zwei in folge addierst rechnet sich das ganze so..

Eine Note.. bsp. 50
Erweiterst du diese dann bekommst du einen Eintrag von "50, 1050"
1050 steht für Fortgesetzte Note(rede jetzt nur vom Grid) in dem Fall hättest du dann 2x48 Ticks also ein halbe note 2/4.
Wobei 50 die StartNote und mit 1000 addiert die Folgenden sind.
"50, 1050, 1050, 1050" wäre dann eine ganze.

Wenn du dich nun im 1/16 Grid befindest und dort eine ganze Note zeichnest sieht das ganze so aus.
"91,1091,1091,1091,1091,1091,1091,1091,1091,1091,1 091,1091,1091,1091,1091,1091"

So jetzt schalte mal zurück nach 1/8 Note..
Was denkst du wie es dann aussieht
Dann halbiert ich das ganze schaltest du nun nach 1/4 dann wird alles das abgeschnitten was
im 1/4 Grid nicht mehr Anzeigbar ist so wie die 1/16 Note.

Es ist einfach mit meiner Grid auflösung nicht möglich in einem 1/4 grid 1/16 noten anzeigen zu lassen.

Zitat:
Ob Dein Source darauf läuft? Würde gern das mit der Graphic für Dich machen.
Zumal ich noch ein paar wichtige futures habe, was Du noch machen müstest!
Nein definitiv nicht denn der ist auf Unicode ausgelegt.

Zitat:
Weil so wie es ist ist es halt nicht gut
Gebe ich dir vollkommen Recht!
Finde aber im moment nicht die Lösung für das Problem.

gruss

Geändert von EWeiss (19. Mai 2011 um 20:10 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:59

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