Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

libVLC Mediaplayer für FB

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 11.10.2015, 01:16    Titel: libVLC Mediaplayer für FB Antworten mit Zitat

Hallo allerseits!

Hier mein bescheidener Versuch, libVLC unter FB zum Laufen zu bringen. Ist erst mal nur eine Vorabversion, weitere Anwendungsbeispiele und ein Tutorial sind geplant. Ich hoffe auf reichlich Anregungen und Kritik. lächeln

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 562
Wohnort: Jüterbog

BeitragVerfasst am: 11.10.2015, 18:10    Titel: Antworten mit Zitat

ich scheitere grad ein wenig das Ganze zum Laufen zu bringen:
Habe alle dlls des VLC Players in das inc/vlc Verzeichnis kopiert und konnte dadurch die Fehlermeldungen bis auf diese Zeile reduzieren:
Code:
C:\Users\Frank\Programme\FreeBASIC-1.03.0-win32\bin\win32\ld.exe: cannot find -lvlc

grinsen
Brauch ein wenig Inspiration...

Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 11.10.2015, 18:26    Titel: Antworten mit Zitat

Du musst noch die libvlc.dll.a in deinen /lib/win32/ Ordner kopieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 11.10.2015, 18:26    Titel: Antworten mit Zitat

Nicht angesehen, sondern nur schnell zusammengegoogelt:
https://github.com/freebasic/fbc/blob/master/inc/vlc/libvlc.bi

ach ja klar, brauchst ja nicht die .bi ... sorry
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 12.10.2015, 00:24    Titel: Antworten mit Zitat

@grindstone: Due schreibst auf der Projektseite dass du die Header manuell übersetzt hast. Hast du auch eine automatisierte Lösung ausprobiert, wie etwa fbfrog: https://github.com/dkl/fbfrog ?

Weiters schreibst du "auf den Stand von libVLC - Version 2.1.5 gebracht". Die aktuellen Bindings vom fbc sind "FreeBASIC binding for vlc-2.2.1", also aktueller?!
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 12.10.2015, 10:17    Titel: Antworten mit Zitat

Sch...eibenkleister! mit dem Kopf durch die Mauer wollen

Das Beispielprogramm benötigt zum Laufen noch die Dateien libvlc.dll und libvlccore.dll, und zwar im selben Verzeichnis wie das Programm selbst. Da muß ich erst mal sehen, wie man das lösen kann, ohne bei jeder Source die dlls mitzuschleppen. Irgendwie gab es doch eine Möglichkeit, eine .dll direkt in den Programmcode zu integrieren. Fall jemand weiß, wie das geht, lasst es mich wissen. Oder gibt es eine Präprozessoranweisung, mit der man Dateien kopieren kann?

Ich habe die beiden Dateien erstmal hochgeladen. Einfach in das selbe Verzeichnis wie die Source kopieren, dann müsste es funktionieren.

MOD hat Folgendes geschrieben:
Du musst noch die libvlc.dll.a in deinen /lib/win32/ Ordner kopieren.
Nein, das ist nicht nötig. Die libvlc.dll.a steht genau da, wo sie gebraucht wird.

@St_W:
Richtig, 2.5.1 ist nicht die aktuellste Version, aber wenn die Plugins nicht von der selben Version stammen wie die libVLC, werden sie ignoriert. Und für eine höhere Version habe ich noch keine passende libVLC gefunden. Es gibt sie bestimmt, aber ich wollte das Ganze erst mal generell zum Laufen bringen.
St_W hat Folgendes geschrieben:
Die aktuellen Bindings vom fbc sind "FreeBASIC binding for vlc-2.2.1"
Da scheint sich ja tatsächlich noch jemand die Mühe gemacht zu haben.

Und was das automatisierte Übersetzen betrifft, da habe ich swig ausprobiert, bin damit aber nicht richtig zurechtgekommen. fbfrog und h_2_bi habe ich mir auch angesehen, aber irgendwie war da alles nicht das, was ich mir vorgestellt hatte. Und da habe ich mir dann gedacht, bevor ich mich da eingearbeitet habe, hab ich das auch alles per Hand eingetippt, zumal die Dateien ja schon zu 3/4 fertig waren.

Gruß
grindstone

EDIT: Es genügt, die beiden dlls nach %WINDIR%\system32\ zu kopieren. Dann sind sie überall verfügbar.
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 12.10.2015, 12:40    Titel: Antworten mit Zitat

Zitat:
EDIT: Es genügt, die beiden dlls nach %WINDIR%\system32\ zu kopieren. Dann sind sie überall verfügbar.

Sofern nicht ein anderes Programm eine gleichnamige dll mit einer anderen Versionsnummer benötigt und ebenfalls dort hinkopieren will ...
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 12.10.2015, 13:01    Titel: Antworten mit Zitat

Bitte in groß ausdrucken und an die Wand hängen:
ICH WERDE NIEMALS ANWENDUNGSSPEZIFISCHE DLLs INS WINDOWSVERZEICHNIS KOPIEREN!

http://blogs.msdn.com/b/oldnewthing/archive/2011/06/20/10176772.aspx

Um die Bibliotheken in deine EXE-Datei einzubetten, benötigst du eine statische Bibliothek (lib), keine dynamische (dll).
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 13.10.2015, 12:50    Titel: Antworten mit Zitat

Ja, ja, ja, ihr habt ja Recht, war 'ne blöde Idee! Gnade, Gnade! Ich habe die dlls auch schon wieder gelöscht. peinlich

Bei der ganzen Herumprobiererei hatte ich völlig den Überblick verloren, aber ich glaube, jetzt hab ich's. FB akzeptiert erstaunlicherweise sowohl die libvlc.dll als auch die daraus generierte libvlc.dll.a. Ich habe das Zip - Archiv neu zusammengestellt und hochgeladen und das Beispielprogramm auf der Projektseite korrigiert.

Mein Grundgedanke war, die VLC - Funktionen auch für Anfänger nutzbar zu machen, im Idealfall also durch simples Einbinden einer .bi - Datei. Ganz so einfach geht es wohl nicht, aber ich werde versuchen, den Aufwand möglichst gering zu halten.

Jojo hat Folgendes geschrieben:
Um die Bibliotheken in deine EXE-Datei einzubetten, benötigst du eine statische Bibliothek (lib), keine dynamische (dll).
Es wäre nicht schlecht, wenn man die libvlccore.dll in eine statische Bibliothek umwandeln und in die .exe integrieren könnte (natürlich so, daß sie funktioniert). Irgendwo habe ich etwas darüber gelesen, mal sehen, ob ich es wiederfinde.

Ach ja: Gibt es eine Möglichkeit, zum Zeitpunkt der Compilierung den Pfad der fbc.exe zu ermitteln? Also sowas wie __PATH__, nur eben für den Compiler? Ich habe da nichts gefunden.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 14.10.2015, 14:12    Titel: Antworten mit Zitat

Die Idee, libvlccore.dll statisch zu verlinken, habe ich aufgegeben, da ich festgestellt habe, daß jedes Plugin auf diese dll zugreift (und sie auch mit genau diesem Namen im exe - Verzeichnis oder im Suchpfad erwartet). Ich müsste also alle Plugins umschreiben und neu compilieren. mit den Augen rollen

Diese Arbeit möchte ich mir dann doch nicht machen... grinsen

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz