Seite 1 von 2
das (ur)alte MP3 Plugin...
Verfasst: 15.08.2014 01:33
von es_91
purearea.net userlibs hat geschrieben:MP3SoundDecoder
v4
29.09.2006
Plugin für das Laden von MP3 in PureBasic.
Abgesehen davon, dass PureArea.net schon recht verwahrlost aussieht, habe ich jetzt Probleme mit diesem uralten MP3-Plugin auf der user libs-Seite. Kann mir jemand sagen, warum das Example bei mir nicht funktioniert, weil kein LoadSound() erfolgreich durchgeführt werden kann? Meine Hoffnung ist, dass sich hier jemand an dieses Plugin erinnert oder vielleicht es sogar zum Laufen gebracht hat. . .
Schöne Grüße,
es_91.
http://www.purearea.net/pb/german/userlibs.php
Re: das (ur)alte MP3 Plugin...
Verfasst: 15.08.2014 07:08
von Bisonte
Kurz und Schmerzlos : Nutze PB4.0 ! Dann sollte es laufen.
Userlibs haben die Angewohnheit, nur mit der angegebenen PB Version zu laufen. (Ausnahmen bestätigen die Regel).
Aber eine 4.0 Lib wird auf 5.x nicht mehr funktionieren.
Re: das (ur)alte MP3 Plugin...
Verfasst: 15.08.2014 09:28
von RSBasic
Meine Empfehlung wäre, auf jegliche Userlibrarys ganz zu verzichten, da diese veraltet sind, meistens nicht mehr weiter entwickelt werden und an den einzelnen Funktionen der jeweiligen PB-Version abhängig sind. Wenn eine neue PB-Version mit einer Funktionsänderung gibt, dann funktioniert die Userlibrary schon nicht mehr. Das war schon immer das Problem und man sollte deswegen lieber keine Userlibs verwenden, weil man stets gezwungen ist, auf den Programmierer dieser Userlibrary zu warten, bis er diese für die neuere PB-Version angepasst und neu kompiliert hat. Wenn der Programmierer aber keine Lust mehr hat oder nicht mehr da ist, dann hat man als Nutzer einfach Pech gehabt und man kann nichts dagegen tun. Und das ist sehr kontraproduktiv für das eigene Projekt, welches aufgrund der Abhängigkeit nicht mit neuren PB-Versionen weiter entwickelt werden kann. Dann entsteht der zusätzliche Aufwand fürs Umbauen. Lieber stattdessen von Anfang an quelloffene Includes verwenden.
Soweit ich weiß unterstützt PB *.mp3-Dateien oder? Versuch mal mit LoadMovie(). Damit klappt es immer.
Re: das (ur)alte MP3 Plugin...
Verfasst: 15.08.2014 11:12
von ts-soft
Naja, UserLibraries mit SouceCode bieten auch ihre Vorteile, solange man den SourceCode kompilieren kann
Ich denke, mit dieser UserLib gabs wohl Lizenzprobleme, jedenfalls ist MP3 keine Freeware!
Verfasst: 15.08.2014 13:57
von CodeCommander
Vielleicht gibt es eine Möglichkeit die Userlib zu decompilieren?
Aber grundsätzlich halte ich auch nichts von Userlibs.
Die Userlibs sind, wie die anderen bereits sagten, sehr versionsabhängig. Wenn irgendwas syntaxmäßig geändert wird hast du die Arschkarte und du kannst dein Programm schön neu schreiben. Na dann Viel Spaß

Vielleicht musst du das jetzt sogar.
Die Auswahl an Userlibs sieht zwar sehr verlockend aus weil schon sehr geile Sachen gibt aber blöd ist nur wenn die Userlib nicht mehr gesupportet wird.
Da steht du dann da wie bestellt und nicht abgeholt und guckst in die Röhre. Dann sowas doch lieber nicht benutzen sonst machst du immer wieder den gleichen Fehler.
ts-soft hat geschrieben:Naja, UserLibraries mit SouceCode bieten auch ihre Vorteile
Aber dann kann man sie gleich als Include veröffentlichen. Was ist denn an Userlib mit Sourcecode vorteilhaft im Vergleich zu Includes?
Re: das (ur)alte MP3 Plugin...
Verfasst: 15.08.2014 14:21
von ts-soft
CodeCommander hat geschrieben:
ts-soft hat geschrieben:Naja, UserLibraries mit SouceCode bieten auch ihre Vorteile
Aber dann kann man sie gleich als Include veröffentlichen. Was ist denn an Userlib mit Sourcecode vorteilhaft im Vergleich zu Includes?
Zum Beispiel die gesplitten Libs, da heißt, es wird nur das zum Programm hinzugefügt, was benötigt wird und nicht
die ganze UserLib, es sei denn, sie wird benötigt

(Ist bei PB nicht der Fall)
Ausserdem kann man UserLibs ja nicht so einfach Includieren, weil sie z.B. nicht in PureBasic Programmiert sind,
so sollte es eigentlich sein, aber diese TalBites Libs sind leider in der Überzahl.
Egal, UserLibs haben schon ihre Daseinsberechtigung, solange sie nicht mit TailBite o. ä. erstellt sind, bzw.
zumindest den SourceCode mitliefern.
>> Vielleicht gibt es eine Möglichkeit die Userlib zu decompilieren?
Eine UserLib ist eine normale statische Lib, die zusätzliche Informationen enthält, also nichts propitäres
sondern was richtiges

, somit nicht Decompilierbar.
Verfasst: 15.08.2014 15:21
von CodeCommander
TailBite ist also der Teufel. Das heißt das alle die nicht mit TailBite erstellt wurden trotzdem mit neuren Versionen kompatibel sind?
Dann hasse ich TailBite und sollte so nicht angeboten werden. Weg mit dem Mist. Naja mir egal da ich nicht nutze aber die anderen wissen das nicht und müssen aus ihren Fehlern lernen.

Aber was macht TailBite genau das zu diesem Nebeneffekt kommt? Warum kann TailBite es nicht so kompilieren das es sich alles in der Lib befindet. Anscheinend werden nur 'Funktionsverknüpfungen' oder so gespeichert. Oder wie kommt es zu diesem Nebeneffekt mit der Inkompatibilität? Logik und Planungsfehler vom Entwickler von TailBite?
Re: das (ur)alte MP3 Plugin...
Verfasst: 15.08.2014 16:05
von ts-soft
TailBite gibts nicht so lange, wie UserLibs. Es wurde aus dem Zwang geboren, UserLibs in PureBasic erstellen zu wollen.
TailBite libs haben natürlich Abhängikeiten zu anderen PureBasic Libs (auch nichts anderes als UserLibs) und somit
führt jede Änderung an PureBasic zu Inkompatibilitäten.
Dieses Problem läßt sich meist einfach Umgehen, indem man die UserLibs neu erstellt, aber dafür benötigt man dann
schon den SourceCode oder man wartet ab, bis der Autor dieser Lib das macht.
Auf meiner Homepage findest Du ein paar UserLibs, entweder mit SourceCode oder sie wurden in C programmiert,
so das die Gefahr wesentlich geringer ist. Abhängigkeiten in C oder anderen Sprachen sind eher selten, in TailBite,
weils eben PB-Source ist, zwangsläufig.
Ich erstelle mir auch noch ab und zu UserLibs, obwohl Module dieses fast überflüssig machen. Naja, kontextsensitive
Hilfe, keinen unbenutzten Code in der Exe usw. geben wohl noch eine Berechtigung für UserLibs (TailBited), aber ohne
SourceCode, Finger besser weg!
Gruß
Thomas
Re: das (ur)alte MP3 Plugin...
Verfasst: 15.08.2014 16:14
von es_91
Keine Ahnung, ob das legal ist, aber ich habe jetzt einen einfacheren Weg gefunden. Ich habe mir von chip.de die neueste lame-Version gezogen und dekomprimiere die Dateien jetzt vor dem Laden mit dem SoundPlugin.
RSBasic hat geschrieben:Soweit ich weiß unterstützt PB *.mp3-Dateien oder? Versuch mal mit LoadMovie(). Damit klappt es immer.
Ja, weiß ich schon, aber die Praxis hat gezeigt, dass die Movie-Bibliothek sehr träge ist. Ich wollte zum Beispiel lückenloses Abspielen zweier hintereinander geladener Titel haben. Mit LoadMovie() und PlayMovie() ist so etwas nur möglich, wenn man die Ladezeit antizipiert und die schwankt gewaltig, also unmöglich. Danke trotzdem für den Tipp!
Verfasst: 15.08.2014 16:45
von CodeCommander
Danke für die informative Geschichte von TailBite

Aber hätte man das nicht besser machen können in dem man die Libs als Endausgabe einbindet statt einfach zu verlinken?
Kenn mich zwar nich aus damit aber es sollte doch möglich sein aus den Libs von PB 'Objektdateien' oder so zu erstellen so das nicht mehr direkt verlinkt wird oder ist das überhaupt nicht möglich?
ts-hard hat geschrieben:oder man wartet ab, bis der Autor dieser Lib das macht.
Du weißt aber das das eine Seltenheit ist? Die meisten Userlibs stammen von Users die nicht mehr online sind oder einfach kein Bock drauf haben.
ts-softeis hat geschrieben:aber ohne SourceCode, Finger besser weg!
Genau! Sonst wirds blutig und das Geheule ist nachher wieder groß.
