falconchristmas / fpp Goto Github PK
View Code? Open in Web Editor NEWFalcon Player
Home Page: http://FalconChristmas.com
License: Other
Falcon Player
Home Page: http://FalconChristmas.com
License: Other
If the FPP looses power or is rebooted, when it comes back up, it shows the current playlist that should be playing - but does not autostart it
When I try to upload an Enya song Oíche Chiúin [Chorale].ogg the upload hangs. If i change the name and drop the í and the ú the song uploads fine.
After being able to turn on my show from the front yard with the Pi Player I was thinking it would be an awesome enhancement to be able to test the DMX universes and channels similar to the capabilities from the da_E131 program. You would be able to walk around the yard with an iPad or your favorite device and test out your lights using the Pi Player.
Gil
For the non-PI installs, things in the web UI should be disabled such as enabling/disabling NTP, changing timezones/time/etc.
This project is not likely to officially support random linux distributions and anybody trying to run this on a non-pi is likely to be an advanced user that can configure those types of things manually. To me, they're outside the scope of this project and should be filtered out of the web UI unless we detect we're running on a PI.
Notes:
Is detecting "armv6l" in machine type (uname -m ) good enough detection of a pi, or should be do more playing with /proc/cpuinfo or something?
Per user request, an option for shutdown should be added to the playlist generation. Similar to the check-boxes for "first once" and "last once" items, a "shutdown after playlist" should be added to the schedule options or something similar.
Tool tips in the Web UI should be added.
For example, when hovering over "Stop Gracefully" it should let the user know that means it will stop after the completion of the playlist. One could think it ends after the current song.
I'm not sure the best route for fixing this, but when connecting to a network /etc/resolve.conf is populated. If you then boot without proper network access, the file is still populated causing dns to have to wait for timeout making things very slow. The file should be cleared when not given access to a real dns server.
See:
http://falconchristmas.com/forum/index.php/topic,363.0.html
I have submitted correction to Sean.
Per a request on the forums: http://falconchristmas.com/forum/index.php/topic,789.msg6515.html#msg6515
The xlights_network.xml describes xLights' E1.31 output and could be easily imported to FPP's universes setup. We should do this at some point.
From: Steve Gase
It would be nice to have "prioritized" play lists (PL). The idea would be to have overlapping schedules, and when the higher priority PL is started, the lower priority PL is stopped or interrupted... only for the lower priority PL to resume when the higher priority PL is complete.
From: CaptainMurdoch
Not a lot of time left this year for bigger features like this. I have had a similar idea in my head already though, to allow multiple sequences to be playing at the same time. Essentially it's the same as my effects sequence code which allow multiple effects to be playing at the same time, but thinking a bit larger. :)
When attempting to set the UI password, it would fail with this error message:
[Mon Dec 30 08:16:25 2013] [error] [client 192.168.x.x] PHP Warning: file_put_contents(/opt/fpp/www/.htaccess): failed to open stream: Permission denied in /opt/fpp/www/uipassword.php on line 17, referer: http://fpp.private/uipassword.php
One solution is to change the owner/group for the /opt/fpp/www directory from root:root to pi:pi, this will allow the "pi" user write to the /opt/fpp/www directory
It'd be nice to return values from a script that become the output of an effect. It's possible this may overlap with the request for background sequences.
The initial thought for this was to grab light color(s) from a feed such as cheerlights and use that to drive pixels. In lieu of supporting every possibility, thought it might be easier to allow for scripts to return channel and intensity information and let people apply their own logic.
A settings page should be made that controls things like whether a user has Pixelnet, use for USB->serial devices (RDS, Renard/DMX, ???). Depending on these features, parts of the UI should be enabled/disabled as needed.
There should be some system calls or libraries that can give us IP addresses of interfaces more reliably, rather than the hack-ish method we're currently using to parse output of a bunch of other executables.
There's already an AUS user saying things aren't working as expected. Investigation into linux's locale settings's effect on text strings, time formats, etc. are needed.
Strings and numbers do not print correctly to log file.
There has been a forum request for background sequences:
Varies errors when configuring and cloning E131 universes. this bug was reported by Zach.
One of the issues that Raspberry Pi has is the risk of power outages and corruption of the file system.
What if the Pi switched automatically to read-only file systems after changes to configuration are applied... it might be necessary to move all configuration settings and content to a separate file system... when the changes are made the show is stopped/suspended -- the file system is mounted read/write -- changes applied -- the file system is mounted read/only -- the show is resumed.
The OS and the system would be on a file system consistently mounted read-only.
Logs and diagnostic info could be mounted on a file system that read/write all the time -- and regularly backed up to yet another file system. When the system boots it could reformat the log space -- just in case it ever is left in a bad state due to loss of power.
I'm sure there are other solutions, but I supply one possible solution to illustrate the options of keeping the file systems in robust condition even if power is lost. (the risk of power loss during a config change might be considered acceptable...)
Some people might not use an RTC nor have their player connected to the internet and will need a way to set the time.
This can be added to the forthcoming settings page.
There are already some pieces in place for this, but we should make an effort to become more platform independent as more platforms are requested, and supported.
Things off the top of my head:
• Build on the device after a checkout (instead of checking a Pi binary into the repo)
• Config "profiles" - maybe some sort of default settings files depending on hardware
• Turn some features into more "API" based things that can be loaded at runtime instead of compile time?!? (things like ogg vs. mp3, wiring Pi for SPI vs. some other SPI library vs. nothing)
OK, lets just say that it didn't until I closed the browser, reopened it and refreshed it.
It was actually displaced off to the right about 100 pixels or so in the black part of the screen.
Now it is there.
Internet Explorer 10 has it.
and it does startup an Everyday sequence that hasn't expired.
I'll check Firefox and my phone's browser and add that info
It appears the image and code aren't in sync. Logrotate won't work and we should potentially rev the "config" version with a fix.
/etc/logrotate.d/* configuration files are written for each individual log file it seems. I didn't check all of them, but at the very least the fppdlog is incorrect.
It's configured to rotate /home/pi/media/fppdLog.txt which is not the default log file anymore. The correct default filename is /home/pi/media/logs/fppd.log ever since 76470d6 on November 6th. It seems Chris/Tony weren't quite in sync with their updates for logrotate since with the current configuration, the main fppd log will never get rotated, potentially filling people's USB sticks.
Perhaps the config files should be re-written to simply rotate all /home/pi/media/logs/*.log files for sanity, and the limit could use to be lowered to maybe 50Mb?
My log looks to grow about 8Mb per night without accessing the status page but a couple times a night. If I were to access it even more, I'd add a line per second, further growing the file. If people are using smaller USB sticks, they might fill up without them knowing it, and logs will fail to write. I'm not sure what fppd will do when it fails to write it's log...? Users will also likely be unable to change settings at this point as well.
Upload works, population of file entries work, however once added to a playlist, the playlist file is cut off at the first apostrophe. Something isn't escaped properly.
The rest of things appear to work properly in the UI.
When the playlist runs, it fails to find the filename (since it only has a partial file) and hangs, never playing the next song either. A sub-task of this should be to ensure that if a file is missing, it should be skipped and a warning/error is displayed somehow.
Add ability to isolate E1.31 traffic to one interface.
This should be user-configurable such that you can use WIFI to connect the PI to your main network, and the wired ethernet to connect to your show network and have the E1.31 data only on wired, or any other similar topology. Some people might use a second USB wired dongle to isolate "show" networks and "home" networks, so this should be made generic.
I have a playlist going right now with 8 entries.
a 90 second sequence with music
a 5 sec. pause
a 20 sec Tune To graphic
a 5 sec pause
A 120 second sequence with music
a 5 sec pause
a 20 sec Tune To graphic
a 5 sec pause
Getting them into that order was like play Whack-a-Mole. Drag one item and 3 would move. I could have saved time by deleting them all and recreating all 8 items.
I would love it to be more stable.
This was with the older 0.1.0 noob and with the new 0.2.0 noob (just loaded)
When only wlan0 is available, the loopback interface gets selected for E1.31 output.
Changing the popen call under E131.c GetLocalWiredIPaddress to use the following command takes care of this particular case.
/sbin/ifconfig|grep -v 127.0.0.1|grep inet|head -1|sed 's/:/ /'|awk '{print $3}'
Since it's theoretically possible to have other loopback devices, getifaddrs or similar, would ideally be used to select the first non-loopback device by default, and a config entry allowed to override this.
FWIW, I don't see a need to present this in the web interface as it's somewhat detailed, but would be nice to have a config file option.
Can submit a pull request and commit this if you prefer.
Very large fseq file (9 minute, 32K channels) gave me a 373 mb file.
The normal webpage based upload would not process it.
I did get it there using a binary FTP transfer and it could be added to a playlist.
I realize that is an extreme size. but
Clicking on the wiki should spawn a new windows so we can get back to where we were without having to reaccess the fpp or keep going back and forth between the wiki and the fpp main windows.
This would be an enancment, but I do not know how to tag it as such.
It appears that the pixelnet output is just the WS2801 protocol with a few (6?) bytes prepended. I'd like to request an option to output that without the header for direct connected WS2801 pixels. I'm willing to do the code for this as well.
Using FPD version FPD_Alpha_0_0_2
and FPP version v0.2.0-11-ga1a173d
And DLA Active Smart Hub (pickit3 checksum 8196)
and DLA SSCv4 (pickit3 checksum D8D3)
I was unable to use the FPD to drive pixels on the SSCv4 controllers attached to the hub.
Pixelnet passed through the hub to the Falcon16 downstream worked ok.
I did see Smart hubs downstream from the hub working -- but they had SSCv3 with Falcon FW.
I also had problems getting the DMX port from this hub to light any pixels.
I used a EtD with E1.31 traffic and the same hub and SSCv4 controllers worked.
I'd love to see the option to alter volume in the playlist, kind of like there is an option to insert a pause now. I live on a busy street and with the vehicle noise at rush hour my speakers need to be cranked. By 9 pm I need them down to about 30%. When I was running a show from my computer I setup a script to adjust the volume at different times. It would be great to be able to do that with FPP. BTW, a bigger control would be nice, too, for better control (or maybe once you click the slider using arrows would allow fine adjustments up and down?).
Add support for the relatively popular (at least at DIYC) Vast USB FM transmitter.
Supposedly it is recognized as a standard USB-Audio device. RDS control may not be as straight forward, but I believe there is some code floating around for linux under a project name something like "fmstick".
I had a USB stick fail, so I bought backups/spares. In the process of bringing up these backups on another Pi so the backups are ready I encountered a problem.
In the v0.2.0 image, the apache error log is configured to go to /home/pi/media/logs/ and apache is attempted to start.
On the very first boot, it fails to start apache because /home/pi/media is empty, therefore there is no log directory. You must wait for FPPD to be running to even start apache manually after the fact, or manullya create a logs directory in /home/pi/media.
The fix is to create the logs directory in the startup script immediately after the flash media is found/mounted.
Currently we don't support setting wifi ESSID and password. This support should be added to the network page.
I think I had some beginnings to this based on the AWK scripts Tony had(has?) in the repo.
I'm not getting any usable volume from the PPD unless I move the slider to Full volume. It seems to have very "fine" control from about 50% up to 100% but nothing below 50%
I have experienced a lockup using the new ogg123 code. It only seems to happen on the PI using the same files.
CaptainMurdoch had the same issue last night and he noted that this may have to do with the fseq file not being configured the same length as the music. I converted my MP3 to WAV, then to OGG using open source linux utilities and it has grown in length from 2:28.0 to 2:28.9. The file continues to play to completion, but FPPD seems to lockup before that and no socket commands work anymore.
strace tells me it's stuck in futex, gdb doesn't give anything useful as the futex is locked in some calls we make that find their way to libc.so
Two suggested enhancements related to volume.
First - Can a decimal value be displayed for the volume level? If I find the "perfect" level for my FM transmitter, I'd like to be able to put it back to that spot.
Second - Because the apparent volume of an MP3 file is variable because of enhancements (compression/expansion) by the producer, they just don't sound like the same volume even when the Audacity waveform looks similar. Can we have (in the Source Files/Music Files) a +/- adjuster per MP3?
I have a Playlist that is scheduled to run from at 5am to 6am each morning. It has been running each morning when I get up to feed the dogs. For 2 days it did. Today (Tuesday), it was not running. I did a "stop" and "start" of FPPD and it started correctly. The display looked normal except for the fact that it wasn't playing.
I hadn't opened the Web interface to FPPD in the last 24 hours from any location, so I don't have any smoking gun.
Will check it again tomorrow.
Merge pixelnetDMX file, E1.31 universes file, bytes received file, and schedule files into main settings file so common handlers, file utilities, etc. can be taken advantage of, not to mention one concise place for all configuration to take place.
Most recent push (10/31/13 morning), Master Version: f97f00b,
In Chrome, the menu bar only shows the Wiki entry.
It goes sliding across from right to left, leaving only the wiki entry
IE10 looks fine.
Create a per-sequence audio offset in case the audio and sequence data appear off by a small bit. This would save the user from having to insert/delete silence from the beginning of their songs and re-uploading the modified songs to the Pi.
Was playing with accessing the FPP over wireless via iPad and discovered that the "slider" bar for volume can't be adjusted via a touch screen because the device interprets it as a "pan". May want to have a mobile format for web UI that addresses that or add advancement buttons to either increase or decrease the volume by clicking or tapping in the case of tablet, phone, or iPod.
This was discussed last month on the forums (http://falconchristmas.com/forum/index.php?topic=739.0), but I figured I would put it on here for posterity's sake:
Be able to grab a buffer like the current time, date, child's name, etc. to put into the display. Came up in a conversation about how to do a countdown matrix real-time without having to pre-compute the times.
In my setup, I'm outputting to an FPD for all my display.
Would it be possible to disable the Ethernet output (Unicast or Multicast) to reduce the CPU usage a bit?
Also, when in Bridge Mode (which I use sometimes for testing) would a checkbox to enable/disable the live display of bytes transferred be possible? Once you see that data is incoming, you really don't need to monitor it. That amount of live updating has to have some impact on CPU usage.
It appears that pixelnet data gets output even when there are no enabled pixelnet or DMX outputs enabled. Looks like it starts at channel 1 always. I noticed this when I happened to have a 2801 string plugged in to the RPi, just wasn't expecting it to do anything.
When files are missing for a playlist entry report to user somehow and go to next entry in playlist
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.