sábado 7 de junio de 2008

En que estoy liao ahora...

... porque no se puede decir de otra manera, liado, pero no liado de atareado, no, sino liado de que me he hecho un lío de tres pares de cojones.

Busco un sustituto de CoolEdit decente, no me convence ni Audacity, ni GnuSound, ni Sweep, ni ReZound, ni otros que he investigado. Pienso: Bueno, que tal si me hago un CoolEdit yo mismo?
Persiguiendo el objetivo de hacer un programa con una interfaz lo más parecida posible, seguro que contentaría a más de uno :)

Bueno, pues vamos a entrar en la fase de investigación...

-Entornos de desarrollo: Code::blocks es lo que más me satisface, Anjuta también lo he probado y la verdad es que es algo tosco, pero misteriosamente es el entorno con el que más rápido he conseguido crear un proyecto y debuggar. Luego está también Eclipse, pero no he conseguido nada ...

-Que API uso para crear la interfaz? Algo que esté bien establecido, que sepa que da buenos resultados, y que pueda desarrollar en 2 plataformas: Linux / Windows. wxWidgets es una buena respuesta. Uff que palo, aprender los intríngulis de una nueva librería... GDI / VCL / MFC... otra más?

-Qué tal si pruebo a modificar algo ya existente?? Parece la idea más apropiada! Pruebo con varios, y me quedo con Sweep. Lo primero cambiar los colores, Luego, el comportamiento, luego...
puff, casi mejor hacerlo desde 0 no? Tampoco es un proyecto tan extenso, bueno, al menos para conseguir la funcionalidad básica que necesito, luego siempre se pueden ir añadiendo cosas...

- Venga ni librerías de ventanas ni ostias, me monto yo solito la interfaz gráfica, que en eso ya tengo experiencia (TechnoTracker Pascal -> Delphi -> C++Builder -> MFC) ...

Venga vamos a diseñar! Esto si que es divertido! Bien, ya tengo la idea general en papel. Vamos a hacerla como Dios manda, vamos a pasar el diseño a UML! la jerarquía de clases, sus relaciones ...
guay!

- Un programa de para ingeniería de software... Umbrello parece guay! sencillo, bueno algo limitado... vamos a generar código! genial! genera código. Vamos a hacer una prueba, escribimos algo en el cuerpo de una función y generamos código otra vez... coño, pero si me ha machacado lo que he hecho! Vamos a buscar otro programa: BoUML! Algo tosco inicialmente, por donde lo pillo???

Artifacts? Para que sirve eso??? Bueno, al final lo voy pillando. Genera código!!! y respeta la implementación al regenerarlo!!!

- Además es cuper configurable! puedo poner separadores entre funciones! (Por que no podía hacer esto con Rose98???), carai hasta puedo añadir automágicamente el prefijo m_ en los miembros de las clases! Fantástico!, seguro que puedo gestionar la notación húngara automáticamente... automáticamente? hay que seguir intentándolo... otra prueba ... y si pusieramos una variable tipo "prefijo" para cada tipo de datos?... humm difícil, se me va a alargar mucho la historia, yo solo quiero editar audio decentemente... y si al generar el código no introdujera ese espacio tan molesto entre el tipo y el nombre de la variable??? buena idea, no parece tan complicado! ... vamos a bajar el código fuente! Compila. No compila...

- Falta QT: Bájate QT, no, es que no vale cualquier QT, tiene que ser hasta la versión 3, y van por la 4. Pruebo a compilar desde windows, huy casi... bajo la versión qt2...
huy casi... busco y encuentro un port de QT3 para windows que hay que compilar y explican como! genial!

- Tengo instrucciones para MSVC6 y 2003, intento en 2003... no compila bien... Ah! claro es que también tengo instalado el 2005! bueno, pues pruebo a compilarlo con 2005! genial! lo he conseguido! Volvemos al proyecto BoUML compila... No me lo puedo creer, compila! Linka... unresolved external de la librería QT... mierda, ya sabía yo que no podía acabar aquí la cosa...

- Pruebo a compilar QT con MinGW. Tengo una versión que viene con Code::Blocks, compila... genial compila! Linka la librería... unresolved external, joder... Bajo la última versión de MinGW... compila! biiiiien, linka .... unresolved external ...

Y en este punto estoy...

La verdad es que a base de errores se aprende, y hay que reconocer que a lo largo de todo este proceso de investigación, aprender, lo que se dice aprender, he aprendido, pero me apetecería ir zanjando asuntillos, no sé, sería un detalle conseguir compilar el BoUML, aunque sea sólo por orgullo casi...

En fin, que esto es el pan nuestro de cada día. Tantas y tantas veces ha pasado esto que ya sé como acaba la historia... volveré a pasar a Windows????

Uhmmm, no sé, no sé, la verdad es que ahora me siento bastante cómodo con el pingüino, pero como me toquen mucho las narices ...