Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 9 of 9
  1. #1
    Junior Member
    Join Date
    Jun 2020
    Posts
    12

    jivelite fork with meson/ninja build system

    HI,

    I'd like to advertise my Jivelite fork:

    https://github.com/andreas-volz/jivelite

    Tracis-CI: (config Ubuntu 20.04)
    https://travis-ci.com/github/andreas-volz/jivelite

    The biggest changes until now is introducing meson/ninja as build system. This fork builds with use of SDL/Lua dependency packages instead of the included ones.

    See README.md for compile instructions and .travis.yml for Ubuntu maintainer packaging information.

    Currently I develop JiveLite on Ubuntu 20.04 and let it run on my RaspberryPiOS system. Before I had piCorePlayer as base, but had higher requirements for my prototype.

    So I would request for feedback based for my modifications. Maybe you could compile it with your favorite distributions and report your experience.

    if you're a Windows or MacOS user/developer you might help me to add meson support for those operating systems. I'll accept patches.

    I didn't try yet to compile the meson fork with piCorePlayer and native SDL/Lua packages. But this is on my todo list.

    My other Jiveluite change planes are regarding two different new Applet ideas and maybe support for SDL2. But depends on time and future interest.

    regards
    Andreas
    Last edited by andreas99; 2021-07-28 at 15:20.

  2. #2
    Junior Member
    Join Date
    Jun 2020
    Posts
    12
    Some more experiments later:

    In the beginning I raw tested only the touch screen but used a mouse device for pointing.

    Meanwhile I tried more my HDMI/USB based touch display.

    But it seems what ever I do the touch behaves like a mouse device. First touch moves the pointer and second couch then clicks the button. Also I need first to press once on the 0/0 position at the top left corner to "sync" mouse and touch position. Afterwards at least the position is correct. Yes; I calibrated it before and ts_test shows very accurate positions


    I'm not sure if a wrong tslib or JiveLite configuration is the problem or because of what is applied to the patched SDL version on piCorePlayer that is shipped with JiveLite:
    https://github.com/andreas-volz/jive...L-1.2.15.patch

    Maybe it would also be a possibility to support direct usage of tslib with ts_read() in JiveLite instead of SDL for touch drivers to prevent this problem.

    Does anyone have a hint?

    regards
    Andreas

  3. #3
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,906
    Quote Originally Posted by andreas99 View Post
    Some more experiments later:

    In the beginning I raw tested only the touch screen but used a mouse device for pointing.

    Meanwhile I tried more my HDMI/USB based touch display.

    But it seems what ever I do the touch behaves like a mouse device. First touch moves the pointer and second couch then clicks the button. Also I need first to press once on the 0/0 position at the top left corner to "sync" mouse and touch position. Afterwards at least the position is correct. Yes; I calibrated it before and ts_test shows very accurate positions


    I'm not sure if a wrong tslib or JiveLite configuration is the problem or because of what is applied to the patched SDL version on piCorePlayer that is shipped with JiveLite:
    https://github.com/andreas-volz/jive...L-1.2.15.patch

    Maybe it would also be a possibility to support direct usage of tslib with ts_read() in JiveLite instead of SDL for touch drivers to prevent this problem.

    Does anyone have a hint?

    regards
    Andreas
    Try setting

    export JIVE_NOCURSOR=1

    to remove the mouse pointer and

    export SDL_MOUSEDRV=TSLIB

    to use the SDL touch driver.

    To support ts_read directly in jivelite will require writing a driver similiar to the one in the touch.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  4. #4
    Junior Member
    Join Date
    Jun 2020
    Posts
    12
    Quote Originally Posted by ralphy View Post
    Try setting

    export JIVE_NOCURSOR=1

    to remove the mouse pointer and
    Yes, this works in my piCorePlayer startup script. And the JIVE_NOCURSOR=1 hides the mouse, but the behavior is the same as with mouse cursor.

    Quote Originally Posted by ralphy View Post
    export SDL_MOUSEDRV=TSLIB

    to use the SDL touch driver.
    This has no visible effect. I exported TSLIB_PLUGINDIR to the correct directory but same behaviour.
    Maybe I've to enable more trace logs from JiveLite to find the problem.

    Quote Originally Posted by ralphy View Post
    To support ts_read directly in jivelite will require writing a driver similiar to the one in the touch.
    To be honest I don't understand the history and so of JiveLite and all the Squeezplay/SqueezOS software. Is JiveLite an active project and it worth to change something? I see so many forks, but not many changes on the master in the last years. So should I use squeezeplay as base? What is the difference to JiveLite?

    regards
    Andreas

  5. #5
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,906
    Quote Originally Posted by andreas99 View Post
    Yes, this works in my piCorePlayer startup script. And the JIVE_NOCURSOR=1 hides the mouse, but the behavior is the same as with mouse cursor.

    This has no visible effect. I exported TSLIB_PLUGINDIR to the correct directory but same behaviour.
    Maybe I've to enable more trace logs from JiveLite to find the problem.
    If there's no difference that would suggest that your SDL 1.2 library was not built with support for tslib (Add --enable-input-tslib=yes to the configure options.)

    Quote Originally Posted by andreas99 View Post
    To be honest I don't understand the history and so of JiveLite and all the Squeezplay/SqueezOS software. Is JiveLite an active project and it worth to change something? I see so many forks, but not many changes on the master in the last years. So should I use squeezeplay as base? What is the difference to JiveLite?

    regards
    Andreas
    Jivelite was forked from Squeezeplay and the local player built into squeezeplay was removed in favour of using squeezelite.

    Jivelite includes several Grid Skins that do not work with squeezeplay.

    I currently maintain both projects and there have been many changes in the last years see Squeezeplay and Jivelite.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  6. #6
    Junior Member
    Join Date
    Jun 2020
    Posts
    12
    Quote Originally Posted by ralphy View Post
    If there's no difference that would suggest that your SDL 1.2 library was not built with support for tslib (Add --enable-input-tslib=yes to the configure options.)



    Jivelite was forked from Squeezeplay and the local player built into squeezeplay was removed in favour of using squeezelite.

    Jivelite includes several Grid Skins that do not work with squeezeplay.

    I currently maintain both projects and there have been many changes in the last years see Squeezeplay and Jivelite.
    Very good hint for SDL1.2 without libts support. I found this:

    https://bugs.debian.org/cgi-bin/bugr...cgi?bug=798160

    So short time solution I'll try to rebuild libSDL1.2 with tslib support.

    Would you accept pullrequests to master about...

    - meson/ninja support?
    -> should I introduce it now parallel to current platform Makefiles and improve and add more platform support over the time?

    - SDL2 port?
    -> I've no interest to fork JiveLite permanent. So I work only (maybe) on this if you would accept patches to master for this. Maybe SDL1/SDL2 with compile switches (if effort is affordable)?

  7. #7
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,906
    Quote Originally Posted by andreas99 View Post
    Would you accept pullrequests to master about...

    - meson/ninja support?
    -> should I introduce it now parallel to current platform Makefiles and improve and add more platform support over the time?
    Yes, additional Makefiles would be welcomed.

    Quote Originally Posted by andreas99 View Post
    - SDL2 port?
    -> I've no interest to fork JiveLite permanent. So I work only (maybe) on this if you would accept patches to master for this. Maybe SDL1/SDL2 with compile switches (if effort is affordable)?
    I don't think it's worth the time. The SDL 1.2.15 in squeezeplay has many changes from the stock sources and I'm just completing updating SDL to 1.2.16. I use the squeezeplay libraries when I build and package jivelite for picoreplayer.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  8. #8
    Junior Member
    Join Date
    Jun 2020
    Posts
    12
    Quote Originally Posted by andreas99 View Post

    So short time solution I'll try to rebuild libSDL1.2 with tslib support.
    This worked so far that no it doesn't behave like a mouse any more. Where ever I click I get an instance feedback. So far so great.

    But it seems my touch event behaves like a long press. So if I press on a menu entry I get this screen where I could remove entries. Same as if I press long return on the keyboard.

    Would you assume a wrong touch configuration or might one of the SDL patches (that I didn't apply on my platform) is related to this?

    Quote Originally Posted by ralphy View Post
    Yes, additional Makefiles would be welcomed.
    I'll send you a PullRequest soon. At the moment I've just one problem left. My platform had problems to get this fileno() stuff to run in a good way. So I just return 1 as workaround. It seems in this special case it works, but for sure ugly! I need to fix this correct to get the build files working in a way it's compatible to the local dependencies variant.

    https://github.com/andreas-volz/jive...d126ebf6169ed2
    Last edited by andreas99; 2021-08-07 at 08:01.

  9. #9
    Junior Member
    Join Date
    Jun 2020
    Posts
    12
    Quote Originally Posted by andreas99 View Post
    This worked so far that no it doesn't behave like a mouse any more. Where ever I click I get an instance feedback. So far so great.

    But it seems my touch event behaves like a long press. So if I press on a menu entry I get this screen where I could remove entries. Same as if I press long return on the keyboard.

    Would you assume a wrong touch configuration or might one of the SDL patches (that I didn't apply on my platform) is related to this?
    I found a similar problem here in the forum with a solution. So I added this and it just magic worked. :-)

    Code:
    => /etc/ts.conf:
    
    module skip nhead=2

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •