CTB seems to split up the followed tab between online and offline
models. This change adds radiobuttons at the bottom of the followed tab
to switch between online and offline models.
With the refactoring of the model / chaturbate class, the online
property of JavaFxModel was not updated anymore, so that the checkbox
in the table would never update.
Chaturbate only contains Model related methods. So it makes sense to
encapsulate that functionality in Model.
Use guava LoadingCache in Chaturbate class to cache resolution and
StreamInfo requests. The entries expire after 5 minutes.
Add possibility to filter for public rooms only.
If the model is not online and the resolution tag is shown, instead of
a zero, display the state (away, offline, private) and change the tag
color to red.
Clicking while holding shift now selects a ThumbCell and allows the
multiple ThumbCells at one. The actions in the context menu are applied
to all selected models. "copy url" is disabled, if multiple models are
selected, because that doesn't make sense.
1. Catch exceptions thrown by ContinuityFixer and skip to the next
packet.
2. Restrict the queue size to 10 segments. Otherwise, if the download
is faster than the stream is written to hard disk, the queue builds
up with segments until the heap exceeds its maximum size
Integrate a modified version of mpegts-streamer (https://github.com/igilham/mpegts-streamer)
Add BlockingMultiMTSSource to mpegts-streamer, which is used to add new InputStreamMTSSources
online for each segment.
Remove all settings and methods, which are needed for segment merging.
On startup check if the application is running on the OpenJDK JVM. If that is the case,
check that JavaFX is available (because OpenJDK comes without JavaFX, it has to be installed
separately). If it is not available, log an error what to do and exit.
Add combobox on the bottom of ThumbOverviewTab.
Add integer thumbWidth to the Settings to save and restore the selected
value between sessions. Set the selected value for all thumbnails on
all tabs.
Add the possibility to switch the stream resolution for a model, which
already is recorded by the recorder. This makes it more convenient to
switch the resolution, if you already have a bunch of models in the
recorder list.
When the manual selection of stream resolution is enabled, the index of
the selected stream is saved in the model object. Don't overwrite this
value, if the model objects get updated, so that the value is persistent
even between sessions.