0xboobface
ca8e0a269e
Remove caches from Chaturbate code
...
- Remove caches from the Chaturbate class
- Move all model related code from Chaturbate to ChaturbateModel
- Use a User-Agent string in all HTTP requests
2019-05-11 15:10:42 +02:00
0xboobface
35c8378d88
Add mechanism to restrict the number of requests
...
Flirt4Free is finnicky with the amount of requests you can do. So we use
a mechanism to only allow 2 requests at a time and a cooldown of 500 ms
between requests.
2019-05-11 15:03:15 +02:00
0xboobface
6c9bff56fc
Revert "Remove online check for currently running recordings"
...
This reverts commit e4ab0873bc
.
2019-05-11 13:31:09 +02:00
0xboobface
77fa7eba40
Don't start recordings, if the recorder has been shut down
2019-04-21 16:11:03 +02:00
0xboobface
ee3ae3ef43
Add logging for unexpected errors
2019-04-21 15:05:13 +02:00
0xboobface
1b129ebd41
Add suffix parameter to getFileForRecording
...
This allows different download types to support different file types
2019-04-21 12:42:48 +02:00
0xboobface
0b7eeca5f7
Fix: Post-Processing for split recordings
2019-04-20 22:01:53 +02:00
0xboobface
c1bbce7bcd
Move UnknownModel to its own class
2019-04-20 21:49:23 +02:00
0xboobface
33c4468d1b
Merge branch 'master' into dev
2019-04-20 16:06:17 +02:00
0xboobface
f4b7141a63
Increase version to 1.21.1
2019-04-20 16:03:04 +02:00
0xboobface
c17fe9c173
Fix: Check for empty playlists used the wrong tag
...
Use #EXTINF to check, if a playlist has entries instead of #EXT-X-STREAM-INF, which was accidentally used.
This tag only occurs in master playlists.
2019-04-20 15:54:54 +02:00
0xboobface
133afc2475
Merge branch pprefactor
2019-04-20 15:24:43 +02:00
0xboobface
85411fea2e
Handle empty playlists more gracefully
...
Check, if a playlist is empty, before parsing it with open-m3u8. If it
is empty, return an empty SegmentPlaylist instead of throwing a
ParseException
2019-04-20 14:39:44 +02:00
0xboobface
b854455f8a
Increase version to 1.21.0
2019-04-20 14:27:01 +02:00
0xboobface
f170ce2b07
Improve logging
2019-04-20 14:26:31 +02:00
0xboobface
3cd341d88e
Set affiliate link
2019-04-20 12:50:27 +02:00
0xboobface
6e6597d372
Move post-processing from LocalRecorder to Download
2019-04-20 11:49:41 +02:00
0xboobface
4bc92a9dda
Remove debug output
2019-04-18 20:21:09 +02:00
0xboobface
2d048369a1
Fix JSON exception in isOnline
2019-04-17 14:37:47 +02:00
0xboobface
204eb99b29
Implement follow/unfollow for Flirt4Free
2019-04-16 19:51:57 +02:00
0xboobface
8f5c7ac9c4
Implement login and token balance
2019-04-15 19:17:41 +02:00
0xboobface
50c38d16a7
Implement login for Flirt4Free
2019-04-15 19:16:04 +02:00
0xboobface
8910dd8c4a
Sort fields in Settings by name
2019-04-15 18:19:34 +02:00
0xboobface
1700eeecf5
Implement search for Flirt4Free
2019-04-15 17:42:20 +02:00
0xboobface
94460d1e94
Implement "add by name" and "add by url"
2019-04-15 16:39:09 +02:00
0xboobface
f1d11c07b5
Merge branch 'dev' into flirt4free
2019-04-15 16:02:35 +02:00
0xboobface
8eb5f3f33d
Set version to 1.20.0
2019-04-14 20:38:32 +02:00
0xboobface
15bfe0f44f
Add basic functionality for Flirt4Free
2019-04-12 21:57:53 +02:00
0xboobface
e4ab0873bc
Remove online check for currently running recordings
...
For models, which are currently recorded, a online check is not
necessary. INstead we can assume, that the model is online and continue
with the next one
2019-04-12 21:57:32 +02:00
0xboobface
ca2ceb7f43
Add support for HLS AES encryption
2019-04-12 19:33:18 +02:00
0xboobface
6c6fadd742
Set isOnline to false, of the model is not online
2019-04-10 14:36:24 +02:00
0xboobface
601669fdd6
Added menu entry to ignore models
...
Ignored models are not displayed in the thumb overview tab. This is
useful, if you don't like a model and want to get rid of it for good
2019-04-07 18:43:06 +02:00
0xboobface
458e05d2b4
Add notes column to recorded models tab
2019-04-07 18:11:27 +02:00
0xboobface
2a74761c54
Make sure the playlist is not empty when checking the online state
2019-04-07 12:03:00 +02:00
0xboobface
38d65c4b7d
Remove test class
2019-04-04 19:11:03 +02:00
0xboobface
73221ce881
Set version to 1.19.1
2019-04-04 19:00:49 +02:00
0xboobface
3e4ad5272b
Replace deprecated calls
2019-04-04 18:58:45 +02:00
0xboobface
7ffa41944c
Fix online check for BongaCams
...
The online check now consists of three steps: 1. check, if the model's
state is online on its profile page. 2. check, if the room status is
public with getRoomData 3. check, if the stream playlist is available
2019-04-04 18:07:19 +02:00
0xboobface
335233f473
Replace EvictingQueue with own implementation
...
For some unknown reason the EvictingQueue didn't evict or evicted only
partially. Nevertheless it caused an OutOfMemoryError.
2019-03-21 14:51:52 +01:00
0xboobface
1dd432dbd9
Add base URL setting for Bongacams
2019-03-05 17:01:42 +01:00
0xboobface
a249be01c7
Fix: Adjust Streamate search code to new JSON format
...
Streamate has changed the JSON response for the search. This change
adjusts our code to handle that new format.
2019-02-22 13:42:44 +01:00
0xboobface
37fc341767
Remove debug log
2019-02-20 13:47:34 +01:00
0xboobface
6dbdac6df5
Fix json exception in online check for BongaCams
2019-02-20 13:44:56 +01:00
0xboobface
14b2911651
Increase version to 1.19.0
2019-02-19 18:57:40 +01:00
0xboobface
11f0dfde00
Added comment for PP improvements
2019-02-19 18:53:33 +01:00
0xboobface
e1eeb830da
Add getSanitizedName to Model
...
This method provides returns a name, which is safe to use with
filesystem I/O. Fc2Model returns the model ID for this.
2019-02-19 15:28:52 +01:00
0xboobface
75a625bbe0
Improve deleteIfTooShort method
...
If a directory does not exist, it returns true. If the directory is
empty, it deletes the directory and empty parent directories and returns
true.
2019-02-13 22:07:34 +01:00
0xboobface
27dac97384
Improve handling of postprocessing
2019-02-13 12:24:04 +01:00
0xboobface
351560079b
Add concurrent recordings setting to settings tab
2019-02-05 15:25:56 +01:00
0xboobface
097fb251cb
Add getCurrentlyRecording to recorder
...
This method returns the models, which are currently recorded. It is
implemented as default method, so that LocalRecorder and RemoteRecorder
don't have to implement the same logic.
2019-02-05 15:07:56 +01:00
0xboobface
76f4583ebc
Rename Recorder.isRecording to Recorder.isTracked
2019-02-05 14:45:44 +01:00
0xboobface
198a9c6893
Rename Recorder.getModelsRecording to Recorder.getModels
2019-02-05 14:44:21 +01:00
0xboobface
2dd8100a97
Add setting to limit the number of concurrent active recordings
2019-02-05 14:41:31 +01:00
0xboobface
39679f3162
Improve exception handling and logging for the playlist generation
2019-02-05 13:38:09 +01:00
0xboobface
80e577db7c
Add menu entry to regenerate the playlist
2019-01-31 15:07:42 +01:00
0xboobface
6e58dd6be5
Implement follow/unfollow for BongaCams
2019-01-29 16:28:07 +01:00
0xboobface
4f541c0570
Increased version to 1.18.0
2019-01-29 14:25:54 +01:00
0xboobface
e7feaad11c
Merge branch 'dev' into fc2
2019-01-29 13:05:43 +01:00
0xboobface
2fe6ec0e8f
Fix #156
...
Make sure, that the tray icon is created only once. Also move the
notification methods from OS to DesktopIntegration.
2019-01-28 17:26:53 +01:00
0xboobface
9f13a54eb6
Remove misleading log message
2019-01-28 16:20:07 +01:00
0xboobface
8e2abd2f11
Implement createModelFromUrl for FC2Live
2019-01-28 14:44:45 +01:00
0xboobface
626d13f87a
Implement createModelFromUrl
2019-01-28 13:32:42 +01:00
0xboobface
df38ed3027
Sanitize name before creeating a model object
...
Names can contain '/' on FC2Live, which messes with the directory
structure of recordings
2019-01-27 15:18:19 +01:00
0xboobface
ba0c456f19
Reduce log level for FC2Live websocket messages to TRACE
2019-01-27 15:17:30 +01:00
0xboobface
76c5c2e6c6
Remove log message
2019-01-27 14:10:45 +01:00
0xboobface
70a9d65e48
Fix login for FC2Live
...
FC2Live sends cookies with value "deleted" to invalidate previously set values. In the same request
they send new values, too. That confused OkHttp. We now use a custom cookie jar for FC2Live, which
ignores cookies with the value "deleted"
2019-01-27 14:05:45 +01:00
0xboobface
0f51be96c0
Implement FC2Live downloads for the server
2019-01-24 20:24:09 +01:00
0xboobface
16752b892c
Merge branch 'dev' into fc2
...
# Conflicts:
# common/src/main/java/ctbrec/sites/jasmin/LiveJasminHttpClient.java
2019-01-24 19:16:52 +01:00
0xboobface
a91819c2ca
Extend the recording name to include seconds and milliseconds
...
This is necessary, because there are models, who stream on different
sites with the same name as mentioned in #141 . In that case it can
happen that a recording for each site would be started within the same
minute and one recording would overwrite the other.
2019-01-24 19:00:02 +01:00
0xboobface
2c67b0b75c
Merge branch 'jasmin' into dev
2019-01-24 15:52:38 +01:00
0xboobface
aa093c0ec1
Delete all LiveJasmin cookies, if we are guests
2019-01-24 15:47:26 +01:00
0xboobface
0417fd6bfb
Remove guest session cookies on start for LiveJasmin
2019-01-24 15:41:47 +01:00
0xboobface
beeaca4beb
Implement login and follow/unfollow
2019-01-24 15:24:05 +01:00
0xboobface
6bb6637683
Remove guest session cookies on start for LiveJasmin
2019-01-23 18:27:34 +01:00
0xboobface
16fdee2a2c
Merge branch 'dev' into fc2
...
# Conflicts:
# client/src/main/java/ctbrec/ui/ExternalBrowser.java
2019-01-23 17:56:20 +01:00
0xboobface
e8572434a9
Set version to 1.17.1
2019-01-23 17:41:03 +01:00
0xboobface
44bc5d02aa
Add setting to change the base URL for LiveJasmin
...
This setting is for users, which are blocked for the main domain, like
users behind the great chinese wall.
2019-01-23 16:25:02 +01:00
0xboobface
9bfd15b35e
Use a different way to retrieve the master playlist
...
@M1h43ly posted URLs in #153 , which work without being logged in and
even seem to support HD streams much better.
2019-01-23 16:22:36 +01:00
0xboobface
c8ffdbe616
Send heartbeat every now and again
...
The heartbeat has to sent every now and again to keep the stream going.
Otherwise you will get a 403 after a few minutes when trying to access
the playlist.
2019-01-23 14:14:14 +01:00
0xboobface
19afa9ce79
Remove Fc2WebSocketClient
...
This is now handled in Fc2Model
2019-01-23 14:12:01 +01:00
0xboobface
64c82748dc
Count the websocket uses wth AtomicInteger
2019-01-22 22:42:46 +01:00
0xboobface
fc6aeff94a
Implemt special player handling for fc2live
2019-01-21 17:58:59 +01:00
0xboobface
55fc6729f8
Merge branch 'dev' into fc2
...
# Conflicts:
# client/src/main/java/ctbrec/ui/CamrecApplication.java
# client/src/main/java/ctbrec/ui/SiteUiFactory.java
2019-01-20 13:51:04 +01:00
0xboobface
43ef2bdf67
Add setting to disable playlist generation on the server
...
Implementing #142 .
This has feature has the disadvantage, that the recording is always detected as still
recording, because the finished state is assumed by the existence of the playlist file.
2019-01-20 13:35:44 +01:00
0xboobface
11f2a3ef8d
Increase version to 1.17.0
2019-01-19 16:06:50 +01:00
0xboobface
ce839ee222
Implemented tipping for LiveJasmin
...
Add new class, which opens a chat websocket (relay server) and sends a tip message
2019-01-18 18:57:16 +01:00
0xboobface
86f086eb20
Create specialized HLS downloads for server and client
2019-01-18 16:32:47 +01:00
0xboobface
df47f4ba91
Add specialized HLS server download for LiveJasmin
...
The server-side HLS download has to refresh the master playlist URL like
the merged HLS donwload
2019-01-18 16:31:32 +01:00
0xboobface
3e4483aabd
Print out master playlist URL for LiveJasmin
2019-01-17 10:53:37 +01:00
0xboobface
dd2b8041d7
Add some text to explain, that LiveJasmin is not fully functional
2019-01-15 17:10:56 +01:00
0xboobface
ffcdb84714
Disable tipping for the time being
2019-01-15 17:10:30 +01:00
0xboobface
07e0eb005b
Create recordings dir, if it does not exist in getRecordingsFileStore
2019-01-11 15:35:01 +01:00
0xboobface
f24959b76e
Switch token data type to double
...
LiveJasmin and maybe other sites use a more currency like token system
2019-01-10 14:22:26 +01:00
0xboobface
bf6b715642
Login every 30 min to LiveJasmin so that the session does not expire
2019-01-09 20:35:31 +01:00
0xboobface
196b82dfa3
Consider empty recordings as too short
2019-01-09 20:34:52 +01:00
0xboobface
45df31eb15
Properly end websocket download
...
End the websocket download if a model changes state from online. Also
properly close both sockets and set isAlive to false, if the download is
closed or fails
2019-01-09 20:34:25 +01:00
0xboobface
4516b8d787
Fix parsing of model name for recordings
2019-01-09 15:11:18 +01:00
0xboobface
dc946e407f
Merge branch 'dev' into jasmin
2019-01-08 14:33:16 +01:00
0xboobface
a6709bd6db
Introduce external browser for logins
...
Since the JavaFX integrated browser does not work reliably for recaptcha and in general does not behave like standard browsers, I now use an external browser for the logins. The dependency to javafx-web has been removed.
The external browser is based on electron, which uses chromium as internal browser. The implementation can be found at https://github.com/0xboobface/ctbrec-minimal-browser
The browser is a minimal browser, which only shows the web page content without any other controls. It is launched by ctbrec in a new process and remote controlled over a socket connection. I first tried to control it via
stdin/stdout, but it turns out, that stdin is not supported by electron on windows.
2019-01-08 14:26:22 +01:00
0xboobface
3ab4ef785b
Remove liveJasminSession
2018-12-25 18:05:00 +01:00
0xboobface
7483c8505a
Merge branch 'dev' into fc2
2018-12-23 13:58:50 +01:00
0xboobface
154a78660f
Add comment with URL for token balance
2018-12-23 13:57:44 +01:00
0xboobface
e66b75848f
Add download for the chunked http mp4 stream
2018-12-23 13:57:25 +01:00
0xboobface
b8d9f4bc19
Implement search for livejasmin
2018-12-22 22:33:01 +01:00
0xboobface
c364250440
Add follow / unfollow for livejasmin
2018-12-22 20:53:41 +01:00
0xboobface
2425a9dc60
Add websocket download
...
This is the first version with working downloads for SD and HD. These
dowloads only work, if you are logged in. So at the moment you have to set the
session ID in the settings to make this work. The session ID can be copied
from a valid session in a browser.
2018-12-22 19:44:45 +01:00
0xboobface
db5b6bdf5b
Add a setting for the thumbnail overview update interval
...
Implements #123
2018-12-19 13:37:31 +01:00
0xboobface
4f3fd8a677
Add classes for LiveJasmin
2018-12-19 12:57:44 +01:00
0xboobface
2f09b1d517
Add own download class to manage the websocket connection
2018-12-18 13:18:49 +01:00
0xboobface
44b8deb27d
Map state connected to AWAY
2018-12-18 12:39:26 +01:00
0xboobface
0c35f4c219
Merge branch 'dev' into fc2
2018-12-17 23:01:21 +01:00
0xboobface
32807a2fde
Let models create their download
...
Add createDownload to Model. This method is called by the recorder to create
and then start a download. It is a method of Model so that each site and
each download can create a specialized download.
2018-12-17 22:06:13 +01:00
0xboobface
ad71f0cf11
Make sure to not download segments multiple times
...
For some reason streamate playlists can go back in time. This change
makes sure, that we don't download segments multiple times as a
consequence of the time travelling ;)
2018-12-17 19:04:57 +01:00
0xboobface
6dd7de9762
Fix: BongaCams search fails with JSON exceptions
2018-12-17 18:10:55 +01:00
0xboobface
2a1dc77a89
Increase version number to 1.16.0
2018-12-17 17:53:53 +01:00
0xboobface
b473782b92
Don't list recordings, which currently get deleted
2018-12-17 17:38:55 +01:00
0xboobface
eedb237923
Make sure, that the model ID is set
2018-12-17 17:22:21 +01:00
0xboobface
8a8327a2a5
If loading site specific fails, print out the model name
2018-12-17 17:13:54 +01:00
0xboobface
9958e04ef8
Make sure, that the model ID is set
...
When a Streamate model is added by URL, make sure, that the ID is
loaded, so that saving and loading works properly, since the ID is saved
as site specific data.
2018-12-17 17:13:15 +01:00
0xboobface
e362980028
Make live previews experimental
...
Add a setting to toggle live previews. When switched off, the thumbnails
won't show the trigger and the recording table won't show the column.
I did this, because the MediaPlayer sometimes bugs out. It then opens a
lot of connections and further tries to open a stream end in an
exception in the playlist parser.
2018-12-17 17:11:45 +01:00
0xboobface
a0a083aaf6
Merge branch 'dev' into fc2
...
# Conflicts:
# common/src/main/java/ctbrec/io/HttpClient.java
2018-12-17 13:05:11 +01:00
0xboobface
d1cf6a681b
Remove outdated comment
2018-12-16 20:31:09 +01:00
0xboobface
1e47432714
Add origin stream source only, if mp4-ws sources are available
2018-12-16 17:21:11 +01:00
0xboobface
f75687752c
Add config setting for stream previews in thumbnails
...
This setting allows to switch stream previews of in the thumbnail
views. The little play circle will not show up.
2018-12-16 17:19:57 +01:00
0xboobface
ebb5310d26
Wait for the download to terminate before starting PP
...
Sometimes the PP was started before the last segments were downloaded.
This could cause unexpected effects. E.g. the playlist generator would
fail, because the number of segments chained during playlist generation.
2018-12-16 16:14:53 +01:00
0xboobface
e621e49e00
Wait for segment download thread pool to finish
...
... when the download terminates
2018-12-16 02:38:21 +01:00
0xboobface
b2d1d41abc
Remove ordering by sequence
...
This was used for Chaturbate, because the filename format was known.
With several camsites the filename format can differ and this is not a
good solution anymore. Instead we now just sort filename. To make sure,
the files have the right order, HlsDownload now creates a prefix for
each segment.
2018-12-14 23:53:10 +01:00
0xboobface
1ce9a111a9
Add tipping for Streamate
...
Tipping does not work, yet. The server returns success: false. I don't
know, what the parameters have to look like
2018-12-14 23:37:55 +01:00
0xboobface
4d7409f443
Implement follow/unfollow and login with cookies
2018-12-14 20:25:57 +01:00
0xboobface
c7e07b4b26
Implement login and favorites tab
2018-12-14 17:36:24 +01:00
0xboobface
6b52906811
Add configuration ui for the credentials
2018-12-14 15:51:15 +01:00
0xboobface
461e65ed84
Switch to much simpler JSON api
2018-12-14 14:58:12 +01:00
0xboobface
70f4fa930f
Implement search for Streamate
2018-12-14 13:42:20 +01:00
0xboobface
64c60eaeaa
Add determination of stream url and stream sources
2018-12-14 02:39:07 +01:00
0xboobface
52cdf8d601
Add classes and first code for Streamate
2018-12-13 23:48:16 +01:00
0xboobface
150af23d14
Fix log messages
2018-12-13 20:54:26 +01:00
0xboobface
ceb7c07aa8
Add setting for minimum recording length
...
If a recording is shorter than x seconds, it gets deleted
2018-12-13 20:54:10 +01:00
0xboobface
560e73c1dd
Reduce log level for unused message types
2018-12-13 20:51:14 +01:00
0xboobface
dc8a4d4190
Don't add model to models or update it, if uid is not set
2018-12-13 17:09:40 +01:00
0xboobface
9d86a0531c
Bump version to 1.15.0
2018-12-13 16:24:45 +01:00
0xboobface
168ad694ae
Remove debug log message
2018-12-13 01:11:22 +01:00
0xboobface
8039359455
Remove playlistUrl check from isOnline
...
isOnline contained a check for playlistUrl != null, because sometimes
the playlistUrl is null even though the model is online, but it prevents
the followed tab from working correctly
2018-12-12 22:05:46 +01:00
0xboobface
a68341de82
Add actions to MFC's table view
2018-12-12 18:08:39 +01:00
0xboobface
c478f6b0f1
Make login methods synchronized
...
Add synchronized modifier to the login methods, so that only one thread
at a time tries to login. All the following threads then should be able
to use the session cookies
2018-12-12 12:48:45 +01:00
0xboobface
a5ec00c936
Add table for MFC which contains all models
2018-12-11 21:59:32 +01:00
0xboobface
dd76774145
Decrease sync thread sleep time to 2 secs
2018-12-10 22:09:12 +01:00
0xboobface
0fe9d9677a
Delete recordings from synced cached recordings
2018-12-10 21:08:55 +01:00
0xboobface
bb3de83453
Logout and delete cookies when credentials are changed
2018-12-10 18:37:04 +01:00
0xboobface
e7f1d26a84
Bumb version to 1.14.0
2018-12-10 17:15:33 +01:00
0xboobface
2fc00404b8
Implement recording state change events in RemoteRecorder
2018-12-10 16:21:34 +01:00
0xboobface
1d409fa1d4
Run post-processing steps in runnable in a thread pool
...
Server and client now create a runnable for post-processing steps,
which run in a thread pool. This ensures, that the steps run linearly so
that RecordingStateChange events make sense, too.
2018-12-10 15:27:56 +01:00
0xboobface
ff539c1c2e
Use state's name instead of description in toString
2018-12-10 14:35:21 +01:00
0xboobface
f4e143eb7d
Return a copy of models in getModelsRecording
2018-12-10 12:54:37 +01:00
0xboobface
768507d6e5
Increase thread pool size for event bus to 10
2018-12-09 21:36:30 +01:00
0xboobface
86ae660218
Use the event name instead of the description in getExecutionParams
2018-12-09 19:02:50 +01:00
0xboobface
7c16006870
Set the name in the default constructor
2018-12-09 19:02:19 +01:00
0xboobface
888046676f
Add first configurable version of the notification system
2018-12-09 18:46:33 +01:00
0xboobface
be680a07f9
Map state password protected to private
2018-12-09 18:45:16 +01:00
0xboobface
5bb51b6a85
Add descriptions for events and states
2018-12-08 16:08:14 +01:00
0xboobface
1fc16a0d41
Add a few predicates and actions for the event system
2018-12-08 13:08:20 +01:00
0xboobface
f7dfabb898
Remove playback of sound with notification
2018-12-08 13:06:24 +01:00
0xboobface
2dc5fd4581
Add Event and EventReaction classes
2018-12-06 17:39:33 +01:00
0xboobface
b50df194a0
Move settings to own package
2018-12-06 17:38:10 +01:00
0xboobface
90e033d2ac
Don't log exception if interrupted, but not running anymore
2018-12-06 13:44:10 +01:00
0xboobface
69544a7a60
Pull OnlineMonitor out of LocalRecorder
2018-12-05 21:01:33 +01:00
0xboobface
093b36270a
Return at least ONLINE / OFFLINE, if the state is UNKNOWN
2018-12-05 21:01:01 +01:00
0xboobface
022997f6b6
Add new event property OLD
2018-12-05 21:00:19 +01:00
0xboobface
1970f08700
Return UNKOWN, if state is null
2018-12-05 20:59:51 +01:00
0xboobface
00869315fb
Don't throw exception, if no sync happened yet
2018-12-05 20:59:03 +01:00
0xboobface
9f19b2c1fa
Merge branch 'dev' into notify
2018-12-05 16:08:55 +01:00
0xboobface
e6476e95ec
Add setting to ignore the upscaled video stream on MFC
2018-12-05 16:08:44 +01:00
0xboobface
42177b4399
Add enum to Model for the online states
2018-12-05 15:51:21 +01:00
0xboobface
65e6c5b76e
Merge branch 'dev' into notify
2018-12-05 12:58:51 +01:00
0xboobface
9109fc8689
Display "unkown resolution" instead of Integer.MAX_VALUE
2018-12-05 12:38:06 +01:00
0xboobface
a7b0b3f374
Remove resolution cache
...
Resolutions are cached by ThumbCell
2018-12-05 12:30:27 +01:00
0xboobface
8abb3db8a5
Remove single thread executor
2018-12-05 12:10:21 +01:00
0xboobface
d4dadf9fea
Remove resolution cache
...
Resolution caching is done globally in ThumbCell
2018-12-04 18:31:31 +01:00
0xboobface
45e493a35a
Add javadoc
2018-12-04 18:28:30 +01:00
0xboobface
cd903566de
Use baseUrl in requestExtData
2018-12-03 16:26:37 +01:00
0xboobface
b97449a980
Filter out websocket servers with the wrong protocol
2018-12-03 15:24:44 +01:00
0xboobface
0121e02edb
Merge branch 'dev' into notify
2018-12-03 14:35:24 +01:00
0xboobface
da87a1ae39
Add log message which websocket server is used
2018-12-03 14:35:14 +01:00
0xboobface
889dbecb14
Bump version to 1.13.0
2018-12-03 00:14:50 +01:00
0xboobface
6b4d320bc2
Add setting to set the base URL for MFC
2018-12-02 22:35:12 +01:00
0xboobface
353f3fb317
Use baseUrl in loadStreamInfo
2018-12-02 22:33:49 +01:00
0xboobface
96b5c26277
Implement notification messages with SystemTray and notify-send
2018-12-02 17:02:17 +01:00
0xboobface
80381c0d49
Fire events from LocalRecorder
2018-12-01 21:56:23 +01:00
0xboobface
5b8cfc02d6
Merge branch 'dev' into notify
2018-12-01 20:22:02 +01:00
0xboobface
6ab70dd5df
In resumeRecording don't start a recording, if the model is offline
2018-12-01 16:56:43 +01:00
0xboobface
f0edfb167c
Added support for display names from Camsoda
2018-12-01 16:34:09 +01:00
0xboobface
56291cb97f
Add support for display names for BongaCams
2018-12-01 15:29:56 +01:00
0xboobface
431d2f60c4
Add support for display names
...
Add display name to model and use it in GUI. The actual sites don't
set it yet. If the display name is not set, getDisplayName returns
getName instead
2018-12-01 15:24:46 +01:00
0xboobface
7192856c87
Add setting for chaturbate base URL
2018-12-01 14:17:03 +01:00
0xboobface
0edb17ae9f
Add trace output for the time the online check took
2018-12-01 14:02:22 +01:00
0xboobface
b44a1c2422
Fix stream source selection
2018-12-01 02:12:27 +01:00
0xboobface
52016c6a86
Make sure, the hlsUrl is available, when loading the master playlist
2018-12-01 00:16:44 +01:00
0xboobface
ad1f841167
Don't do space check, if minimum is set to 0
2018-11-30 14:51:17 +01:00
0xboobface
918f63b1f5
Use defaults, if settings cannot be loaded
...
If the settings cannot be loaded, make a backup of the settings file
and use the defaults, so that the application at least starts.
2018-11-30 13:42:51 +01:00
0xboobface
afd5d3caa3
Extend manual add function to allow to add models by their URL
2018-11-29 19:08:57 +01:00
0xboobface
cbe466e7b9
Set default for showPlayerStarting to false
2018-11-29 17:50:09 +01:00
0xboobface
c17dcc4216
Add setting to toggle Player Starting message
2018-11-29 17:33:10 +01:00
0xboobface
2c716d3c88
Set all occurrences of PlaylistParser to lenient mode
2018-11-29 13:42:23 +01:00
0xboobface
cf9a6d3f85
Merge branch 'master' into notify
2018-11-28 23:43:43 +01:00
0xboobface
539db89bdb
Bump version to 1.12.1
2018-11-28 23:28:32 +01:00
0xboobface
4150a2911b
Playing around with notifications
2018-11-28 23:24:06 +01:00
0xboobface
1e51298f41
Fix recording download from server
2018-11-28 23:06:41 +01:00
0xboobface
c0bd89b228
Fix log message
2018-11-28 20:35:23 +01:00
0xboobface
ede6dd73d2
Don't print stacktrace on timeout in OnlineMonitor
2018-11-28 20:30:45 +01:00
0xboobface
b771145612
Bump version to 1.12.0
2018-11-28 17:52:30 +01:00
0xboobface
cbb6f3f45a
Add failFast version of getStreamInfo for faster startup
...
With many chaturbate models, the loading of the recording tab took
a long time, because for each model the online state was loaded by the
loading cache. The failFast version just returns null and makes the
inital loading of recorder.getOnlineModels() much faster.
2018-11-28 16:45:42 +01:00
0xboobface
ef9566999a
Fixed possible NPE in update method
2018-11-28 16:43:30 +01:00
0xboobface
403c1ed2d0
Fix split recordings
...
Split recordings didn't work, because splitRecStartTime had been removed
by accident. Also the splitting now does not start a new recording, but
switches the output file in Streamer. This is a much cleaner and
smoother approach, because it is much faster and no segments are missed
2018-11-28 16:03:21 +01:00
0xboobface
3a7f2ceca6
Add convenience method Config.isDevMode()
...
Also made isServerMode() static
2018-11-28 15:37:35 +01:00
0xboobface
c4c8fe83fa
Improve MergedHlsDownload
...
* Add better exception handling
* Check, if the model is still online, when an error occurs
* Download segments in parallel, so that less segments are missed
2018-11-28 15:22:42 +01:00
0xboobface
7edc79b0e3
Take boolean privateRoom into account for online state
2018-11-28 11:47:40 +01:00
0xboobface
33642705a0
Check playlistUrl in isOnline
...
If the playlistUrl is empty, we cannot record, so the model is offline
2018-11-27 18:53:22 +01:00
0xboobface
c543af6429
Set online state to offline if model details cannot be loaded
2018-11-27 17:53:37 +01:00
0xboobface
55b219d271
Move size formatting code to StringUtil
2018-11-27 14:11:52 +01:00
0xboobface
cc2aa3c8d5
Add threshold setting for minimum space on disk
...
If there is less space left on the device than specified by the setting,
the recorder will stop all recordings and don't start new ones until
the free space rises above this threshold again.
2018-11-26 15:28:44 +01:00
0xboobface
8fdb24bad1
Add methods to get the free and total space
2018-11-26 14:01:08 +01:00
0xboobface
91ea7d65a3
Sort by height only if the height is set
...
If the height is not available, it is set to Integer.MAX_VALUE. IT makes
not sense to compare by that value. Instead compare the bitrates.
2018-11-26 00:13:53 +01:00
0xboobface
3b9927a591
Make search case insensitive
2018-11-25 23:01:14 +01:00
0xboobface
b869c4a82c
Save and restore table states
...
Save and the restore the table state (sorting and column widths) for
the recorded models and the recordings tables
2018-11-25 22:10:12 +01:00
0xboobface
faf6240b45
Save changes to the list of recorded models immediately
...
... to make sure, that the settings are persisted in case
the process dies or gets killed.
2018-11-25 21:23:37 +01:00
0xboobface
9817fdfb42
Add setting for the online check interval
2018-11-25 21:17:17 +01:00
0xboobface
a57a9877b8
Bumb version to 1.11.0
2018-11-25 20:10:27 +01:00
0xboobface
3bfb76e441
Re-add onlineCheckIntervalInSecs
...
Was removed by accident
2018-11-25 19:12:27 +01:00
0xboobface
84dfeb9484
Add setting to SettingsTab to define the color scheme of the app
2018-11-25 19:11:15 +01:00
0xboobface
240e5e0d92
Add setting for online check interval
2018-11-25 17:04:49 +01:00
0xboobface
9965f352e3
Improve MFC search by also searching in the models cache
2018-11-25 16:28:17 +01:00
0xboobface
6fa9de4a32
Ensure the correct model is updated by checking the uid
...
The uid should be a value > 0
2018-11-24 15:33:48 +01:00
0xboobface
72064eb55b
Fix possible NPE in getStreamUrl
2018-11-24 15:20:45 +01:00
0xboobface
edb11a0efc
Fix possible NPE in update
2018-11-24 15:16:51 +01:00
0xboobface
85fee70e60
Use TimeUnit for wait-calls
2018-11-23 21:15:30 +01:00
0xboobface
3445fa5ca0
Revert change, which prevents ChaturbateModel to work correctly
2018-11-23 21:15:04 +01:00
0xboobface
b9f24a209e
Implement search feature
...
If a site supports searching, add a search field on the right side next
to the filter input field. This search uses the sites search function
to look for models and returns a list of matches in a popup window
2018-11-23 20:27:49 +01:00
0xboobface
2202dc969f
Add setting to define the start tab
...
When ctbrec is started, this is the first tab shown to the user.
2018-11-22 16:30:07 +01:00
0xboobface
0dbf319575
Invalidate cache when a new websocket is opened
...
When a new connection is established (for example by the watchdog),
invalidate the caches. Also don't trigger a connect, if we are already
trying to connect.
2018-11-21 14:20:37 +01:00
0xboobface
e11acea52e
FIX: Avoid NPE in onFailure
2018-11-20 22:30:27 +01:00
0xboobface
97d3be0b98
Add setting to diable thumbnail updates
...
This is a feature for people who have bandwidth / contingent restrictions.
It can also help keeping the CPU usage down.
2018-11-20 14:35:06 +01:00
0xboobface
7133283032
Start implementation for FC2Live
2018-11-19 23:20:39 +01:00
0xboobface
8fb5eac435
Move getSite and setSite to AbstractModel
2018-11-19 20:51:40 +01:00
0xboobface
042fe43838
Bumb version to 1.10.0
2018-11-19 15:33:48 +01:00
0xboobface
05d583bab5
Change folder structure to maven conventions
2018-11-18 22:49:05 +01:00
0xboobface
cda330ddbd
Split up project into client, server, common and master
2018-11-18 22:42:13 +01:00