Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Level 7

Re: My Media - Your Music and Video on the Roku DVP

I'm not defending them. I'm just saying that appears to be the way to fix it. If the code is in Bitbucket or something, and you give me access, I'd be happy to take a look.
0 Kudos
Highlighted
Level 17

Re: My Media - Your Music and Video on the Roku DVP

I received information that it will be fixed in the firmware, but no time frame. The code is/was in github, but it's probably (definitely) out of date. Modifying the code is trivial; it's updating the channel that could be a problem. I've got so many experimental versions of the client and server code not to mention multiple private channels that figuring it all out will take some time.

-JT
0 Kudos
Highlighted
Level 7

Re: My Media - Your Music and Video on the Roku DVP

As of this morning,  the correct date is being shown on a watched show and "play all" and "play new" are working again.
0 Kudos
Highlighted
Level 7

Re: My Media - Your Music and Video on the Roku DVP

Yes, I noticed that last night myself. Yay!
0 Kudos
Highlighted
Level 17

Re: My Media - Your Music and Video on the Roku DVP

That's good to hear! I'm guessing you've been updated to v9.1 of the firmware? I haven't received it yet.

-JT
0 Kudos
Highlighted
Level 7

Re: My Media - Your Music and Video on the Roku DVP

I installed Ubuntu 20 yesterday. The painfully slow navigation problem (caused by the slow but inevitable deprecation of python 2) re-appeared, and I tried to re-create the fix. Initially, I just succeeded in preventing MyMedia from running at all.

Here is what actually worked.

  1. First, I copied all of my backed up MyMedia files to /usr/local/bin/mymedia
  2. Then I installed python 2.7…
  3. sudo apt-get install python2
  4. Then I installed pip, but first I had to install curl…
  5. sudo apt-get install curl
  6. curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
  7. sudo python2 get-pip.py
  8. Then I installed Pillow
  9. sudo python2 -m pip install --upgrade Pillow
  10. It might not have been necessary, but I installed several image libraries…
  11. sudo apt-get install libjpeg-dev
  12. sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
  13. sudo apt-get install zlib1g-de
  14. sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib
  15. In common.py, I made sure that this…
  16. import Image
  17. … had been replaced with this…
  18. #import Image
    from PIL import Image

Huge success!

Note that during this process, I got several warnings about Python 2.7 being deprecated, like this one:

DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support

It’s only a matter of time before MyMedia becomes unusable. I would love to get access to the git repository and try to update it for Python 3, if that’s possible.

Also, I have updated my init script (/etc/init.d/memedia), which runs mymedia in a screen

#!/bin/sh
### BEGIN INIT INFO
# Provides: minidlna
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mymedia server
# Description: mymedia media server.
### END INIT INFO

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
DESC="MyMedia media server"
MEDIAPATH=/var/media
DAEMONPATH=/usr/local/bin/mymedia/server
DAEMON=$DAEMONPATH/mymedia.py
SCRIPTNAME=/etc/init.d/mymedia
SCREENNAME=mymedia
USER=bblackmoor
GROUP=media
EXECUSER=root
EXECGROUP=media

case "$1" in
start)
chown -R $EXECUSER:$EXECGROUP $DAEMONPATH
chown -R $USER:$GROUP $MEDIAPATH
su - $USER -c "cd $DAEMONPATH; screen -dm -S $SCREENNAME python2 $DAEMON"
;;
stop)
su - $USER -c "screen -S $SCREENNAME -X quit"
su - $USER -c "screen -wipe"
;;
status)
su - $USER -c "screen -list | grep $SCREENNAME"
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status}" >&2
exit 3
;;
esac
:

0 Kudos