- A section where user can setup port and mount point for harbor input in
stream setting page(front-end and back-end)
- updated the part where it rewrites the liquidsoap.cfg file
- Updated jplayer so it now shows a list view under the player which shows details of the track being played, and for playlists the entire playlist list.
- Also enabled playing playlists from the library.
- The content distribution header filename attribute, wasn't properly quoted for inline content. This causes a bug for files with comma names.
- changed the play button in library back to the speaker icon
- removed some dead code preview_player.js
- removed the file name attribute, will need better approch to presenting the user with audio information.
- Pypo fech works as msg listner for recroder now.
- recorder is part of pypo and all it does is waiting for msg from pypo
fetch and spwan a show recorder thread.
- added new parameter logger to api client. This way apiclient will log
into specific log file instead of grabbing current log file.
- show recoder is removed from all check system/status page
- Updated the StoreFile logic so it won't die while trying to copy a file, and instead pass error messages to the controller which can decide if it wants to die, which I've set ApiController and PluploadController todo on receipt of error code.
-I've updated the messages used to notify the user to be more explicit.
-I've moved the constant used to track widget api versioning to /application/configs/constants.php
- I updated the ApiController.php file to add a widgetsVersion value used in the response to widgets
- I updated the widgets jquery.showinfo.js file to check the version and report back to the user.
- using mtab(previous and current) files to figure out directories to be
added or removed
- adding index to cc_files
- see the tickets and media monitor design page for more info
- Files are marked deleted(file_exists to false) on deletion.
- Dirs are marked removed(removed flag to true) on removal of watched
folder in a usual way. If dir is unmounted, without being removed from
watched list first, it will be marked as not exists(exist flag to false)
- Manage Media Folders will show if dirs exist or not( mounted or not)
- Playlist builder will show if files exists or not
changed and click save
- done
- liquidsoap_update_error and liquidsoap_update_connection functions are
combined into one function, liquidsoap_update_status, in various place
- created various telnet commands in liquidsoap( connection check for each
stream, connection status for all streams)
- In liquidsoap, shoutcast stream doesn't use default id. It is more
informative by using id with "shoutcast_stream_#{stream_number}
- it compares boot time of liquidsoap and the time user clicks on "Save"
on stream setting page. The status only gets updated if the
"boot_time" > "user update time"
- as soon as a user click on save, status is set to "wating"
- since there is no timing issue, quering interval is reduced to 1 sec
For a previous ticket, I changed the code so that both "Today's Program" widget
and "Now Playing" widget both use the liveInfoAction, but forgot that for "Now Playing" widget, it retrieves
the shows within next 48 hours instead of within end of day today...
Fixed by passing GET parameters to liveInfoAction, specify whether we want to retrieve shows within an
interval or end of day. Also added a GET parameter for specifying the number of shows to display.
- mktemp is used to generate temp name within /tmp dir
- it generate temp file when the file gets uploade to /tmp and then copy to
organize folder as original file name
It's not showing anything because I thought it's not suppose to display the currently playing show.
Fixed by retrieving the currently playing show along with next shows, and display them.
todayInfoAction is no longer needed since liveInfoAction does the same thing.
- Converting times to UTC timezone in ApiController before sending them to model functions
- Added utility functions in DateHelper.php
- GetShowsByDayOfWeek has been removed due to bugs caused by using local timezone
based variable like $day, which represents day of the week in local time, in db query,
which has times saved in UTC timezone. Converting stuff like day of the week from local
to UTC is messy. GetNextShows(...) can do the job so WeekInfoAction now uses it instead
Not only were frontend widgets showing UTC time,
the SQL query was also comparing UTC timestamp with local timestamps,
causing widgets to display shows in the wrong day, etc.
Another problem was that "On air today" widget was simply calling
GetNextShows which returns shows within next 48 hours.
Fixed by:
1. Under models/Show.php:
In the GetCurrentShow/GetNextShows/GetShowsByDayOfWeek functions,
added code to convert UTC timestamp to local timestamp or vice versa,
depending on which one is more suitable, in SQL queries, thus
removing inconsistency in timezones. Also, before returning query result,
added code to convert result to local timezone.
In GetNextShows, added an optional parameter endTime to limit the interval
of shows to get. This is useful for the "On air today" widget.
2. Under models/DateHelper.php:
Added a few timezone functions to help converting timezones easier in Show.php.
3. Under controller/ApiController.php:
Added todayInfoAction which is to be used by "On Air Today" widget.
Added system preference in Preference page for user to select the start day of a week
(defaults to Sunday).
Calendar will utilize this information and update the calendar UI accordingly.