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 27 von 35   « Erste     17252627 2829     Letzte »    
EWeiss
Projekt entfernt..

Geändert von EWeiss (24. Jul 2019 um 05:46 Uhr)
 
alfold

 
Delphi 7 Enterprise
 
#261
  Alt 4. Jun 2011, 12:53
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

Gruss alfold
  Mit Zitat antworten Zitat
EWeiss
 
#262
  Alt 4. Jun 2011, 20:15
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

Gruss alfold
Nein!
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

Geändert von EWeiss (11. Jul 2019 um 16:40 Uhr)
  Mit Zitat antworten Zitat
blackfin
 
#263
  Alt 4. Jun 2011, 20:38
Ich muss sagen, das ist eine der hübschsten Delphi-Anwendungen, die ich je gesehen habe!
So eine GUI hätte damals mal mein selbstgebautes MIDI-Pult gebraucht
  Mit Zitat antworten Zitat
EWeiss
 
#264
  Alt 4. Jun 2011, 20:43
Ich muss sagen, das ist eine der hübschsten Delphi-Anwendungen, die ich je gesehen habe!
So eine GUI hätte damals mal mein selbstgebautes MIDI-Pult gebraucht
Hoffe du kannst damit etwas Anfangen

gruss
  Mit Zitat antworten Zitat
blackfin
 
#265
  Alt 4. Jun 2011, 21:55
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\
  Mit Zitat antworten Zitat
EWeiss
 
#266
  Alt 5. Jun 2011, 09:59
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.

Vielleicht ein Timing problem..
Das problem habe ich selbst auch kann es aber nicht nachvollziehen
da es nur sporadisch auftritt.

Zitat:
liegt NICHT in C:\ProgramFiles\
Ist auch nicht nötig.
System ist bei mir das selbe.


gruss

Geändert von EWeiss ( 5. Jun 2011 um 11:21 Uhr)
  Mit Zitat antworten Zitat
alfold

 
Delphi 7 Enterprise
 
#267
  Alt 5. Jun 2011, 12:07
Ein riesen Respekt für diese Arbeit

Ich hoffe das Du noch am Ball bleibst, denn ich würde gern meine Ideen mit einbauen.
Die Kritikpunkte kennst Du ja

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
  Mit Zitat antworten Zitat
EWeiss
 
#268
  Alt 5. Jun 2011, 12:59
Ein riesen Respekt für diese Arbeit

Ich hoffe das Du noch am Ball bleibst, denn ich würde gern meine Ideen mit einbauen.
Die Kritikpunkte kennst Du ja

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
Es würde mich freuen wenn du dich an dem Projekt beteiligst.
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

Geändert von EWeiss (26. Jun 2011 um 19:20 Uhr)
  Mit Zitat antworten Zitat
alfold

 
Delphi 7 Enterprise
 
#269
  Alt 7. Jun 2011, 10:38
So, nicht das Du denkst ich mach nichts mehr

Ich bin voll dabei, hier schon mal 1 von vielen, was ich anders mache:
Original
Delphi-Quellcode:
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;
Und hier mal das geänderte:
Delphi-Quellcode:
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;
Durch diese Veränderung wird dein Prog natürlich schneller beim neuzeichnen!

Am schwersten ist natürlich Deine magische 12 und 1000
Aber die hab ich zum Teil schon auseinandergenommen
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

Geändert von alfold ( 7. Jun 2011 um 10:47 Uhr)
  Mit Zitat antworten Zitat
EWeiss
 
#270
  Alt 7. Jun 2011, 11:44
Zitat:
Durch diese Veränderung wird dein Prog natürlich schneller beim neuzeichnen!
Jup war nicht die beste lösung das DC innerhalb der Schleife jedesmal neu zu erstellen.
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!
DC := GetDC(TopBarFrame.Handle);
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:
Am schwersten ist natürlich Deine magische 12 und 1000
Aber die hab ich zum Teil schon auseinandergenommen
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
Lass mich überraschen


PS:
Hab noch nen neuen Skin erstellt .. Radio

EDIT:
Warum du hier!
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

Geändert von EWeiss (23. Jun 2011 um 06:30 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 27 von 35   « Erste     17252627 2829     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 18:58 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