GLBasic forum

Main forum => Off Topic => Topic started by: Kuron on 2010-Mar-31

Title: OGG...
Post by: Kuron on 2010-Mar-31
I ran into a slight problem.  The decoding lib I wanted to use, is one I have been using for my own projects for many years.  For my own work, I wrote a DLL using the lib.  This DLL was designed for OOP based languages since that is what I mainly use.  I was working on rewriting it today and removing the OOP support, and I realized something.  The lib I am using can't be used for commercial purposes.  I had forgotten about this since I only write Freeware (or do work for a charity which I did get permission from the author to use for that purpose).  It is a shame as the DLL is weighing in at only 62kb.

I can still try to do this, but I will have to do it differently, but the DLL is going to be much larger.  I am not sure if people will want that or not?
Title: Re: OGG...
Post by: Moru on 2010-Mar-31
I'm only interested in things that work on all platforms since I want to go the linux route sooner or later (prefferably sooner...) :-)

So I guess I'm not realy allowed to say anything :-)
Title: Re: OGG...
Post by: NRasool on 2010-Mar-31
Hi Kuron,

The filesize wouldn't matter to me, BASS is about 100k, would you one be the same? I'm only after Windows support, as I've heard other posters saying that MAC runs off the bat, and haven't tried linux yet

Kind Regards
Title: Re: OGG...
Post by: Kuron on 2010-Mar-31
AFAIK, there are no issues with GLB on Linux.  The issue is only on Windows.
Title: Re: OGG...
Post by: Kuron on 2010-Mar-31
QuoteThe filesize wouldn't matter to me, BASS is about 100k, would you one be the same?
I downloaded the official binaries from Xiph.org.  The ogg.dll is only around 60kb, however, wrapping it is above my paygrade.  It may be best to use BASS.

I am going to browse a couple of development sites and see if there are some other alternatives.  So far, most of what I am finding is OCXs aimed at .NET.
Title: Re: OGG...
Post by: NRasool on 2010-Apr-01
Hey Kuron,

Take a look at the following: http://trent.gamblin.ca/logg/, it has already built static libraries for MingW and also example in C using Allegro, could we adapt this for GLBasic.

To play a simple ogg file in c here, you would have

Code (glbasic) Select

#include "logg.h"

int main(int argc, char** argv)
{

SAMPLE* s = logg_load(argv[1]);
int voice = play_sample(s, 255, 128, 1000, 0);
rest(s->len*1000/s->freq);
destroy_sample(s);
return 0;
}


I have removed parts to do with Allegro. Could this be achieved, I am not by my PC, so couldn't test this
Title: Re: OGG...
Post by: Kuron on 2010-Apr-01
I am on my way out the door for a doctor appointment.  I will look at it when I get home.
Title: Re: OGG...
Post by: Kuron on 2010-Apr-01
Ok, can GLBasic compile static libs?  A DLL can be used externally, but a static lib generally has to be compiled in the EXE when the EXE is compiled.

The lib I was using was ovLib which is for PureBasic.  I compiled it into a really nice DLL to use for my projects in other languages, but like I said it has a no commercial clause I had forgot about in the license.
Title: Re: OGG...
Post by: Kuron on 2010-Apr-02
Quote from: Ocean on 2010-Apr-01
No.

That is what I thought :(
Title: Re: OGG...
Post by: NRasool on 2010-Apr-06
Kitty wrote on the other thread the following

Quote
You can use external static libs with the -lnk line in the platform options. Just put the libXXX.a file in the project's directory and type int that edit box: "-lXXX" -> Now you can call the function with IMPORT as if it was a built-in function.
I'm going to give it a try
Title: Re: OGG...
Post by: Kuron on 2010-Apr-06
This is very good!