Gambas-Web-Radio-Player

Eigene oder Gemeinschaftsprojekte, Klassen, Module, Codeschnipsel, HowTos, ...
Benutzeravatar
gambi
Moderator
Beiträge: 319
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Gambas-Web-Radio-Player

Beitrag von gambi » Fr 20. Okt 2017, 22:33

Hallo zusammen,
jetzt gibt’s was auf die Ohren!
Inspiriert durch das von Adrien Prokopowicz 2015 vorgestellte Projekt AudioSpectrumPlayer, dachte ich mir das AudioSpectrum mal in einen "schönen" Web-Radio-Player, den Gambas-Web-Radio-Player (GWR), zu integrieren.

An dieser Stelle geht mein Dank aber zunächst an Honsek, Claus und 4tionov, die mir im Vorfeld hilfreich zur Seite standen und zudem mit vielen wunderbaren Ideen aufwarteten, die aber noch nicht alle umgesetzt sind. Danke auch an Benoit Minisini, der mir mit der MediaTaglist auf die Sprünge half.
Die Basis der Radio-Stationen, auf die mittels API zugegriffen wird, stellt Alex Segler auf www.radio-browser.info zur Verfügung. Vielen Dank hierfür.

GWR-Player.png
GWR-Player.png (94.1 KiB) 7615 mal betrachtet

Die grundlegenden Funktionen:
Grundlage bildet die Komponente gb.media. Damit sind die Funktionen Play, Pause, Stop, Lautstärke, Balance, Spektrum, Media-Informationen und Equalizer umgesetzt.
Daneben kommen TreeView für die Senderlisteauswahl und verschieden DrawingAreas für die grafische Darstellung, u.a. auch des Spectrums der aktuell laufenden Station zum Einsatz. Darüber hinaus sorgt "Settings" dafür, dass die letzten Einstellungen gespeichert werden und damit beim nächsten Programmstart wieder zur Verfügung stehen. Es gibt die Fenster "Player", "Senderlistenauswahl" und den "Equalizer".

Im Player findet ihr alle Bedienelemente um eure Lieblingsmusik zu hören und nach euren Wünschen einzustellen.
Play, Pause und Stop sowie Lautstärkeregelung und Balance für linken/rechten Kanal sind die Grundfunktionen. Über drei weitere Buttons im rechten Bereich können die Senderliste aufgerufen, der Equalizer angezeigt sowie die Darstellung des Spektrums (smoothing j/n) eingestellt werden.
Über die Buttons F1 - F5 können Sender als Favoriten gespeichert werden.
In der Anzeige des Players erhaltet ihr Informationen zur aktuellen Station, wie z.b. Sendername, gespielter Titel und Interpret sowie zur Kodierung und Bandbreite.

Wenn ihr zum ersten mal den Play-Button drückt, kommt ein Hinweis, dass noch keine Station gewählt wurde. Eure Lieblings-Radio-Station könnt ihr über die Senderliste finden. Die Aufteilung erfolgt nach deutschen Sendern, internationalen Stationen und Genres. Zudem findet ihr oben ein Textfeld zum Suchen. Nach mindestens drei eingegebene Zeichen startet die Suche und es werden die entsprechenden Stationen, welche dem Suchkriterium entsprechen, angezeigt. Wundert euch nicht, dass der kleine schwarze Pfeil an den TreeView-Items nicht überall erscheint. Die Sender werden erst bei Klick dynamisch geladen.

Wenn ihr Fragen oder Anregungen habt und vor allem wenn ihr Fehler findet, bitte unbedingt melden.

Und jetzt viel Spaß beim ausprobieren und hören.

gg
GWR_1.1.0-1.1.tar.gz
(154.25 KiB) 107-mal heruntergeladen

Benutzeravatar
4tionov
Site Admin
Beiträge: 251
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von 4tionov » Mo 23. Okt 2017, 08:47

Hallo gambi!
gambi hat geschrieben:
Fr 20. Okt 2017, 22:33
Hallo zusammen,
jetzt gibt’s was auf die Ohren!
Ein super Programm! Ein sehr schöner Radioplayer, der sehr gut zeigt, was man mit Gambas alles machen kann. Das gehört auch unbedingt in die Software-Farm!
Wenn ihr Fragen oder Anregungen habt und vor allem wenn ihr Fehler findet, bitte unbedingt melden.
Also dann lege ich mal los, und sage, was ich sehe:
  • Das Textfeld zum Suchen hat es wohl noch nicht in diese Version geschafft.
  • Eine Kleinigkeit: Die Fenster für die Senderliste und den Equalizer brauchen für meinen Geschmack keinen eigenen Eintrag in der Taskleiste.
  • Und dann würde ich mir mehr Speicherplätze wünschen. Das könnte z.B. in "Banks" organisiert sein, die jeweils F1 bis F5 neu belegen, wenn man die Bank wechselt.
  • Man könnte überlegen, ob man die Senderliste lokal cachen könnte.
  • Irgendwann später mal Profiling. Also ich haben den Eindruck, dass der Player relativ viel CPU braucht.ich kann auf jeden Fall deutlich erkennen, wenn er läuft. Banshee ist da z.B. sparsamer.
Alles Gute,

4tionov

Benutzeravatar
gambi
Moderator
Beiträge: 319
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von gambi » Mo 23. Okt 2017, 20:40

Hallo 4tionov ,
danke für dein positives Feedback :D

Ja, mit Gambas lassen sich tolle Sachen anstellen. Schade, dass nicht mehr Gambianer hier ihre Projekte posten. :(

Zu deinen Punkten:
4tionov hat geschrieben:
Mo 23. Okt 2017, 08:47
Das Textfeld zum Suchen hat es wohl noch nicht in diese Version geschafft.
Doch. Schau mal beim Fernglas oben links. Da ist ein Textfeld für die Suche.
4tionov hat geschrieben:
Mo 23. Okt 2017, 08:47
Eine Kleinigkeit: Die Fenster für die Senderliste und den Equalizer brauchen für meinen Geschmack keinen eigenen Eintrag in der Taskleiste.
Wie kann ich das denn verhindern? :?:
4tionov hat geschrieben:
Mo 23. Okt 2017, 08:47
Und dann würde ich mir mehr Speicherplätze wünschen. Das könnte z.B. in "Banks" organisiert sein, die jeweils F1 bis F5 neu belegen, wenn man die Bank wechselt.
Hab ich schon auf der ToDo-Liste :wink:
4tionov hat geschrieben:
Mo 23. Okt 2017, 08:47
Man könnte überlegen, ob man die Senderliste lokal cachen könnte.
Das ist eine Überlegung für später. Momentan hält sich der Aufwand für den Aufruf der Senderliste in Grenzen. Es werden beim Start nur die deutschen Stationen und die Länder geladen. Alles andere erst, wenn du aktiv ein Land, eine Station oder ein Genre auswählst.
4tionov hat geschrieben:
Mo 23. Okt 2017, 08:47
Irgendwann später mal Profiling. Also ich haben den Eindruck, dass der Player relativ viel CPU braucht.ich kann auf jeden Fall deutlich erkennen, wenn er läuft. Banshee ist da z.B. sparsamer.
Jepp, der mach auch kein Spectrum :wink:

Viele Grüße
gg

Benutzeravatar
4tionov
Site Admin
Beiträge: 251
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von 4tionov » Di 24. Okt 2017, 07:54

gambi hat geschrieben:
Mo 23. Okt 2017, 20:40
4tionov hat geschrieben:
Mo 23. Okt 2017, 08:47
Das Textfeld zum Suchen hat es wohl noch nicht in diese Version geschafft.
Doch. Schau mal beim Fernglas oben links. Da ist ein Textfeld für die Suche.
Oh, ich habe tatsächlich noch die alte Version angesehen ... sorry, ich war in Eile.
4tionov hat geschrieben:
Mo 23. Okt 2017, 08:47
Eine Kleinigkeit: Die Fenster für die Senderliste und den Equalizer brauchen für meinen Geschmack keinen eigenen Eintrag in der Taskleiste.
Wie kann ich das denn verhindern? :?:
Das geht mit gambas code
Window.SkipTaskbar = False
4tionov hat geschrieben:
Mo 23. Okt 2017, 08:47
Irgendwann später mal Profiling. Also ich haben den Eindruck, dass der Player relativ viel CPU braucht.ich kann auf jeden Fall deutlich erkennen, wenn er läuft. Banshee ist da z.B. sparsamer.
Jepp, der mach auch kein Spectrum :wink:
Wow, das ist ja aufwendig! Ok ...

Also ich weiß, dass man als Programmierer stolz darauf ist, dass man so was hinbekommen hat... aber es (das Spectrum) ist Spielerei. Ich selbst würde es abschaltbar machen, oder es nur anzeigen, wenn das Fenster sichtbar ist.

Was mir jetzt als Features spontan noch einfällt:
  • F1 bis F5 als ToggleButton, damit der Anwender sieht, welche Station gerade geschaltet ist.
  • Das Programm mit TrayIcon, sodass es unsichtbar im Hintergrund laufen kann, der Anwender aber sieht, dass es läuft.
  • In der Sendersuche: Wenn ich "Deutschlandfunk" eingebe, sehe ich die verschiedenen Spartensender des Deutschlandfunk jeweils mehrfach, offenbar, weil sie sich durch die Bitrate unterscheiden. Ich muss nun jeden anklicken und "aufmachen", um zu sehen, welche Bitrate pro Position angeboten wird. Da würde ich mir wünschen, dass die Unterscheidungsmerkmale der identischen Namen gleich mit angezeigt würden.
Bitte nicht als Forderungen, sondern als Anregungen verstehen!
Alles Gute,

4tionov

Benutzeravatar
gambi
Moderator
Beiträge: 319
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von gambi » Di 24. Okt 2017, 20:13

Hallo 4tionov,

danke für den Tip mit Window.SkipTaskbar = False. Muss nur True sein, damit es nicht angezeigt wird.
4tionov hat geschrieben:
Di 24. Okt 2017, 07:54
Also ich weiß, dass man als Programmierer stolz darauf ist, dass man so was hinbekommen hat... aber es (das Spectrum) ist Spielerei. Ich selbst würde es abschaltbar machen, oder es nur anzeigen, wenn das Fenster sichtbar ist.
Nun ja, das Spectrum war ja die Idee von Adrian und hat mich erst dazu gebracht, den Web-Radio-Player zu bauen. Aber mit dem Deaktivieren bei "Nicht sichtbar" ist eine gute Idee :!:
4tionov hat geschrieben:
Di 24. Okt 2017, 07:54
F1 bis F5 als ToggleButton, damit der Anwender sieht, welche Station gerade geschaltet ist.
Ja, daran hatte ich auch schon gedacht. Alternativ wäre noch eine Anzeige im Display möglich, um zu sehen, welcher Favorit gerade aktiv ist.
4tionov hat geschrieben:
Di 24. Okt 2017, 07:54
Das Programm mit TrayIcon, sodass es unsichtbar im Hintergrund laufen kann, der Anwender aber sieht, dass es läuft.
Nette Idee. Das habe ich bisher noch nicht gemacht. Ist aber durchaus zu überlegen.
4tionov hat geschrieben:
Di 24. Okt 2017, 07:54
In der Sendersuche: Wenn ich "Deutschlandfunk" eingebe, sehe ich die verschiedenen Spartensender des Deutschlandfunk jeweils mehrfach, offenbar, weil sie sich durch die Bitrate unterscheiden. Ich muss nun jeden anklicken und "aufmachen", um zu sehen, welche Bitrate pro Position angeboten wird. Da würde ich mir wünschen, dass die Unterscheidungsmerkmale der identischen Namen gleich mit angezeigt würden.
Das ist mir auch aufgefallen. Sehe das aber eher als "Einzelschicksal" an. Wenn du einmal die passende Station gefunden hast, lege sie dir einfach auf einen Favoriten :wink:

Vielen Dank für deine Hinweise und Anregungen.

gg

Benutzeravatar
4tionov
Site Admin
Beiträge: 251
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von 4tionov » Mi 25. Okt 2017, 13:43

gambi hat geschrieben:
Di 24. Okt 2017, 20:13
danke für den Tip mit Window.SkipTaskbar = False. Muss nur True sein, damit es nicht angezeigt wird.
:-)

Oh Gott, ja! ich war wohl noch nicht ganz wach ...
Ansonsten: Wirklich ein sehr schönes Projekt!

Ich habe es gerade mal mit Profiler laufen lassen. Der Gambas Profiler ist übrigens ziemlich gut! Es scheint gar nicht das Spectrum zu sein, das relativ viel CPU kostet, sondern eher WebRadio.DrawText, wenn ich das richtig interpretiere.
Alles Gute,

4tionov

Benutzeravatar
gambi
Moderator
Beiträge: 319
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von gambi » Do 26. Okt 2017, 08:32

4tionov hat geschrieben:
Mi 25. Okt 2017, 13:43
Ich habe es gerade mal mit Profiler laufen lassen.
Hallo 4tionov,
wo finde ich den?

gg

Benutzeravatar
4tionov
Site Admin
Beiträge: 251
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von 4tionov » Do 26. Okt 2017, 08:59

gambi hat geschrieben:
Do 26. Okt 2017, 08:32
wo finde ich den?
Debuggen->Profilierung aktivieren anklicken und dann das Programm in der IDE mit F5 starten und damit arbeiten. Nach dem Programmende kriegst du das Profil, das dir anzeigt, in welchen Bereichen deines Codes wieviel Zeit verbracht wurde. Da kannst du dann einfach entdecken, wo ein Programm optimiert werden kann.
Alles Gute,

4tionov

Benutzeravatar
gambi
Moderator
Beiträge: 319
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von gambi » Do 26. Okt 2017, 09:06

Ist ja genial. Man lernt doch nie aus :wink:

Danke für den Tip. Jetzt muss man die Ergebnisse nur noch richtig interpretieren.

gg

yoda
Moderator
Beiträge: 442
Registriert: Mo 2. Jan 2006, 22:35
Wohnort: bei Göttinge
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von yoda » Sa 28. Okt 2017, 06:40

Hi,

der Player sieht spitze aus. Ich bin gerade am Testen und da hängt er sich auf. :(
gambas code
Public Sub TimerLT_Timer()
  If $xPos = 0 Then Wait 2
  If $xPos2 = -40 Then Wait 1
  If drwInfo Then
    Try drwInfo.Refresh
  Endif
End
In Zeile 496 bleibt er stehen. das ist gambas code
  If drwInfo Then 
Der Fehler trat auf als ich einen Radiosender doppelklickte es war NDR1 Niedersachsen. Die Musik spielt weiter aber die GUI ist eingefroren und die besagte Zeile blau hinterlegt.

flotte Grüße

Benutzeravatar
gambi
Moderator
Beiträge: 319
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von gambi » So 29. Okt 2017, 11:22

Hallo yoda,
schön, dass die der Player gefällt :D
Vielen Dank.

Kann es sein, dass sich an dieser Stelle noch ein Haltepunkt befindet?
Ich habe gesehen, dass im Code noch einige Haktepunkte gesetzt sind.
Haltepunkt.png
Haltepunkt.png (10.41 KiB) 7561 mal betrachtet
gg

yoda
Moderator
Beiträge: 442
Registriert: Mo 2. Jan 2006, 22:35
Wohnort: bei Göttinge
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von yoda » So 29. Okt 2017, 12:49

ja hast recht
jetzt geht es.

Benutzeravatar
gambi
Moderator
Beiträge: 319
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von gambi » So 29. Okt 2017, 12:54

Freut mich 8-)

gg

gambasso
Foriker
Beiträge: 923
Registriert: Sa 17. Mär 2012, 09:55
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von gambasso » Do 9. Nov 2017, 14:38

moin,

ich habe den 'Suchlauf' geändert. Bei Eingabe des Suchbegriffs (ab 3 Zeichen) rödelte der Suchlauf ewig lange.
Habe das Auslesen des Suchlaufs auf die PictureBox 'picSearch' gelegt, das ist wesentlich angenehmer für mich.

Gibt es noch neuere Varianten des Programms?
Gruss

Benutzeravatar
gambi
Moderator
Beiträge: 319
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: Gambas-Web-Radio-Player

Beitrag von gambi » Do 9. Nov 2017, 20:51

Hallo gambasso,
dass der Suchlauf lange dauert kann ich nicht bestätigen. Bei mir erscheinen sofort nach der Eingabe des 3. Zeichens die Ergebnisse.
Wie schnell ist denn dein Internetanschluss?
gambasso hat geschrieben:
Do 9. Nov 2017, 14:38
Habe das Auslesen des Suchlaufs auf die PictureBox 'picSearch' gelegt, das ist wesentlich angenehmer für mich
Wie ist das zu verstehen? Kannst du das mal zeigen.

Ja, eine neue Version, in der einige "Anforderungen", wie z.B. mehr Speicherplätze, umgesetzt sind, ist in Arbeit.

gg

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste