![]() |
AW: Virtual Piano
Hast du wirklich die aktuelle Version oben?
Oberfläche sieht nicht so aus wie bei Dir(Photo)! Da ich jetzt erst mit XE anfange, wie bekomme ich alles zusammen? ein Ordner Sample, ein Ordner Lib, bzw dein Bin Ordner:shock: Gruss alfold |
AW: Virtual Piano
Zitat:
Alte Binäre Dateien EXE,DLL Du brauchst aber den Bin Ordner incl. der darin enthaltenen Skins/Background/Config Ordner. Rootpfad.. Name egal. Darin Bin, Lib und Sample Ordner so wie sie sind hinein kopieren. Danach sollte es laufen. Erst nach neuer Kompilierung der EXE incl. DLL sollte die Oberfläsche mit dem letzen Hochgeladenen Bild Identisch sein. Alte DLL kennt die Unit(Interface) uMediaTimer noch nicht da ich diese neu geschrieben habe. Für die Gruppe EXE/DLL "ProjectGroup1" im Sample Odner starten oder VirtualPiano.dproj für die EXE allein. Die Project Datei der DLL befindet sich im Lib Odner. Hab mal nen Shot hochgeladen. PS: Komponente mußt du keine Installieren. Mindestanforderung D2009. gruss |
AW: Virtual Piano
Ich muss sagen, das ist eine der hübschsten Delphi-Anwendungen, die ich je gesehen habe! :thumb::thumb:
So eine GUI hätte damals mal mein selbstgebautes MIDI-Pult gebraucht :-D |
AW: Virtual Piano
Zitat:
gruss |
AW: Virtual Piano
Mal gucken, ich bin verzückt am testen, auch wenn ich MIDI nicht mehr so oft verwende...
Was mir gerade aufgefallen ist, wenn ich den Skin ein paar mal hintereinander wechsle (zuerst von Standard => Black => Crystal), hängt sich das Programm beim Restart auf (nur noch ein Task im TM sichtbar) und muss über den Taskmanager beendet werden, bevor man es wieder starten kann. System: Win 7 x64, Programm liegt NICHT in C:\ProgramFiles\ |
AW: Virtual Piano
Zitat:
Vielleicht ein Timing problem.. Das problem habe ich selbst auch kann es aber nicht nachvollziehen da es nur sporadisch auftritt. Zitat:
System ist bei mir das selbe. gruss |
AW: Virtual Piano
Ein riesen Respekt für diese Arbeit:thumb::thumb:
Ich hoffe das Du noch am Ball bleibst, denn ich würde gern meine Ideen mit einbauen. Die Kritikpunkte kennst Du ja:wink: Den eigentlichen Konzeptfehler deinerseits (MidiTracker), hab ich schon gefunden. Nun muss ich nur noch sehen an welchen Stellen im Prog das alles korregiert werden muss. (Wenn ich darf) Es währe schade, wenn dieses Prog sonst nur für Dich bleibt. Ich persöhnlich finde es ja toll(weil klein und übersichtlich), aber etwas umständlich beim komponieren. Darum würde ich gern die Änderungen machen. Geht aber nur, wenn ich halt die ganzen Stellen finde:!: und Du am Ball bleibst. Gruss alfold |
AW: Virtual Piano
Zitat:
Eigentlich war es dazu gedacht um die Funktionalität der Library zu dokumentieren. Das es nun solche ausmaße angenommen hat .. hat mich dann doch selbst überrascht ;) Ich werde mal warten was du so umsetzt. also änderst. Gleichzeitig am aktuellen Source änderungen vorzunehmen würde nichts bringen. Natürlich werde ich am Ball bleiben und helfen wenn du probleme beim auffinden von Funktionen hast. Hier meine letzten änderungen der LIB und ein einfaches Window Sample das als Basis für spätere oder andere Anwendungen verwendet werden kann. Lib Ordner ersetzen und den WinSample Ordner in den Rootpfad kopieren. gruss Emil |
AW: Virtual Piano
So, nicht das Du denkst ich mach nichts mehr:wink:
Ich bin voll dabei, hier schon mal 1 von vielen, was ich anders mache: Original
Delphi-Quellcode:
Und hier mal das geänderte:
if FVisible then
begin // Aktualisiere die labels for IntA := StartX to StartX + XSize do begin if (IntA mod Value) = 0 then begin GetClientRect(TopBarFrame.Handle, rc); DC := GetDC(TopBarFrame.Handle); GDIP_CreateFromHDC(DC, Graphics); SKAERO_SplitColorARGB($000000, Alpha, Red, Green, Blue); GDIP_FillRect(Graphics, (IntA - StartX) * 16, rc.Top, rc.Right, rc.Bottom, SKAERO_ColorARGB(254, RGB(Red, Green, Blue))); SKAERO_DrawTextToDC(DC, IntToStr((IntA div Value) + 1), (IntA - StartX) * 12 + TopBarOffset, rc.Top - 2, SKAERO_BTNTEXTCOLOR, SKAERO_TEXTFONT, 10, 0, 0); GDIP_DeleteGraphics(Graphics); ReleaseDC(SideBarFrame.Handle, DC); end; end; end;
Delphi-Quellcode:
Durch diese Veränderung wird dein Prog natürlich schneller beim neuzeichnen!
if FVisible then
begin // Aktualisiere die labels GetClientRect(TopBarFrame.Handle, rc); DC := GetDC(TopBarFrame.Handle); GDIP_CreateFromHDC(DC, Graphics); SKAERO_SplitColorARGB($000000, Alpha, Red, Green, Blue); GDIP_FillRect(Graphics, rc.Left, rc.Top, rc.Right, rc.Bottom, SKAERO_ColorARGB(254, RGB(Red, Green, Blue))); for IntA := StartX to StartX + XSize do begin if (IntA mod GridZahlenPos) = 0 then begin SKAERO_DrawTextToDC(DC, IntToStr((IntA div GridZahlenPos) + 1), (IntA - StartX) * 24 + TopBarOffset, rc.Top - 2, SKAERO_BTNTEXTCOLOR, SKAERO_TEXTFONT, 10, 0, 0); end; end; GDIP_DeleteGraphics(Graphics); ReleaseDC(SideBarFrame.Handle, DC); end; Am schwersten ist natürlich Deine magische 12 und 1000:wink: Aber die hab ich zum Teil schon auseinandergenommen 8-) Für die neue Umsetztung ist diese magische 12 nicht mehr so wichtig, da bei der neuen Variante nun auch 32tel bei 1/4 zu sehen sind Bis auf weiteres Gruss alfold |
AW: Virtual Piano
Zitat:
Aber vergess bitte nicht bzw. schau mal wie lange ich an dem Projekt arbeite (alleine) da passieren schon mal solche flüchtigkeitsfehler. Nebenbei sehe ich hier ein Speicherleck!
Delphi-Quellcode:
DC := GetDC(TopBarFrame.Handle);
Delphi-Quellcode:
ReleaseDC(SideBarFrame.Handle, DC);
DC darf nur freigegeben werden wenn es auch vorher eingeholt wurde.. SideBarFrame.Handle ist also falsch das muß TopBarFrame.Handle sein. Es wird also ein DC freigegeben das gar nicht existiert!. Zitat:
PS: Hab noch nen neuen Skin erstellt .. Radio EDIT: Warum du hier!
Delphi-Quellcode:
12 + TopBarOffset,
die 12 mit 24 ersetzt hast ist mir unverständlich :?: Du änderst damit den offset der Grid Zahlen Position Was bedeutet das die Zahlen beim scrollen nicht immer direkt hinter der Dicken vertikalen Linie stehen. Teste es selbst in dem du auf 1/8 schaltest und Song.mtf abspielst. Magische 12! breite der NotenSpalte gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:50 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