Re: Added support for Visualizations using VSXu

2013-09-15 Thread Konrad Zemek

On 12.09.2013 19:14, Dinesh wrote:

Hey Konrad,

We have merged the Amarok Fixes branch into VSXu master. And the patch 
for the problem with the FindVSXu.cmake is in VSXu master now. (It was 
a broken libvsxu.pc file).



As for the blank visualizer applet, I still cannot reproduce the 
problem on my machine. But I have pushed one more change to the vsxu 
branch of my amarok clone. Could you try that out? Its a tiny fix, but 
it got the plugin working for someone else:


git://anongit.kde.org/clones/amarok/dineshm/amarok-vsxu.git

This is the commit:
commit d8fe2a363562f91fe89964847e0cc15cf9dc19e4
 VSXuRenderer: Calling glViewport() for every frame



Hey,

Sorry about the delay, I'm really busy right now. First thing I want to 
note is that without changing the FindVSXu.cmake I still get following 
output while running CMake:


-- checking for module 'libvsxu'
--   package 'libvsxu' not found
-- VSXU_ENGINE_LIBRARY: /home/konrad/kde/lib/libvsxu_engine.so
-- VSXU_ENGINE_GRAPHICS_LIBRARY: 
/home/konrad/kde/lib/libvsxu_engine_graphics.so
-- VSXU_ENGINE_AUDIOVISUAL_LIBRARY: 
/home/konrad/kde/lib/libvsxu_engine_audiovisual.so

-- VSXU_INCLUDE_DIRS: VSXU_INCLUDE_DIRS-NOTFOUND

...where VSXu is installed under /home/konrad/kde prefix, and the same 
prefix is set for the Amarok build (and which is registered with KDE and 
all the right places). The VSXu installed is build from amarok-fixes 
branch. I'm not using pkg-config output and relying on other given hints 
- which should be good enough. I had to make following change 
FindVSXu.cmake to make it work:


 find_path (VSXU_INCLUDE_DIRS
 NAMES
-vsxu_platform.h
+vsx_platform.h
 PATHS
 ${VSXU_INCLUDE_DIRS}
-${INCLUDE_INSTALL_DIR}
+${INCLUDE_INSTALL_DIR}/vsxu
 ${KDE4_INCLUDE_DIR}
 )

Moreover, the vsx_* headers (and Amarok's visualizer, e.g. in 
VSXuRenderer.cpp) assume that all of VSXu include directories are 
directly in the include path. 
include/vsxu/engine_audiovisual/vsx_engine.h includes vsx_string.h, 
which is placed under include/vsxu/engine/ . I'm really confused as to 
how should I install the library to make it simply work, so I again just 
copied all files from include/vsxu/*/ to include/vsxu/ .


Unfortunately, after it built, I still get a black rectangle while a 
song is playing. The Amarok logo is displayed when playback is stopped.


Konrad
___
Amarok-devel mailing list
Amarok-devel@kde.org
https://mail.kde.org/mailman/listinfo/amarok-devel


Re: Added support for Visualizations using VSXu

2013-09-15 Thread Konrad Zemek

On 15.09.2013 14:15, Konrad Zemek wrote:

On 12.09.2013 19:14, Dinesh wrote:

Hey Konrad,

We have merged the Amarok Fixes branch into VSXu master. And the 
patch for the problem with the FindVSXu.cmake is in VSXu master now. 
(It was a broken libvsxu.pc file).



As for the blank visualizer applet, I still cannot reproduce the 
problem on my machine. But I have pushed one more change to the vsxu 
branch of my amarok clone. Could you try that out? Its a tiny fix, 
but it got the plugin working for someone else:


git://anongit.kde.org/clones/amarok/dineshm/amarok-vsxu.git

This is the commit:
commit d8fe2a363562f91fe89964847e0cc15cf9dc19e4
 VSXuRenderer: Calling glViewport() for every frame



Hey,

Sorry about the delay, I'm really busy right now. First thing I want 
to note is that without changing the FindVSXu.cmake I still get 
following output while running CMake:


-- checking for module 'libvsxu'
--   package 'libvsxu' not found
-- VSXU_ENGINE_LIBRARY: /home/konrad/kde/lib/libvsxu_engine.so
-- VSXU_ENGINE_GRAPHICS_LIBRARY: 
/home/konrad/kde/lib/libvsxu_engine_graphics.so
-- VSXU_ENGINE_AUDIOVISUAL_LIBRARY: 
/home/konrad/kde/lib/libvsxu_engine_audiovisual.so

-- VSXU_INCLUDE_DIRS: VSXU_INCLUDE_DIRS-NOTFOUND

...where VSXu is installed under /home/konrad/kde prefix, and the 
same prefix is set for the Amarok build (and which is registered with 
KDE and all the right places). The VSXu installed is build from 
amarok-fixes branch. I'm not using pkg-config output and relying on 
other given hints - which should be good enough. I had to make 
following change FindVSXu.cmake to make it work:


 find_path (VSXU_INCLUDE_DIRS
 NAMES
-vsxu_platform.h
+vsx_platform.h
 PATHS
 ${VSXU_INCLUDE_DIRS}
-${INCLUDE_INSTALL_DIR}
+${INCLUDE_INSTALL_DIR}/vsxu
 ${KDE4_INCLUDE_DIR}
 )

Moreover, the vsx_* headers (and Amarok's visualizer, e.g. in 
VSXuRenderer.cpp) assume that all of VSXu include directories are 
directly in the include path. 
include/vsxu/engine_audiovisual/vsx_engine.h includes 
vsx_string.h, which is placed under include/vsxu/engine/ . I'm 
really confused as to how should I install the library to make it 
simply work, so I again just copied all files from include/vsxu/*/ 
to include/vsxu/ .


Unfortunately, after it built, I still get a black rectangle while a 
song is playing. The Amarok logo is displayed when playback is stopped.


Konrad


RE: assuming that all of the header directories are directly in the 
include path: pkg-config indeed outputs all of them. The FindVSXu.cmake 
definitely needs to be tweaked.


Konrad
___
Amarok-devel mailing list
Amarok-devel@kde.org
https://mail.kde.org/mailman/listinfo/amarok-devel


Implementing CUE sheet support in Amarok

2013-09-15 Thread Abhinandan Ramprasath
Hi,

After spending a lot of time staring at the code, I would like to propose
the following changes to implement CUE sheet support in Amarok.

Most of the necessary CUE decoding and track splitting functions are
already available in CueFileSupport.h . It's got functions to scan for and
validate CUE sheets too. I'd like to use these functions in the
collectionscanner, scan for .cue files once the XML is read. To be even
more precise, just before/after the CollectionScanner::Track for each track
is created. So each child track would be treated as a separate track right
from the beginning.

I was thinking of having a few additional data members in
CollectionScanner::Track and Meta::SqlTrack to represent child tracks and
to store their start times and end times.

This would then be stored in the database. To do that, I'd like to do that
by adding a few columns to the track or the urls table such as, a child or
not boolean, start time and end time.

Abhinandan
___
Amarok-devel mailing list
Amarok-devel@kde.org
https://mail.kde.org/mailman/listinfo/amarok-devel


Re: Implementing CUE sheet support in Amarok

2013-09-15 Thread Matěj Laitl
On 15. 9. 2013 Abhinandan Ramprasath wrote:
 Hi,
 
 After spending a lot of time staring at the code, I would like to propose
 the following changes to implement CUE sheet support in Amarok.
 
 Most of the necessary CUE decoding and track splitting functions are already
 available in CueFileSupport.h . It's got functions to scan for and validate
 CUE sheets too. I'd like to use these functions in the collectionscanner,
 scan for .cue files once the XML is read. To be even more precise, just
 before/after the CollectionScanner::Track for each track is created. So
 each child track would be treated as a separate track right from the
 beginning.
 
 I was thinking of having a few additional data members in
 CollectionScanner::Track and Meta::SqlTrack to represent child tracks and
 to store their start times and end times.

Yeah, that makes sense.

 This would then be stored in the database. To do that, I'd like to do that
 by adding a few columns to the track or the urls table such as, a child or
 not boolean, start time and end time.

Yep, this is the natural approach, however, this might lead to some problems. 
There are assumptions all over that (deviceid, rpath) in the urls table is 
unique for all urls. This wouldn't hold anymore.

One possibility would be to change the assumption everywhere (tricky, perhaps 
doable).

Second to somehow mix the start/end times into the rpath (is there a character 
not allowed in UNIX file paths?) and carefully treat places that use it.

Third to recreate the child tracks late - after picking them up from the 
database (extremely tricky IMO).

Another open questions:
what should happen when you try to copy/move one child track out of Local 
Collection? What would happen if you edit the metadata? (I guess the change to 
title would go to the cuesheet, everything else to the underlying file).

Matěj
___
Amarok-devel mailing list
Amarok-devel@kde.org
https://mail.kde.org/mailman/listinfo/amarok-devel