Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Biblioteca C++ para manejar música

Iniciado por galdrusa, 11 de Agosto de 2012, 12:11:32 PM

« anterior - próximo »

galdrusa

Hola a todos!

Acabo de publicar la primera versión de la biblioteca musical C++ Modus (v0.50), que sirve para hacer cualquier cosa relacionada con la música, más allá de la mera reproducción de ficheros de audio o MIDI. Si tienes intención de crear una aplicación musical o integrar algún aspecto de la música en tus videojuegos o programas multimedia en general, quizás te sirva de ayuda:

http://sourceforge.net/projects/modusml

Modus se puede utilizar libremente para aplicaciones gratuitas y comerciales. Por supuesto, cualquier comentario o sugerencia será bienvenido!

Saludos.

[EX3]

Buenas, galdrusa. Tiene una pinta genial tu libreria, y encima multiplataforma. Hacia tiempo que no se veian por aqui proyectos de esta indole :)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Erkosone

Vaya.. suena como algo maravilloso, voy a darle un vistazo a fondo a la librería, la verdad es que con algo así y con soporte en español..
Vamos a ver de que se trata, un millon de gracias de antemano por compartir un proyecto como este, es una iniciativa estupenda ;)
No existen intentos fallidos, solo  descubrimos métodos incorrectos.

Erkosone

Vaya.. viene con licencia LGPL, una pena, te has planteado publicar la lib bajo licencia MIT o similar?
No existen intentos fallidos, solo  descubrimos métodos incorrectos.

galdrusa

Gracias por vuestros comentarios! Me alegro de que os parezca interesante. Lo cierto es que llevaba mucho tiempo buscando algo de este tipo y, aunque hay un montón de bibliotecas de audio y MIDI estupendas, con un enfoque más puramente musical no conseguí encontrar nada, así que al final me decidí a desarrollar algo por mi cuenta.

Con respecto al comentario sobre la licencia LGPL, la verdad, le estuve dando muchas vueltas hasta que tomé esa decisión, ya que soy novato en el tema de publicar software libre, y la elegí precisamente porque permite utilizar la biblioteca tanto para proyectos de software libre como para aquellos que no lo son. Erkosone, ¿a qué te refieres con lo de "una pena"? Con licencia LGPL, en teoría, se puede incluir libremente en cualquier tipo de proyecto sin ningún problema (si no es así, por favor corregidme). Mi intención es, precisamente, que todo el mundo pueda utilizarla y sacarle partido sin preocuparse por el tema de la licencia...

Hechelion

Por mi, está bien con la LGPL, el que quiera hacer software privativo que se de el trabajo de convertir la biblioteca en una librería, que la LGPL le permite enlazar sin ningún tipo de restricción.

Galdrusa, la diferencia entre la MIT o mejor dicho la X11 y la LGPL, es que la primera permite modificar tú código y luego entregar o vender la modificación con licencia privativa.
La LGPL al contrario, no permite eso, o sea, si uso tu biblioteca, mi software se puede considerar obra derivada y por ende, no puedo liberarlo como software privativo. Sin embargo y tal como dije arriba, lo que si puedo hacer, es convertir tu biblioteca en una librería y luego enlazarla y mi software lo puedo licenciar como se me venga en gana.

En términos prácticos, la única diferencia entre la X11 y la LGPL, es que si quiero crear un software privativo, es que tendría que darme el trabajo de hacer la librería en vez de usar directo el código en la aplicación. Yo no lo veo como nada del otro mundo, tal como dije al inicio, el que quiere hacer software privativo que se de ese trabajo, esa es por lo menos mi opinión, aunque la biblioteca es tuya  ;).

galdrusa

Gracias por la aclaración, Hechelion. Aunque en su momento me estuve informando bastante sobre ello, a raíz del comentario de Erkosone he estado dándole vueltas de nuevo al tema de las licencias Open Source y me he dado cuenta de que no había entendido correctamente la cláusula del enlace estático, a la que tú te refieres en tu mensaje. Porque entiendo que cuando hablas de "biblioteca" y "librería" te refieres a enlace estático (código incluido en el ejecutable) y enlace dinámico (código localizado en un fichero aparte), respectivamente.

También he visto que a mucha gente le echan para atrás las licencias GPL (aunque lleve la L delante, en cuyo caso es más permisiva) por su relativa complejidad, así como por su carácter un tanto cerrado y de propagación, ya que bajo determinadas condiciones obligan a que el software derivado lleve también una licencia de ese tipo.

Por ello, finalmente he dedicido hacer caso a la sugerencia de Erkosone y cambiar la licencia de LGPL a MIT, ya que mi intención es que la gente pueda utilizar la biblioteca en sus programas libremente y sin complicaciones, sin que con ello deje de reconocerse mi autoría.

Lo bueno de todo esto es que, aunque esta vez he pagado la novatada, por fin he entendido bien las características de los diferentes tipos de licencia Open Source.

Desde este momento, la biblioteca está disponible en Sourceforge bajo licencia MIT:

http://sourceforge.net/projects/modusml

Saludos!

Hechelion

El problema es que no es tan claro, si nos vamos a la letra chica, el termino es "obra derivada" y el punto, es que se acepta que un enlace dinámico no es obra derivada. En cambio, en un enlace estático, quedan las dudas.
Personalmente, yo no considero un juego que use una biblioteca de música como obra derivada de dicha biblioteca, pero hay otras personas que si lo hacen y ahí está el problema. Por eso, la LGPL se suele usar en librerías.

Erkosone

Gracias por tener en cuenta la sugerencia sobre la licencia, desde el punto de vista amateur la licencia GPL y todos sus derivados son aptos, pero para un entorno profesional basicamente son tratadas de "viral", se que es lo mas absurdo que se puede decir.. lo se.. pero esto ya no está en mis manos.. si no mas bien en la mano de las grandes empresas que al ver cualquier tipo de licencia GPL directamente tratan de viral la aplicación que las contiene o hace uso de ellas.

Es una lastima ciertamente que exista esta mentalidad.. pero es real como la vida misma.
Mil gracias de nuevo, ahora ya si, invertiré un tiempo en probar las features de tu librería en uno de mis proyectos.
Un saludo.
No existen intentos fallidos, solo  descubrimos métodos incorrectos.

Vicente

Yo he estado en empresas donde no habia problemas con usar cosas que estuvieran LGPL. El problema es la GPL, pero la LGPL es una buena licencia.

galdrusa

Erkosone: me alegro de que te animes a probar la biblioteca. Para cualquier duda, comentario o sugerencia puedes contactar conmigo directamente o escribirme por aquí.

Vicente: es cierto, a mí también me consta que en muchas empresas se utiliza software licenciado bajo LGPL. Pero si te pones a indagar un poco por Internet verás que hay gente que rechaza rotundamente todo lo que tenga relación alguna con GPL/LGPL, y no parece que sean casos aislados, sino que da la sensación de que es algo muy extendido.

A mí, personalmente, el tema de que si quieres utilizar una biblioteca LGPL enlazando de forma estática tienes que liberar el código fuente de tu software (o, como mínimo, el código objeto de todos los módulos que estén en contacto directo con la biblioteca) es lo que más me ha echado para atrás. Aunque tampoco es nada del otro mundo utilizar bibliotecas dinámicas en lugar de estáticas, prefiero que quien utilice Modus lo haga de la forma que más cómoda le resulte, sin tener que verse obligado a enlazar de forma dinámica o a licenciar su software también con LGPL bajo determinadas condiciones.

TheAzazel

Buenas!

respecto al tema de las licencias... GPL era/es demasiado cerrado pero LGPL ya permite hacer lo que quieras con tu software siempre y cuando enlaces con la DLL. Y no veo el problema con LGPL: si no quieres liberar tu codigo, linka contra la DLL y no en estatico!. Esto ha sido asi durante muchos anios... hasta que llego el iPoyas y el Panolidroid... que no permiten linkar en dinamico (DLL o similar) si no que todo va linkado en estatico... y voila! derrepente de la manana a la noche LGPL no es apto para estas plataformas. Me queda la duda para xbox,wii y ps3... pero me da en la nariz que lo mismo...nada de DLLs :P

Por eso, en inet muchos hablan demonios de LGPL, pero solo es por las nuevas plataformas y cuando no deseas liberar el codigo de tu software... para proyectos puramente PC (linux, win o mac) usar LGPL es perfectamente factible.

Ahora bien, que existen mil licencias en inet (MIT, BSD x.x, Mozilla, etc.) aunque a mi la LGPL me da buen rollo y tiene mas anios que el sol.

Si alguien aclara lo de las consolas, ya quedamos todos mas contentos y podemos irnos a dormr tranquilamente con algo nuevo aprendido xD

Saludos!

[EX3]

Cita de: TheAzazel en 17 de Agosto de 2012, 02:27:02 PM
Me queda la duda para xbox,wii y ps3... pero me da en la nariz que lo mismo...nada de DLLs
(...)
Si alguien aclara lo de las consolas, ya quedamos todos mas contentos y podemos irnos a dormr tranquilamente con algo nuevo aprendido xD
No se en todos los frentes pero al menos en la XBox360 via XNA si puedes usar DLL's en los proyectos, que asi es como trabajaba yo mi motor en el proyecto que sacamos en el XBLIG, el motor compilado como una DLL y ejecutable (el juego) por otro haciendo referencia a ella. Sobre que en Android e iOS no se puede... tenia entendido que muchos motores como Cocos2D se distribuyen de esa manera, no se si estoy equivocado ya que no he tocado ambas plataformas para desarrollo pero era lo que tenia entendido :-/

Sobre que hay mucho rechazo a la LGPL... primera noticia que tengo, oye, yo siempre he pensado que era la licencia favorita para liberar software sin ser demasiado taliban :S

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Erkosone

Hola EX3, intenta trabajar con Apple y verás la LGPL que bien la reciben.. para ellos todo lo que contenga las siglas 'GPL' es completamente viral y malintencionado, y no es broma.. es un abuso de apple contra este tipo de licencias.
No existen intentos fallidos, solo  descubrimos métodos incorrectos.

[EX3]

Cita de: Erkosone en 31 de Agosto de 2012, 09:16:31 AM
Hola EX3, intenta trabajar con Apple y verás la LGPL que bien la reciben.. para ellos todo lo que contenga las siglas 'GPL' es completamente viral y malintencionado, y no es broma.. es un abuso de apple contra este tipo de licencias.
Mientras sea Apple y no los usuarios desarrolladores de la plataforma de la manzana los que opinen de esa manera tan talibana, por mi como si se tiran de un puente usando el iPad como casco. A mi, como autor de un proyecto que pretendiese liberar su codigo (o como hice con mi librería no hace mucho en GitHub), mientras la LGPL proteja mi autoria sobre mi trabajo y permita que la gente libremente trabaje con el o lo modifique voy más que sobrado.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.