Coder Social home page Coder Social logo

vicwomg / pikaraoke Goto Github PK

View Code? Open in Web Editor NEW
459.0 30.0 116.0 1.58 MB

Youtube-based Karaoke machine for Raspberry Pi, OSX, Windows, and Linux

License: GNU General Public License v3.0

Python 17.99% CSS 56.30% HTML 24.52% Shell 0.59% Batchfile 0.18% JavaScript 0.42%

pikaraoke's People

Contributors

aadamowski avatar alcalda avatar funkecoder23 avatar gitname avatar hartebee5t avatar jramboz avatar mawkee avatar mrfrank2716 avatar nathanpalmer avatar petemarvin avatar quichef avatar stephb9959 avatar tbelaire avatar theminna avatar thetrashacc avatar vicwomg avatar wesleong avatar

Stargazers

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

Watchers

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

pikaraoke's Issues

PiKaraoke Windows Install

Hello,
It would seem that the following step in the Requirements.txt file is failing to install through powershell.

pygame==1.9.6; sys_platform != 'darwin'

I attempted to skip it by removing it from the txt file and retrying the install command. The rest of the install continues, but pikaraoke doesn't load.

Option to play regular video in queue

Loving this app. An awsome option would be to also have another drop down to add regular videos and keep them kinda separated and add them in on the queue as well. Kinda how bars do it where they throw a few videos in between singers.

Using alsa creates blank screen and no audio

I have confirmed that the normal audio/video works through the hdmi and even 3.5mm with pikaraoke.

I bought a HiFiBerry Soundcard Hat, however, and after making the changes to use alsa:hw:0,0 vs both, I only get a blank/black screen with no audio. I have confirmed that the sound comes out using the same omxplayer command generated by pikaraoke with no issues without pikaraoke.

Any ideas on what could cause this behavior? If I/we can get this to work, I would be happy to try and make the “output” an argument to app.py.

You can see the change I did here:
master...bennysp:master

Here is a debug output to confirm what I am seeing:

Blank/Black Screen & no audio
root@raspberrypi:/home/pi/pikaraoke# pygame 1.9.4.post1
Hello from the pygame community. https://www.pygame.org/contribute.html
[2020-01-18 19:12:15] DEBUG:
http port: 5000
hide IP: False
hide splash: False
splash_delay: 4
hide overlay: True
download path: /usr/lib/pikaraoke/songs/
default volume: 0
youtube-dl path: /usr/local/bin/youtube-dl
omxplayer path: /usr/bin/omxplayer
log_level: 10
[2020-01-18 19:12:15] DEBUG: Fetching available songs in: /usr/lib/pikaraoke/songs/
[2020-01-18 19:12:16] DEBUG: Killing old omxplayer processes
[2020-01-18 19:12:16] DEBUG: Initializing pygame
[2020-01-18 19:12:16] DEBUG: Initializing screen mode
[2020-01-18 19:12:16] DEBUG: Done initializing splash screen
[2020-01-18 19:12:16] DEBUG: Rendering splash screen
[2020-01-18 19:12:16] DEBUG: Generating URL QR code
[2020-01-18 19:12:16] INFO: Starting PiKaraoke!
[18/Jan/2020:19:12:16] ENGINE Bus STARTING
[2020-01-18 19:12:16] INFO: [18/Jan/2020:19:12:16] ENGINE Bus STARTING
[18/Jan/2020:19:12:16] ENGINE Started monitor thread '_TimeoutMonitor'.
[2020-01-18 19:12:16] INFO: [18/Jan/2020:19:12:16] ENGINE Started monitor thread '_TimeoutMonitor'.
[18/Jan/2020:19:12:16] ENGINE Serving on http://0.0.0.0:5000
[2020-01-18 19:12:16] INFO: [18/Jan/2020:19:12:16] ENGINE Serving on http://0.0.0.0:5000
[18/Jan/2020:19:12:16] ENGINE Bus STARTED
[2020-01-18 19:12:16] INFO: [18/Jan/2020:19:12:16] ENGINE Bus STARTED
[2020-01-18 19:12:33] INFO: Adding video to queue: /usr/lib/pikaraoke/songs/Billy Joel - Uptown Girl (Karaoke)---JMpIVGv5jkE.mp4
[2020-01-18 19:12:33] DEBUG: Killing old omxplayer processes
[2020-01-18 19:12:33] INFO: Playing video: Billy Joel - Uptown Girl (Karaoke)
[2020-01-18 19:12:33] DEBUG: Player command: /usr/bin/omxplayer /usr/lib/pikaraoke/songs/Billy Joel - Uptown Girl (Karaoke)---JMpIVGv5jkE.mp4 --blank -o alsa:hw:0,0 --vol 0 --font-size 25
[2020-01-18 19:12:33] DEBUG: Rendering splash screen
[2020-01-18 19:12:33] DEBUG: Generating URL QR code
Video codec omx-h264 width 640 height 360 profile 578 fps 25.000000
Audio codec aac channels 2 samplerate 44100 bitspersample 16
Subtitle count: 0, state: off, index: 1, delay: 0
V:PortSettingsChanged: [email protected] interlace:0 deinterlace:0 anaglyph:0 par:1.25 display:0 layer:0 alpha:255 aspectMode:0
[2020-01-18 19:13:08] INFO: Clearing queue!
[2020-01-18 19:13:08] INFO: Skipping: Billy Joel - Uptown Girl (Karaoke)
[18/Jan/2020:19:13:08] ENGINE Bus STOPPING
[2020-01-18 19:13:08] INFO: [18/Jan/2020:19:13:08] ENGINE Bus STOPPING
[18/Jan/2020:19:13:08] ENGINE HTTP Server cherrypy._cpwsgi_server.CPWSGIServer(('0.0.0.0', 5000)) shut down
[2020-01-18 19:13:08] INFO: [18/Jan/2020:19:13:08] ENGINE HTTP Server cherrypy._cpwsgi_server.CPWSGIServer(('0.0.0.0', 5000)) shut down
[18/Jan/2020:19:13:08] ENGINE Stopped thread '_TimeoutMonitor'.
[2020-01-18 19:13:08] INFO: [18/Jan/2020:19:13:08] ENGINE Stopped thread '_TimeoutMonitor'.
[18/Jan/2020:19:13:08] ENGINE Bus STOPPED
[2020-01-18 19:13:08] INFO: [18/Jan/2020:19:13:08] ENGINE Bus STOPPED
[18/Jan/2020:19:13:08] ENGINE Bus EXITING
[2020-01-18 19:13:08] INFO: [18/Jan/2020:19:13:08] ENGINE Bus EXITING
[18/Jan/2020:19:13:08] ENGINE Bus EXITED
[2020-01-18 19:13:08] INFO: [18/Jan/2020:19:13:08] ENGINE Bus EXITED
Stopped at: 00:00:00
[18/Jan/2020:19:13:08] ENGINE Waiting for child threads to terminate...
[2020-01-18 19:13:08] INFO: [18/Jan/2020:19:13:08] ENGINE Waiting for child threads to terminate...
have a nice day ;)

Works as expected
root@raspberrypi:/home/pi/pikaraoke# /usr/bin/omxplayer "/usr/lib/pikaraoke/songs/Billy Joel - Uptown Girl (Karaoke)---JMpIVGv5jkE.mp4" --blank -o alsa:hw:0,0 --vol 0 --font-size 25
Video codec omx-h264 width 640 height 360 profile 578 fps 25.000000
Audio codec aac channels 2 samplerate 44100 bitspersample 16
Subtitle count: 0, state: off, index: 1, delay: 0
V:PortSettingsChanged: [email protected] interlace:0 deinterlace:0 anaglyph:0 par:1.25 display:0 layer:0 alpha:255 aspectMode:0
have a nice day ;)

Users seem to be accidentally deleting the queue

In a few drunken party situations, we had the queued songs all disappear. I can't tell if someone did this on accident or if it's a bug. Obviously nobody would 'fess up. If someone finds repro steps, please post them here

Can't search any longer.

Worked fine 2 days ago. I updated the YouTube url deal in the settings but still can no longer search and add songs. Just an empty web page that says server is down or busy. Not sure what to check.

Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Add MP3 / CDG file support

I have a CDG library and would like the ability to incorporate those files into the pikaraoke library. Is there any chance you could add CDG support? I know VLC has some support for the format although it requires selecting both the mp3 and CDG files simultaneously then playing. There's also libCDG in the OpenKJ project that is quite a bit more sophisticated.

Overwrite Same Edited Filename

I have tried to edit a song with the same "title - artist" filename, it seems it is overwriting the existing file. I'm trying to pull a request to at least allow the same "title - artist" filename but having an index (i.e. "title - artist (2)") filename.

Synchronize pikaraoke sessions over the internet

Hi, I would like to use your pikaraoke on my raspberry and I would like to display karaoke on a screen of my parents.
With a confinement I can't see my parents to do karaoke, also I would like to know how I can use karaoke on my raspberry pi in my home and send karaoke link for my parent.

Search doesn’t like inverted commas

When using inverted commas in the search field it just errors out.
Example:
Nothing’s Gonna change my love for you

Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Is there a way to detect videos with no on-screen lyrics?

It occurs to me that there might be a youtube-dl option we could use to detect videos containing only a static image (implying there are no on-screen lyrics). It feels like more than half of the search-hits claiming to be karaoke tracks are audio-only rips with a screenshot of the cover of the disc instead of lyrics. It would be great to be able to distinguish the search results list to highlight (or rather 'low-light') the titles of such videos, if a method could be found to detect them.

A more complete solution might be to provide a side-search option for a lyrics page to display over such audio-only backing tracks. Not as good as a proper rolling karaoke live-lyric visual, but far better than no lyrics at all. For now, though, I'd be happy with a lyric-less detection method.

Splash screen remains up while song is playing

Program works fine when using --hide-splash-screen. But when splash screen comes up and you que a song, you see the 'next up' notification in the bottom corner, and then you hear the song playing, but the splash screen doesn't go away.

Blank songs can be added

Noticed this in a few large group sessions: a blank song gets added to the queue. When trying to delete it from the queue, the current song skips.

Not sure how this is happening. Perhaps double-submitting to queue, bad chars in the title, etc.

Is it feasible to clone the karaoke-video out on a(n) RPi4's second HDMI socket?

Is it possible to configure a Raspberry Pi4 for dual-screen video playback (i.e. cloning the karaoke lyrics onto a second monitor) on a Raspberry Pi4 using the second HDMI output)?
I've tried several screen-extension options and while they replicate the desktop background (and in one case even replicated the icons on that desktop), when PiKaraoke is run the logo/QR-code display screen is expanded sideways to fill the two monitors as one super-wide Extended Desktop with the logo divided across their shared boundary, and the karaoke lyrics video still only appears on the primary monitor.

Does anyone know of a way to clone the karaoke visuals to both HDMI outputs?
e.g. maybe as a modification to the omxplayer launch command?

I know there's something 'special' about the way the karaoke visuals are displayed, as I had tried RealVNC to do the cloning and had to apply an Advanced Option in RealVNC Server to get it to render the lyrics video stream at all (otherwise it just VNC'd the logo screen). Does this observation provide any clues to how a cloned video stream might be routed through the second HDMI?
(Even with the advanced mode applied the results with RealVNC were not great - if there's any background graphics movement at all the latency, block-artefacts and frame-dropping made it unusable)

Thanks in anticip...

Youtube-dl path not found Lubuntu

Trying to install on Lubuntu and followed all the instructions and installed all dependencies. When run the program I get the message:

Youtube-dl path not found! /usr/local/bin/youtube-dl

I have tried manually creating the folder but still didn't fix the issue

Search via youtube-dl appears to be broken

Search of content not previously stored has stopped working and updating youtube-dl isn't fixing it.
A bit of digging reveals that the hosting repository at yt-dl.org is currently pointing to a GitHub DMCA take-down notice.

Add VLC support

Could you refactor and add the VLC as another supported player? There are a few benefits to it:

  • more distros supported by VLC. I couldn't compile omxplayer on manjaro/arch
  • VLC has a filter to change pitch via UI. I'm not sure if it could be accessed via cmd, but that is possible for a future version.
    Thanks for this awesome work

Add wifi config via keyboard

probably need some kind of UI to configure wifi. Bringing the device over to a buddy's house and trying to set up wifi via CLI is no fun.

High Quality Video Option

The ability to choose to download higher quality video would be great. Maybe a checkbox? The default works perfectly for karaoke files, but it would be great to be able to choose best available quality for sing-along music videos.

cant search

Anyone having an issue where it wont let you search anything? If i type in a search term. The page just refreshes and no search results come up.

The logs shows 'Searching YouTube for: Yellow'

And it just ends there.

I'm able to launch the browser and surf the net if i close out the app. Not sure what I'm doing wrong :(

Overlay problem in omxplayer? (and workaround)

Hi vic...

When installing the rep on a new RPi 4 last week I found that a fairly recent update to omxplayer appears to have broken queue playback in pikaraoke (error scenario virtually identical to : (popcornmix/omxplayer#736) ).

Search, selection and queue management functionality still works, but the queue aborts each song as soon as it attempts to load for display, selecting instead the next song in the queue, aborting each one until the queue has been exhausted.

I discovered that I'm able to run pikaraoke if the --hide-overlay and --hide-ip CLI options are invoked. This has the effect of removing the display of the QRCode graphic and the IP address:port combo in the splash screen (but somehow the display of the title of the next song along the bottom of the splash screen is unaffected)

Regards
Hartebee5t

3.5mm audio output sound distortion when playing via pikaraoke

I love the software! Very clean and easy to use; but I am running into an issue. I think I've isolated pretty much everything. When I play a video using pikaraoke and have the audio output via the audio port to an external speaker there is a ton of distortion and a whining sound on all the songs. Oddly enough though when I take the same mp4 file and play it directly in VLC Player on the rpi OS (not from within pikaraoke) the audio is perfectly fine (again still coming out of the audio jack to the speaker, NOT via hdmi). Is there some sort of setting that would be distorting audio only via the pikaraoke software?

At first I assumed it was hardware and swapped out power supplies, speakers, different electric outlets, different cables. After all that I finally tried just playing the video from within VLC player and it sounds fine. I'm running on a new raspberry pi 4 (no HAT sound card) and I just installed the OS and pikaraoke today so the codebase is also new. Any thoughts?

Add "admin mode"

Some kind of admin mode would be nice. When not admin, the following features would be disabled:

  • Player Control
  • Queue editing
  • Add 5 random songs
  • Clear all
  • Edit song name
  • Hide all the System Info / Updates / Shutdown features

Run using guest network

Think I'm connected to a guest network as the IP4 address is coming out as 10.x.x.x. Can the program still run or does it have to be in the home network? My phone also has the same 10.x.x.x IP but I can't connect to the GUI. I initially was trying to assign a 192.x.x.x static address but was losing internet connection.

System: Linux Mint 19.3 Xfce

If I missed a disclaimer in the instructions, I apologize in advance.

Error running pip install -r requirements.txt: WARNING: "freetype-config" failed!

Hi, I'm getting some errors installig the pikaraoke.
When I run the command sudo pip install -r requirements.txt I receive this error:

WARNING, No "Setup" File Exists, Running "config.py"
Using UNIX configuration...

sh: 1: freetype-config: not found
sh: 1: freetype-config: not found
sh: 1: freetype-config: not found

Hunting dependencies...
WARNING: "freetype-config" failed!
SDL     : found 1.2.15
FONT    : not found
IMAGE   : not found
MIXER   : not found
PNG     : found
JPEG    : found
SCRAP   : found
PORTMIDI: not found
PORTTIME: not found
FREETYPE: not found
Missing dependencies
----------------------------------------

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Then if I try to run the pikaraoke I receive this:

pygame 1.9.4.post1
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "app.py", line 11, in
import karaoke
File "/home/pi/Music/pikaraoke/karaoke.py", line 12, in
import qrcode
ImportError: No module named qrcode

Can u help me? Thanks

I can't use audio analog or bluetooth

it is not possible, I already did the basic configuration of both analog and bluetooth, I want to project with hdmi but capture the sound in another way

cherrypy

Hi there,

When trying to launch the app, I'm getting the following error. Any thoughts here? Also, does the youtube-dl issue impact the program working completely or just is that for downloading songs in advance or something?

Traceback (most recent call last):
File "app.py", line 9, in
import cherrypy
ImportError: No module named 'cherrypy'

Change QR Code and IP location

We have our TV wall mounted and the top of the TV is near the ceiling making it hard to reach to get the QR code from some of the more vertically challenged friends.

Add a start load option to identify the quadrant to place the QR code.

Song Preview

Hi @vicwomg Im not really familiar with cherrypi. Is it possible that the mp4 files can be access through http?

What I wanted to achieve is to be able play/preview the karaoke songs via http (clients phone) and possibly create a basic trim video function using ffmpeg.

Pitch change possibilities?

Now that VLC is available as the player, pitch change becomes feasible.

I haven't got the Python skills to implement it in code, but I've discovered that the VLC command-line provides for pitch-change using the option sequence
--audio-filter=scaletempo_pitch --pitch-shift=n
where 'n' is the signed number of semitones of transpose to be applied to the audio track. It has a range of -12 to +12 (+/- 1 octave).

VLC does throw some errors when running it from the CLI but it still plays the chosen mp4 with the pitch-change applied.

I have to say it sounds disappointingly 'warbly' but there are some filter config parameters that might provide some adjustment to improve this (I haven't tried to experiment with them yet). These are to be found in the [scaletempo_pitch] section of the file ~/.config/vlc/vlcrc
The parameters provided are Stride Length, Overlap Length, Search Length and Pitch Shift. I notice that in the file Pitch Shift is a float, but at the command line it seems that VLC only accepts certain multiples of 0.1
There's some explanation of these terms here (search for scaletempo)

Cross-platform support using VLC + python3

Thanks to @petemarvin 's update to support VLC we should be able to port pikaraoke over to Linux, OSX, and Windows. While I'm at it, I'd like to make the project python3 compliant, since python 2.7 has reached end-of-life.

tempora requires Python '>3.6' but the running python is 2.7.16

I am using a raspberry pi 4 and am coming accross two stumbling blocks

Once I try to install the python dependancies with [sudo pip install -r requirements.txt] I get the message that
"tempora requires Python '>3.6' but the running python is 2.7.16"
I have checked the version of python and python3 running on my pi using [pyton --version] and i get python 2.7.16 and pyton 3.7.3

Continuing to follow the instructions once I try to run the app, the following error message appears:
Traceback (most recent call last):
File "app.py" , line 11 in
import karaoke
File "/home/pi/Desktop/pikaraoke/karaoke.py", line 12, in
import qrcode
ImportError: No module named qrcode

Thank you very much for any help that you can offer!

and thank you for an awesome project, I cant wait to get it up and running in time for christmas if you can help me with the set up

help with changing to sharednstorage location

i have pikaraoke all set up and working great with the default settings. I would like to save to my shared drive on another PC but im doing something wrong. I have pikaraoke set up in rc.local so it auto starts. My shared drive is \DESKTOP-MKD79SO\Shared Drive\pi\karaoke. I have it setup like this...but its not downloading to the shared drive and im not sure where its going but it is downloading on the pi somewhere. Is this right?

/usr/bin/python /home/pi/pikaraoke/app.py -d "\DESKTOP-MKD79SO\Shared Drive\pi\karaoke" &

exit 0

Allow search for non-"karaoke" results

The search method forces "karaoke" at the end of the search string to return karaoke results. This works most of the time, but may be too limiting, as some karaoke results could show under "lyrics" "instrumental" or "raw". We should allow some way to disable the "karaoke" string and just allow a basic plain text search.

Perhaps a checkbox under the search input "include non-karaoke matches" and a new search mode, like an optional parameter on the search method karaokeOnly=true.

Exceptions thrown on start up if browser window open to /nowplaying

If there is an active browser trying to fetch from /nowplaying (probably from a previous karaoke session) the app will throw exceptions during start up. Best to catch and handle them.

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "app.py", line 66, in nowplaying
    if len(k.queue) >= 1:
NameError: name 'k' is not defined```

pi: stop fiddling with folks' gpu_mem setting?

The pi setup script does a scripted edit to change the gpu_mem:

"You will then probably need to reboot since this changes a boot setting (gpu_mem=128). This is to prevent certain videos from showing visual artifacts (green pixel distortion)?

This was necessary in older pis running omxplayer, but perhaps vlc is better at handling it. Should double check and evaluate whether it can be removed. Don't want to mess with pis in unexpected ways unless it's absolutely necessary. I'm actually pretty sure pi4 doesn't need this at all. So perhaps some board detection would be good too.

VLC fails to output audio to headphone jack and only supports HDMI [RaspberryPi3]

Using VLC via --force-vlc on a Raspberry Pi does not allow audio to output to the headphone jack and only works on the HDMI audio output. I have configured the Raspberry Pi to default to audio output to Headphones (raspi-config) and running VLC from the command line plays the output on the headphone jack and HDMI output. When playing a file from pikaraoke, the output is only to the HDMI output with the following logging info:

[2020-12-22 20:28:40] INFO: Playing video in VLC: Bad To The Bone - George Thorogood _ Karaoke Version _ KaraFun
Command: ['/usr/bin/vlc', '-f', '--play-and-exit', '--extraintf', 'http', '--http-port', '5002', '--http-password', '0LJwDTFuVYv2yssEXiCL7Jaztpy3XaG6', '--no-embedded-video', '--no-keyboard-events', '--no-mouse-events', '--mouse-hide-timeout', '0', '--video-on-top', '--no-video-title', '--mouse-hide-timeout', '0', '/usr/lib/pikaraoke/songs/Bad To The Bone - George Thorogood _ Karaoke Version _ KaraFun---fDjkjA2UnCE.mp4']
VLC media player 3.0.11 Vetinari (revision 3.0.11-0-gdc0c5ced72)
[01658560] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[0166d280] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[0166d280] main interface error: no suitable interface module
[015dcb58] main libvlc error: interface "dbus,none" initialization failed
[0166d280] [http] lua interface: Lua HTTP interface
[0167cb18] main interface error: no suitable interface module
[015dcb58] main libvlc error: interface "globalhotkeys,none" initialization failed
[015dcb58] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
error: XDG_RUNTIME_DIR not set in the environment.

When playing the same file using the same command line parameters, the file plays appropriately on the headphone jack and the logging info producing:

pi@raspberrypi:/usr/lib/pikaraoke/songs $ /usr/bin/vlc -f --play-and-exit --extraintf http --http-port 5002 --http-password 0LJwDTFuVYv2yssEXiCL7Jaztpy3XaG6 --no-embedded-video --no-keyboard-events --no-mouse-events --mouse-hide-timeout 0 --video-on-top --no-video-title --mouse-hide-timeout 0 '/usr/lib/pikaraoke/songs/Bad To The Bone - George Thorogood _ Karaoke Version _ KaraFun---fDjkjA2UnCE.mp4'
VLC media player 3.0.11 Vetinari (revision 3.0.11-0-gdc0c5ced72)
[007023d0] [http] lua interface: Lua HTTP interface
[0070e188] main interface error: no suitable interface module
[0067ab58] main libvlc error: interface "globalhotkeys,none" initialization failed
[007023d0] [http] main interface error: socket bind error: Address already in use
[0067ab58] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[007023d0] [http] main interface error: socket bind error: Address already in use
[007023d0] [http] main interface error: cannot create socket(s) for HTTP host
[007023d0] [http] lua interface error: Error loading script /usr/lib/arm-linux-gnueabihf/vlc/lua/intf/http.luac: lua/intf/http.lua:336: Failed to create HTTP host
[0070e188] skins2 interface error: cannot initialize OSFactory

The difference here being that vlcPulse audio is being pulled in when using pikaraoke and not when using VLC via command line.

pi: change default player to vlc

VLC has enough benefits (key change, x-platform support) that it should be the default player on pi instead of omxplayer.

We can still support Omxplayer for slower devices, and it would also be great to move it into it's own client library like vlcclient.py to get rid of all the gnarly if logic in handling one or the other.

Multiple stack traces when running app.py

Hello - I've successfully installed the app on other OS's and I just tried to do so on windows 10.. I ran into a number of issues but finally got through most of them but now I'm getting some stack traces when running the app. The splash screen does in fact load but I'm unable to go to the IP address (while on the network) and debug logging shows a number of errors. I will say this is a new computer so I don't know if I installed the correct visual studio components; there seem to be a ton of option. I installed the C++ redistributable files from 2010, 2012, 2013, 2015-2019. Attached are the errors I'm receiving.
Screenshot (1)
Screenshot (2)
Screenshot (3)

QR Code problem

Hi,

If your PI has both an IPv4 address and an IPv6 address, the QR code actually puts both addresses instead of picking one. So you cannot use the QR code.

Thanks for the great work!

pi: change default download directory to ~/pikaraoke/songs

In desktop mode, where I suspect the majority of pi users are running this from, sudo is actually not necessary because it has a window server. Sudo is necessary running from a non-desktop CLI because it needs access to the hw screen buffer.

Thus, the only real thing preventing non-sudo operation is that the default download directory is /usr/lib/pikaraoke/songs
If we change this to ~/pikaraoke/songs then it should allow folks to run non-sudo.

Previous users who already have the old dl directory may experience songs "disappearing" after update though. To handle this there should be some detection for this older directory and throw a warning log on launch that they either need to launch with the -d /usr/lib/pikaraoke/songs or move their songs over to ~/pikaraoke/songs

QR Code rendering Hostfile/dns vs DHCP IP

Opened from #65

Running app renders hostfile/dns IP in QR code rather than DHCP IP. Current workaround is to comment out IP information from hostfile

Edit: Specifically, on Lubuntu Linux distro

Allow searching/downloading by YouTube URL

Good suggestion here:
#54 (comment)

If there is an issue searching for a specific track, a user should be able to override the default search by pasting a YouTube URL directly into the search field and download it. This url can be obtained from a browser or the Youtube app.

Considerations:

  • How to reliably detect a YouTube url? (mobile variants, query strings, case sensitivity)
  • How to make this clear in the UI? Minimal verbiage below the search input? Already pretty wordy there. Changing the button text to "download" if a url is detected?

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.