Solved Issue - Milkdrop 2 for XBMC

  Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
DarkHelmet Offline
Posting Freak
Posts: 798
Joined: Jul 2008
Reputation: 4
Location: Hamburg, Germany
Post: #46
The more Visualizations the merrier :-)
find quote
teeedubb Offline
Donor
Posts: 3,359
Joined: Mar 2010
Reputation: 97
Location: Down Under
Post: #47
ironic_monkey, do you have any pointers on how to compile projectm? Running cmake in the visualization.projectm from your repo fails due to missing config files 'xbmcConfig.cmake' or 'xbmc-config.cmake' and Im unable to find those files in either the master gotham branch or your xbmc-cmake repo. Also it seems as projectm has been removed from wsnipex's repo above, going by a commit message it and other vis's have been removed from the tree, plus a search of that repo doesnt get any hits for projectm.

I have also tried installing the xbmc-visualization-dev package from the unstable ppa although that doesnt help with compilation or provide any new viz's.

Output from cmake http://paste.ubuntu.com/7994308/
CMakeOutput.log http://paste.ubuntu.com/7994306/
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,324
Joined: Nov 2013
Reputation: 63
Post: #48
the easiest is cloning my git, pointing cmake to project/cmake and running 'make visualization.projectm'. You can then pick it up from buildtree/addons/visualization.projectm

If you prefer to use wsnipex tree point cmake to project/cmake/addons

Those files are provided with the 'make install' target of xbmc for out-of-tree builds if you prefer that route.
(This post was last modified: 2014-08-09 18:30 by ironic_monkey.)
find quote
teeedubb Offline
Donor
Posts: 3,359
Joined: Mar 2010
Reputation: 97
Location: Down Under
Post: #49
Thanks, I've gotten it to build. Are there any requirements for this version to work, because after installing it xbmc crashes every time I play music. It was built against libprojectm-dev 2.1.0+dfsg-1build2 from the ubuntu 14.04 repos and I removed the exisiting projectm from /usr/share/xbmc/addons and settings out of the ~/.xbmc/userdata folder, with this version installed to ~/.xbmc/addons

http://paste.ubuntu.com/8001830/

Without knowing any better I think its the .so file having issues?

EDIT: it doesnt crash a helix nightly, but it freezes xbmc while the music continues playing

http://paste.ubuntu.com/8003154/
(This post was last modified: 2014-08-10 02:27 by teeedubb.)
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,324
Joined: Nov 2013
Reputation: 63
Post: #50
this is due to data paths. projectm eats these through a define (eff it!). by default it's setup for a system-wide install.

edit the DATA_PATH in the CMakeLists.txt of visualization.projectm to point to the proper dir.
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,324
Joined: Nov 2013
Reputation: 63
Post: #51
i have remedied this, but i could not do it while staying compatible with upstream.

somebody needs to backport https://github.com/notspiff/xbmc-cmake/c...f9f59cccd6 (or add equivalent functionality differently, then change the addon).

until that happens you cannot grab a new visualization.projectm (nor the top of my tree), you have to do the DATAPATH thing ^^^
find quote
teeedubb Offline
Donor
Posts: 3,359
Joined: Mar 2010
Reputation: 97
Location: Down Under
Post: #52
Is there any way I can check if the updated DATA_PATH is being used in the build? Im not sure if Im doing something wrong. On a fresh clone of your xbmc-cmake (commit f147350ff4a7a88ca9378267bf9f78f679c0043d) repo I cannot find CMakeLists.txt in a visualization.projectm folder, it only appears after running 'cmake project/cmake' then 'make visualization.projectm'. After that I edit ./build/bootstrap/build/visualization.projectm/src/visualization.projectm/CMakeLists.txt to look like this. I then run 'make clean', 'cmake project/cmake' then 'make visualization.projectm'. After copying addons/visualization.projectm to /home/xbmc/.xbmc/addons/ xbmc crashes when playing music. http://paste.ubuntu.com/8006512/

Thanks for your help with this.
(This post was last modified: 2014-08-10 12:21 by teeedubb.)
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,324
Joined: Nov 2013
Reputation: 63
Post: #53
projectm spews a shitload of strings to the terminal. just watch that output..

anyways, your procedure looks sane to me. it should work like that. you don't have to manually cmake again though, as cmake autoregen's if CMakeLists.txt was changed.
(This post was last modified: 2014-08-10 12:13 by ironic_monkey.)
find quote
teeedubb Offline
Donor
Posts: 3,359
Joined: Mar 2010
Reputation: 97
Location: Down Under
Post: #54
hmmm I cant see anything relating to my DATA_PATH in the output make (or if I run cmake again)

http://paste.ubuntu.com/8006901/
http://paste.ubuntu.com/8006899/
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,324
Joined: Nov 2013
Reputation: 63
Post: #55
RUNTIME output.
find quote
teeedubb Offline
Donor
Posts: 3,359
Joined: Mar 2010
Reputation: 97
Location: Down Under
Post: #56
Could it be "/usr" causing the problems?
Code:
$DISPLAY=:0 xbmc
Running DIL (3.22.0) Version
DtsDeviceOpen: Opening HW in mode 0
DtsDeviceOpen: Create File Failed
No Textures Loaded from "/usr"/share/projectM/textures
Could not open font file: /Vera.ttf
xbmc.bin: ../nptl/pthread_mutex_lock.c:80: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed.
Aborted (core dumped)
/usr/bin/xbmc: 82: /usr/bin/xbmc: systemd-coredumpctl: not found
Crash report available at /tmp/xbmc_crashlog-20140810_213504.log

Crashlog
http://paste.ubuntu.com/8007138/
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,324
Joined: Nov 2013
Reputation: 63
Post: #57
Could not open font file: /Vera.ttf

definitely not correct still. that should say /home/xbmc/.xbmc/addons/visualization.projectm/resources/Vera.ttf

example patch;

Code:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d9ff8c..0094400 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,7 +10,7 @@ find_package(GLEW REQUIRED)
find_package(ProjectM REQUIRED)

add_definitions(-DHAS_SDL_OPENGL)
-set(DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/xbmc/addons/visualization.projectm/resources")
+set(DATA_PATH "/home/xbmc/.xbmc/addons/visualization.projectm/resources")
add_definitions(-DDATAPATH="${DATA_PATH}")

set(INCLUDES ${OpenGL_INCLUDE_DIR}
(This post was last modified: 2014-08-10 13:54 by ironic_monkey.)
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,324
Joined: Nov 2013
Reputation: 63
Post: #58
also, didn't see that question. the reason there is no visualization.projectm in the xbmc-cmake git is that it is cloned straight out of the visualization.projectm git and built as part of the build process.

the only integration point is text files, see https://github.com/notspiff/xbmc-cmake/t...ata/addons (linux/visualization.projectm for projectm).
you can change the git url or revision there if you want to push your changes to a repository. just make sure to run make rebuild_cache after the change, or the build system won't pick it up (a todo..)
(This post was last modified: 2014-08-10 14:04 by ironic_monkey.)
find quote
teeedubb Offline
Donor
Posts: 3,359
Joined: Mar 2010
Reputation: 97
Location: Down Under
Post: #59
Ok I finally had some time to have another go at this. I havent been able to get the patch to apply, Im thinking I may need to use a prior commit of project m, but I havent been able to get the the build process to use that either, though I havent put alot of time into working out why not. Manually changing CMakeLists.txt to reflect the +/- lines of the patch doesnt work either, it still look for the files in /.

But I have gotten project m working by symlinking the files/folders mentioned in the runtime output to my root directory. Not elegant but it works. One thing I have noticed with this version is that setting detail level to max no longer causes corruption of the vis.

Thanks for your help ironic_monkey, now I need to get a few drinks into me and test it out Smile

Oh, and if your build system makes it into mainline will pm2 be added to xbmc? Also do you think it will make it in to helix?
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,324
Joined: Nov 2013
Reputation: 63
Post: #60
as i said you CANNOT take HEAD of visualization.projectm since i made changes that only works with my tree! you need HEAD~1.

the buildsystem won't make it into helix, probably not even into kodi, in its current form. other devs are taking bits and pieces so hopefully the synthesis some years down the line will be even better...

the viz won't make it into helix. but it will be compatible with helix through the procedure you are following so if peeps want to distribute it have at it.

i don't distribute binaries in any form to avoid getting into trouble with upstream.
find quote
Post Reply