Forum: PC-Programmierung C + grafische Oberfläche + Linux


von Linux-Älter (Gast)


Lesenswert?

Hallo,

ich entwickle auf einem STM32 Board ein Audio Effektgerät. Jetzt wird 
das Projekt komplizierter und es genügt mir nicht mehr, an den 
Algorithmen zu drehen und anzuhören, wie es klingt. Ich möchte gerne 
analysieren, Zwischenwerte von Berechnungen anschauen usw.

Deshalb suche ich eine Möglichkeit um:
Den STM32 C-Quellcode (also nur die Datei audio_effect.c) unter Linux 
Ubuntu zu übersetzen, indem ich noch ein passendes Gerüst drumrum baue 
und ich möchte mit dann zum Beispiel 5 Zwischenwerte zeitlich in einer 
Art "Oszilloskop" auf dem Schirm in Echtzeit darstellen. Also brauche 
ich ja nur ein Fenster und ein Zeichenbereich und vielleicht 1-2 
Schieberegler die ich an Parameter knüpfe.

Was würdet ihr da nehmen? Gleich QT oder geht es auch einfacher?

Ein nicht-mehr-ganz-Linux-Jünger.

von Joerg W. (joergwolfram)


Lesenswert?

Ich nutze für solche Zwecke meist SDL/SDL2. Gerade Sachen, die keine 
"systemkonformen" GUI-Elemente brauchen, lassen sich damit schnell 
realisieren.

Jörg

von PittyJ (Gast)


Lesenswert?

So ein paar Schieberegler sind in QT nicht besonders aufwändig.
Also einfach eine Schicht um den Originalcode drumherum. Schieberegler 
dazu, und gut ist es. Am besten beides in eigene Threads, dann stören 
sich GUI und Anwendung auch nicht.

von Ingo W. (uebrig) Benutzerseite


Lesenswert?

Bisher nutze ich für solche Zwecke FLTK
https://de.wikipedia.org/wiki/Fast_Light_Toolkit
bin aber auch auf weitere Vorschläge gespannt. Den Vorschlag von Joerg 
finde ich auch interessant - kannte ich bisher nicht. QT ist eine 
eierlegende Wollmilchsau, mit dem entsprechenden Umfang.

von chris (Gast)


Lesenswert?


von Walter T. (nicolas)


Lesenswert?

Joerg W. schrieb:
> Ich nutze für solche Zwecke meist SDL/SDL2.

Dito. Das lohnt allerdings nur dann, wenn man ohnehin ein Display 
implementieren muß. Dann lassen sich die Grafik- und Bedienelemente 
bequem am PC testen.

von Rolf M. (rmagnus)


Lesenswert?

Linux-Älter schrieb:
> Was würdet ihr da nehmen? Gleich QT oder geht es auch einfacher?

Naja, was heißt einfacher? Qt selbst ist sehr umfangreich, aber die 
angegebenen Dinge kann man mit wenig Aufwand umsetzen. Natürlich muss 
man sich einarbeiten, aber das wäre bei einem anderen Toolkit auch nicht 
anders.

Joerg W. schrieb:
> Ich nutze für solche Zwecke meist SDL/SDL2. Gerade Sachen, die keine
> "systemkonformen" GUI-Elemente brauchen, lassen sich damit schnell
> realisieren.

Aber hier geht's doch gerade darum, mit möglichst wenig Aufwand ein paar 
Standardkomponenten wie Buttons oder Schieberegler zu haben. Müsste man 
die in SDL nicht komplett von Hand nachbauen?

von Le X. (lex_91)


Lesenswert?

Wenn bei mir ein Script langsam zu komplex wird und ich eine kleine GUI 
dafür brauche dann zimmer ich mir schnell was mit Python und Qt 
zusammen.
Das geht sehr fix, und m.M.n. sogar komfortabler als Qt unter C++ weil 
man kein Buildsystem oder externe Tools (moc) braucht.

Klar, Qt ist schon ne Hausnummer.
Aber auf vielen Linuxsystemen sollte das sowieso installiert sein (wenn 
man nicht gerade so ein Minimalfetischist ist oder peinlich darauf 
achtet, nur Gtk-Tools zu installieren).
Wenns eh schon da ist kann mans auch ruhig verwenden.

: Bearbeitet durch User
von Linux-Älter (Gast)


Lesenswert?

Super!
Vielen Dank für die guten Antworten.
Ich denke, dass ich mir das SDL heute Abend mal genauer anschauen werde. 
Ich schätze, dass die Soundausgabe auch recht einfach umzusetzen sein 
wird. Das könnte für mein Projekt auch interessant sein.

Danke Euch allen!

von Le X. (lex_91)


Lesenswert?

Joerg W. schrieb:
> Gerade Sachen, die keine
> "systemkonformen" GUI-Elemente brauchen

Wie muss man sich das vorstellen?

Wo GUI-Frameworks einen Button mitbringen zeichnest du händisch ein 
Rechteck?
Wo GUI-Frameworks einen Fortschrittsbalken mitbringen zeichnest du 
händisch ein Rechteck?
Wo GUI-Frameworks einen Radio-Button mitbringen zeichnest du händisch 
einen Kreis?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.