GithubHelp home page GithubHelp logo

rtokarev / openrelease Goto Github PK

View Code? Open in Web Editor NEW
12.0 12.0 5.0 4.49 MB

OPENRELEASE - enhanced version of the RELEASE

Home Page: https://github.com/rtokarev/OPENRELEASE/wiki

License: Other

C 98.74% Shell 0.71% Perl 0.55%

openrelease's People

Contributors

rtokarev avatar sirius-jam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

openrelease's Issues

Receive remote control keys without RELEASE (or "soft power on")

Description:
After "power on", TV screen/sound to be OFF - similar like "soft power off" works. "Soft power off" is a nice feature. You can turn off TV screen/sound and services will work in background. Now we have : "TV" mode, "server" mode and "TV and server" mode.

It will be nice if "power on" does not start RELEASE. And if we are able to receive remote control keys and start RELEASE only when "TV" mode is needed.
As far I know, This is possible only for S6/S7. BCM TVs, RELEASE is needed, other way network does not work. For BCM TV, RELEASE have to be started, but maybe "init" process could be interrupted before screen ON

Reasons:
After reboot, TV screen/sound does start. You need to use remote control and manually to "soft power off". This is very hard work. After reboot, TV screen always starts. if you need "server" mode, If you test something and reboot often - then this is bad for your TV screen.
When RELEASE is not started, you can use more resources in "server" mode. After starting RELEASE you can't kill it. RELEASE does "init" many devices - "soft power off" does not "finalize" all devices and does not free resources. Another reason why, "soft power on" could be very useful.

EDIT:
S7: I can't kill RELEASE. I can start second RELEASE, which does kill first process, but it does not end nice - it does not success to "init" TV properly, TV does not work or I get exception yellow msg on TV screen or I get junk (white/black lines)
BCM: RELEASE can be killed but second RELEASE does not work. "It worked great for RELEASE versions below 3.20.xx" (xeros)

EDIT2: S7 TV starts with "energy saving"=OFF (very bright screen). After startup, RELEASE does adjust to "energy saving"=maximum (for example). It is bad (less or more) in case of reboot.

[Feature request] Support more filesystems when mounting partitions from USB storage devices

Currently RELEASE tries to mount any partition from USB storage devices regardless real filesystem tag in such order:
vfat
ntfs
msdos

If any of those mounts will succeed then partition is being accepted for media playback if fail then try mount as next filesystem until all of them fail.
On BCM default Linux kernel supports at least those two filesystems on USB storage devices:
jfs
ext3
Both are used by RELEASE for DVR (AKA Time Machine) in Brazillian TV models but not being mounted on other models.

I would like OPENRELEASE to be able to mount and use for media playback at least ext3 fs (if hard to do as additional mount try) then I would like to sacrifice 'msdos' for 'ext3'.

On Saturn 6 and 7 platforms there are tests with custom kernel that supports even more filesystems so possibility to extend such functionality in OPENRELEASE (via config file?) would be very apreciated.

[Feature request] KeyHandler shell script/binary executed at each remote control key press

I would like to get /bin/keyhandler or something simmilar being executed with system() call with key hex code as argument from libopenrelease.so on each button press.
Such thing can be enabled/disabled (disabled by default) in openrelease.cfg option.
For example:
keyhandler = /bin/keyhandler
with default:
keyhandler = NULL

So it would run for example '/bin/keyhandler a9' for Guide button press.

Such code should wait until /bin/keyhandler exits (some timeout?), check its exit status and depends on exit status run other key events actions or not.

Examples of exit status:
0 - key action has been run, stop doing other actions.
1 - generate just uinput event
2 - run action set in openrelease_keymap.cfg
3 - generate uinput event and run action set in openrelease_keymap.cfg
... ?

We could then enhance functionality with such script or binary to execute actions in Linux shell depends on which key has been pressed.

More key bindings and events - keyDblClick, keyDown, keyUp, "ctrl+alt+del"

Description:
Two well knows features. Just added here for reference. (Sorry if description looks bad)

First: About "umount -a" before real power off
Right now, we have shell "reboot" but shell "poweroff" does not work (it does reboot). Real power off using remote control does not "umount -a". In case of "write" operations to usb/jffs2 it could be problem.
We need "notification and delay" before real poweroff - that is how shell script can "umount -a" before power off.
Or, second option, we need to remap "poweroff" to shell script and shell script to be able to call "real power off" function.

Second: Example about "KeyDblClick"
KeyDblClick for Power key, could do "real power off" (default) when single click does "soft power off".
Only if action is assigned to keyDblClick, then single click have to wait 0.5-1 seconds and act after that.

'tee' like redirection for stdin and stdout

Description:
RELEASE, running in foreground (not as daemon), to be able to accept input from openrelease.in.

Reasons:

  1. we need RELEASE in foreground - to access debug menu / debug mode
  2. openrelease.in is needed for for scripts: webui of remote control - control of volume up/down using webui
  3. sh redirect works but it is not perfect: 'tail -f /tmp/openrelease.out &; cat > /tmp/openrelease.in'
    "This adds end of line, which is sometimes problematic"
    F9/F10 require "enter". Debug prompt (S7) appear before "debug menu" entries (command "help" for example)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.