Qosmic

Graphic Apps

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

1
Score 75%
Description:

A Qt4 application for editing cosmic recursive flame fractal images.

Last changelog:

11 years ago

Version 1.5.0

- Compatibility updates for flam3-3.0.1.
- Enhanced directory browsing widget.
- Added move, rotate, scale, and flip modes to the triangle editor.
- Added xform previews and rendering enhancements to the triangle editor.
- Added a genome palette histogram to the xform color selector.
- Enhanced flam3 types in Lua scripts.
- Alpha channel and HSV colorspace support for ggr gradients.
- Enhanced mutations editor.
- Enhanced genome selector.
- New sheep loop animation widget.
- Added a configuration dialog for the autosave feature.
- Enhanced tree view in the variations widget.
- Added a message output pane to the Lua script editor.
- Fixed a bug when modifying coefs in the coordinates widget.
- Added drag+drop support to mutations, directory browser, and genome selector.

AlfredoC

3 years ago

Hi,

I'm trying to port this app to Qt 5.5
So far, I get the application to compile without error, but it throws a segmentation error on start up.
It seams that the error occurs in renderthread.cpp calling the flam3_render function.
When I comment this line out, everything works fine, (apart rendering ;-)

Has somebody any idea that can help me?
Thanks in advance.

Report

pinquin2008

11 years ago

Hi!

I can't compile. These are some messages:

.obj/frame.o: In function `Lua::Frame::num_genomes(lua_State*)':
frame.cpp:(.text+0xcb): undefined reference to `lua_pushinteger'

frame.cpp:(.text+0x20e): undefined reference to `luaL_checkinteger'
.obj/frame.o: In function `Lua::Frame::copy_genome(lua_State*)':

genome.cpp:(.text+0x10b): undefined reference to `luaL_checkinteger'

genome.cpp:(.text._ZN3Lua5LunarINS_5XFormEE4pushEP9lua_StatePS1_b[Lua::Lunar<Lua::XForm>::push(lua_State*, Lua::XForm*, bool)]+0x32): undefined reference to `lua_getfield'

xform.cpp:(.text+0x102): undefined reference to `luaL_checknumber'
.obj/xform.o: In function `Lua::XForm::supershape_pm_4(lua_State*)':

luathread.cpp:(.text+0x96): undefined reference to `lua_pushinteger'
luathread.cpp:(.text+0xae): undefined reference to `lua_setfield'

.obj/luathread.o: In function `Lua::Lunar<Lua::Frame>::gc_T(lua_State*)':
luathread.cpp:(.text._ZN3Lua5LunarINS_5FrameEE4gc_TEP9lua_State[Lua::Lunar<Lua::Frame>::gc_T(lua_State*)]+0x1e): undefined reference to `luaL_getmetafield'
.obj/luathread.o: In function `Lua::Lunar<Lua::XForm>::thunk(lua_State*)':

luathread.cpp:(.text._ZN3Lua5LunarINS_6GenomeEE8RegisterEP9lua_State[Lua::Lunar<Lua::Genome>::Register(lua_State*)]+0x20): undefined reference to `lua_createtable'
luathread.cpp:(.text._ZN3Lua5LunarINS_6GenomeEE8RegisterEP9lua_State[Lua::Lunar<Lua::Genome>::Register(lua_State*)]+0x3a): undefined reference to `luaL_newmetatable'
luathread.cpp:(.text._ZN3Lua5LunarINS_6GenomeEE8RegisterEP9lua_State[Lua::Lunar<Lua::Genome>::Register(lua_State*)]+0x195): undefined reference to `lua_createtable'
collect2: ld returned 1 exit status
make: *** [qosmic] Error 1
error while building qosmic


Thanks for your help.

Report

C

simpl

11 years ago

The linker can't find liblua. Try to find liblua.so on your system, and then add the directory it resides in to the LIBS variable in qosmic.pro like this:

LIBS += -L/full-path/to/liblua/

Then run the build.sh script again.

Report

heinzkde

11 years ago

Compiling for 64 bit gives a small error:

src/renderthread.cpp: In member function ‘void RenderThread::render(RenderRequest*)’:
src/renderthread.cpp:425: error: cast from ‘RenderRequest*’ to ‘uint’ loses precision

To correct this, just replace (uint) with (long) and it compiles flawlessly. Funny application!

Report

C

simpl

11 years ago

Thanks, I've made the change.

Report

dovidhalevi

11 years ago

One may need to edit build.sh to run qmake-qt4 (or symlink qmake to that if not defaulted this way to build, then switch back).

I also needed to place -I/usr/include/lau5.1 in the Makefile include list.

Now compiling OK so we'll see.

Report

dovidhalevi

11 years ago

Also needed to change -llua5.1 in the Makefile library list.

Works fine -- now to learn how to make all those wonderful flames!

Report

C

simpl

11 years ago

Thanks, I've added this to the README.

Report

EseNoy

11 years ago

Hi, I'm trying to install Qosmic, and the script returns me an error:

/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:977: undefined reference to `gaussian_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:980: undefined reference to `hermite_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:983: undefined reference to `box_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:986: undefined reference to `triangle_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:989: undefined reference to `bell_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:992: undefined reference to `b_spline_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:995: undefined reference to `mitchell_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:998: undefined reference to `blackman_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:1001: undefined reference to `catrom_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:1004: undefined reference to `hanning_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:1007: undefined reference to `hamming_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:1010: undefined reference to `lanczos3_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:1013: undefined reference to `lanczos2_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:1016: undefined reference to `quadratic_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:1019: undefined reference to `gaussian_filter'
.obj/mainwindow.o: In function `MainWindow::setFlameXML(char*)':
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:719: undefined reference to `flam3_parse_xml2'
.obj/mainwindow.o: In function `MainWindow::updateFormData(Triangle*)':
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:280: undefined reference to `gaussian_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:282: undefined reference to `hermite_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:284: undefined reference to `box_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:286: undefined reference to `triangle_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:288: undefined reference to `bell_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:290: undefined reference to `b_spline_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:292: undefined reference to `mitchell_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:294: undefined reference to `blackman_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:296: undefined reference to `catrom_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:298: undefined reference to `hanning_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:300: undefined reference to `hamming_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:302: undefined reference to `lanczos3_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:304: undefined reference to `lanczos2_filter'
/home/n0y/descargas/flam3/qosmic/src/mainwindow.cpp:306: undefined reference to `quadratic_filter'
.obj/xfedit.o: In function `FigureEditor::removeTriangleAction()':
/home/n0y/descargas/flam3/qosmic/src/xfedit.cpp:635: undefined reference to `flam3_delete_xform'
.obj/xfedit.o: In function `FigureEditor::addTriangleAction()':
/home/n0y/descargas/flam3/qosmic/src/xfedit.cpp:601: undefined reference to `flam3_add_xforms'
.obj/flam3util.o: In function `copy_genome(flam3_genome*, flam3_genome*)':
/home/n0y/descargas/flam3/qosmic/src/flam3util.cpp:53: undefined reference to `flam3_add_xforms'
.obj/renderthread.o: In function `RenderThread::run()':
/home/n0y/descargas/flam3/qosmic/src/renderthread.cpp:174: undefined reference to `flam3_init_frame'
.obj/mutationwidget.o: In function `MutationWidget::reset()':
/home/n0y/descargas/flam3/qosmic/src/mutationwidget.cpp:167: undefined reference to `flam3_copy'
.obj/mutation.o: In function `truncate_variations':
/home/n0y/descargas/flam3/qosmic/src/mutation.c:55: undefined reference to `flam3_delete_xform'
.obj/mutation.o: In function `flam3_mutate':
/home/n0y/descargas/flam3/qosmic/src/mutation.c:193: undefined reference to `flam3_init_frame'
/home/n0y/descargas/flam3/qosmic/src/mutation.c:255: undefined reference to `flam3_copy'
/home/n0y/descargas/flam3/qosmic/src/mutation.c:275: undefined reference to `flam3_copy'
/home/n0y/descargas/flam3/qosmic/src/mutation.c:276: undefined reference to `flam3_copy'
/home/n0y/descargas/flam3/qosmic/src/mutation.c:302: undefined reference to `flam3_copy_params'
/home/n0y/descargas/flam3/qosmic/src/mutation.c:426: undefined reference to `flam3_add_xforms'
/home/n0y/descargas/flam3/qosmic/src/mutation.c:449: undefined reference to `flam3_delete_xform'
/home/n0y/descargas/flam3/qosmic/src/mutation.c:487: undefined reference to `flam3_apply_template'
/home/n0y/descargas/flam3/qosmic/src/mutation.c:498: undefined reference to `flam3_copy'
collect2: ld devolvió el estado de salida 1
make: *** [qosmic] Error 1

I tried the LocoMojo solution with no results.
Can you help me, please?

Report

C

simpl

11 years ago

It looks like the linker can't find the libflam3.a library. Can you check that qosmic/flam3/libflam3.a exists?

Report

EseNoy

11 years ago

The problem was a previous install of Flam3, i removed it and the script runs nice!!

Thank you!

Now let's try your creation!!

Report

EseNoy

11 years ago

Yes, it's there, in:
/qosmic/flam3

Report

LocoMojo

11 years ago

Hey simpl,

Just downloaded and compiled the new version without a hitch.

Qosmic is pretty nifty, I've had a lot of fun with it and I've created a few keepers so far.

One thing missing though, it would be nice if there were a progressbar or some indication in the status bar that qosmic was working.

Good work and thanks for releasing it.

LocoMojo

Report

LocoMojo

11 years ago

I'm having trouble compiling this. I'm using qt-4.3.1.

flam3/libflam3.a(flam3.o): In function `flam3_edit_print':
flam3.c:(.text+0x5fdf): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x600c): undefined reference to `xmlGetProp'
flam3.c:(.text+0x6032): undefined reference to `xmlFree'
flam3.c:(.text+0x60af): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x60ed): undefined reference to `xmlIsBlankNode'
flam3.c:(.text+0x6136): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x61a8): undefined reference to `xmlNodeGetContent'
flam3.c:(.text+0x6236): undefined reference to `xmlStrcmp'
flam3/libflam3.a(flam3.o): In function `flam3_print':
flam3.c:(.text+0x7694): undefined reference to `xmlDocGetRootElement'
flam3/libflam3.a(flam3.o): In function `scan_for_flame_nodes':
flam3.c:(.text+0x192aa): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x192fc): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19338): undefined reference to `xmlFree'
flam3.c:(.text+0x19356): undefined reference to `xmlGetProp'
flam3.c:(.text+0x19370): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x193b2): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19427): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x1946b): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x194ad): undefined reference to `xmlFree'
flam3.c:(.text+0x194c3): undefined reference to `xmlGetProp'
flam3.c:(.text+0x194d8): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x1950b): undefined reference to `xmlFree'
flam3.c:(.text+0x19672): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19699): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x196ca): undefined reference to `xmlFree'
flam3.c:(.text+0x196e4): undefined reference to `xmlGetProp'
flam3.c:(.text+0x196f9): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19736): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x197a2): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x197e7): undefined reference to `xmlFree'
flam3.c:(.text+0x19801): undefined reference to `xmlGetProp'
flam3.c:(.text+0x19818): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19862): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x198a3): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x198be): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19915): undefined reference to `xmlNodeGetContent'
flam3.c:(.text+0x1993c): undefined reference to `xmlFree'
flam3.c:(.text+0x19954): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19a57): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19a72): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19b5c): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19b7e): undefined reference to `xmlGetProp'
flam3.c:(.text+0x19b93): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19bc6): undefined reference to `xmlFree'
flam3.c:(.text+0x19bf5): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19c10): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19dae): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19dc5): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19dfa): undefined reference to `xmlStrcmp'
flam3/libflam3.a(flam3.o):flam3.c:(.text+0x19e8f): more undefined references to `xmlStrcmp' follow
flam3/libflam3.a(flam3.o): In function `scan_for_flame_nodes':
flam3.c:(.text+0x19ecd): undefined reference to `xmlFree'
flam3.c:(.text+0x19ee7): undefined reference to `xmlGetProp'
flam3.c:(.text+0x19f05): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19f4e): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19f9a): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x19ff9): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x1a1ca): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x1a1de): undefined reference to `xmlNewDoc'
flam3.c:(.text+0x1a1f3): undefined reference to `xmlCopyNode'
flam3.c:(.text+0x1a204): undefined reference to `xmlDocSetRootElement'
flam3.c:(.text+0x1a21c): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x1a261): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x1a334): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x1a379): undefined reference to `xmlStrcmp'
flam3.c:(.text+0x1a3d2): undefined reference to `xmlStrcmp'
flam3/libflam3.a(flam3.o):flam3.c:(.text+0x1a448): more undefined references to `xmlStrcmp' follow
flam3/libflam3.a(flam3.o): In function `flam3_parse_xml2':
flam3.c:(.text+0x1bda0): undefined reference to `xmlReadMemory'
flam3.c:(.text+0x1bdb2): undefined reference to `xmlDocGetRootElement'
flam3.c:(.text+0x1bde5): undefined reference to `xmlFreeDoc'
flam3/libflam3.a(flam3-palettes.o): In function `parse_palettes':
flam3-palettes.c:(.text+0x2a4): undefined reference to `xmlStrcmp'
flam3-palettes.c:(.text+0x30c): undefined reference to `xmlGetProp'
flam3-palettes.c:(.text+0x325): undefined reference to `xmlStrcmp'
flam3-palettes.c:(.text+0x43b): undefined reference to `xmlStrcmp'
flam3-palettes.c:(.text+0x456): undefined reference to `xmlStrcmp'
flam3/libflam3.a(flam3-palettes.o): In function `flam3_get_palette':
flam3-palettes.c:(.text+0x783): undefined reference to `xmlReadMemory'
flam3-palettes.c:(.text+0x795): undefined reference to `xmlDocGetRootElement'
flam3-palettes.c:(.text+0x7c1): undefined reference to `xmlFreeDoc'
collect2: ld returned 1 exit status
make: *** [qosmic] Error 1

Can you tell me what I need to do?

If you need any other information from me in order to help me, just let me know what you need.

Thanks.

LocoMojo

Report

C

simpl

11 years ago

It looks like the expat library is not in the search path for the linker.
Look for a file named libexpat.so.1 or 'libexpat.so*' using locate or find.
Then add the following line to qosmic.pro toward the top:

LIBS += -L/path/to/directory/containing_libexpat/

where you use the path to libexpat you found above. Then run qmake, and then
run make. Hopefully that will do the trick.

Report

LocoMojo

11 years ago

Did what you suggested (my libexpat.so.1 is in /usr/lib) then ran qmake and make and this time the build was very short and I got a different error:

In file included from src/mainwindow.cpp:23:
flam3/private.h:38:20: error: config.h: No such file or directory
src/mainwindow.cpp:213: warning: unused parameter 't'
src/mainwindow.cpp:1091: warning: unused parameter 'column'
src/mainwindow.cpp:1106: warning: unused parameter 'column'
flam3/flam3.h:29: warning: 'flam3_h_id' defined but not used
make: *** [.obj/mainwindow.o] Error 1

Hmm, no config.h ? What am I missing?

For shits and giggles I tried the build script and I got the exact same error as earlier even though I added the line "LIBS += -L/usr/lib/" as you suggested.

Any other ideas?

Thanks for helping.

LocoMojo

Report

C

simpl

11 years ago

Okay, I was almost totally wrong. I think you are missing a library that is needed to build libflam3. Check that you have libxml2 installed on your system. Then type './build clean ; ./build' in the qosmic directory.

Report

LocoMojo

11 years ago

Yes, I have libxml2-2.6.28 installed on my system.

LocoMojo

Report

C

simpl

11 years ago

If that doesn't do it, then try adding

LIBS += -L/path/to/dir_containing_libxml2.so/ -lxml2

to qosmic.pro, and then do what I suggested with the 'export' lines above.

Report

LocoMojo

11 years ago

The first suggestion above didn't work, but the second one did :)

Thanks for that!

I haven't had a chance to mess about with it just yet, I wanted to let you know that I finally got it to build.

Thanks for your time and patience!

Off to check out qosmic :)

LocoMojo

Report

C

simpl

11 years ago

Try this

export LDFLAGS="-L/path/to/dir_containing_libxml2.so/"
export LIBS="-lxml2"
./build.sh clean ; ./build.sh

Report

trisz

11 years ago

Compilation error:

‘class QGridLayout’ has no member named ‘setLeftMargin’
‘class QGridLayout’ has no member named ‘setTopMargin’
‘class QGridLayout’ has no member named ‘setRightMargin’
‘class QGridLayout’ has no member named ‘setBottomMargin’

Really has not such kind of members even in qt4.3:

http://doc.trolltech.com/4.3/qgridlayout.html

What is the solution?
What is your qt version and your os?


Report

djmdave

11 years ago

fwiw, qt-copy from kde's svn repo compiles qosmic just fine.

this is a a very good app :)

Report

C

simpl

11 years ago

Thank you for posting. I hadn't even considered the qt-copy patches. I've updated the web page :)

Report

C

simpl

11 years ago

You're right, it's doesn't appear anywhere in the qt docs.

I've been using qt-4.3.1. I did a quick google with your error message, and there was something about these being part of an undocumented api used by designer. Maybe you could try updating qt if you haven't already.

Report

11 years ago

Version 1.5.0

- Compatibility updates for flam3-3.0.1.
- Enhanced directory browsing widget.
- Added move, rotate, scale, and flip modes to the triangle editor.
- Added xform previews and rendering enhancements to the triangle editor.
- Added a genome palette histogram to the xform color selector.
- Enhanced flam3 types in Lua scripts.
- Alpha channel and HSV colorspace support for ggr gradients.
- Enhanced mutations editor.
- Enhanced genome selector.
- New sheep loop animation widget.
- Added a configuration dialog for the autosave feature.
- Enhanced tree view in the variations widget.
- Added a message output pane to the Lua script editor.
- Fixed a bug when modifying coefs in the coordinates widget.
- Added drag+drop support to mutations, directory browser, and genome selector.

File (click to download) Version Description PackagetypeArchitecture Downloads Date Filesize DL OCS-Install
Pling
*Needs ocs-url or ocs-store to install things
Details
license
version
1.5.0
updated Oct 24 2011
added Oct 03 2007
downloads today
0
page views today 3
System Tags app software