]>
git.sesse.net Git - nageru/log
Steinar H. Gunderson [Wed, 16 Jan 2019 21:49:33 +0000 (22:49 +0100)]
Remove a non-defined member function from MIDIMapper.
Steinar H. Gunderson [Wed, 16 Jan 2019 21:46:47 +0000 (22:46 +0100)]
Add some controls for locking the master speed to 100%.
Steinar H. Gunderson [Tue, 15 Jan 2019 22:09:50 +0000 (23:09 +0100)]
Support changing overall playing speed at runtime, using a slider or a MIDI controller.
Steinar H. Gunderson [Tue, 15 Jan 2019 17:39:10 +0000 (18:39 +0100)]
When sending original frames, do the reading in the queueing thread.
Earlier, we'd only preload it and hope the encoder's second read would
come from the cache. But this is more consistent, and perhaps more
importantly, it fixes a race on the FrameReader, where the two threads
would try accessing it at the same time, causing the file descriptor
to be closed while being used, and a crash.
Now, the FrameReaders are consistently accessed from one thread only.
Steinar H. Gunderson [Sat, 12 Jan 2019 19:41:25 +0000 (20:41 +0100)]
Remove a debug message.
Steinar H. Gunderson [Sat, 12 Jan 2019 19:26:22 +0000 (20:26 +0100)]
Turn off guessing if the source bus contains the pitch bend controller.
Steinar H. Gunderson [Thu, 10 Jan 2019 18:28:46 +0000 (19:28 +0100)]
Support pitch bend as a virtual MIDI controller.
The primary reason this is important is that it's got higher range
(up to 14-bit). Also, DJ controllers with a slider typically send
pitch bend values, so it's useful just to get to use them.
Steinar H. Gunderson [Wed, 9 Jan 2019 22:57:47 +0000 (23:57 +0100)]
Add an example Futatabi MIDI mapping for the Behringer CMD PL-1.
Steinar H. Gunderson [Wed, 9 Jan 2019 22:54:13 +0000 (23:54 +0100)]
Add basic MIDI input support (jog, cue in/out, play, camera switch) to Futatabi. No editor yet.
Steinar H. Gunderson [Wed, 9 Jan 2019 21:40:54 +0000 (22:40 +0100)]
Only enable the queue button if we can actually queue something.
Steinar H. Gunderson [Wed, 9 Jan 2019 21:34:09 +0000 (22:34 +0100)]
Only enable the preview button if we can actually preview something.
Steinar H. Gunderson [Tue, 8 Jan 2019 23:24:26 +0000 (00:24 +0100)]
Split the MIDI mapping proto file in two; one that will be shared with Futatabi soon, and one that is for Nageru only.
Steinar H. Gunderson [Tue, 8 Jan 2019 22:52:10 +0000 (23:52 +0100)]
Unbreak preview camera angle again.
Steinar H. Gunderson [Tue, 8 Jan 2019 22:51:52 +0000 (23:51 +0100)]
Make cue in/out highlight the right cell. More logical, and also helps with jogging.
Steinar H. Gunderson [Tue, 8 Jan 2019 21:40:47 +0000 (22:40 +0100)]
Fix a typo.
Steinar H. Gunderson [Tue, 8 Jan 2019 21:40:33 +0000 (22:40 +0100)]
Move another helper into midi_mapper_util.h.
Steinar H. Gunderson [Mon, 7 Jan 2019 23:00:24 +0000 (00:00 +0100)]
Move some MIDI mapper protobuf reflection code into a shared helper.
Steinar H. Gunderson [Sun, 6 Jan 2019 17:59:40 +0000 (18:59 +0100)]
Move midi_device.cpp into shared, as Futatabi is getting MIDI support soon.
Steinar H. Gunderson [Sun, 6 Jan 2019 12:30:56 +0000 (13:30 +0100)]
Small refactoring in MIDIMapper.
Steinar H. Gunderson [Sun, 6 Jan 2019 12:19:57 +0000 (13:19 +0100)]
Move protobuf text serialization into a shared file.
Steinar H. Gunderson [Sat, 5 Jan 2019 19:38:36 +0000 (20:38 +0100)]
Split out the ALSA-specific parts from MIDIMapper into a new class MIDIDevice.
Steinar H. Gunderson [Fri, 4 Jan 2019 21:37:00 +0000 (22:37 +0100)]
Send note velocity of 1 instead of 127 for lights.
Seemingly at least the Behringer PL-1 isn't happy about 127;
it has 0 for off (well, default color), 1 for on, 2 for blink,
and ignores all others. 1 should be fine for other devices as
far as I know, so simply make it universal.
Steinar H. Gunderson [Tue, 1 Jan 2019 00:30:58 +0000 (01:30 +0100)]
Fix some memory leaks on export.
Steinar H. Gunderson [Sun, 30 Dec 2018 18:51:49 +0000 (19:51 +0100)]
Release Nageru and Futatabi 1.8.1.
Steinar H. Gunderson [Sun, 30 Dec 2018 14:48:08 +0000 (15:48 +0100)]
Add an assert to silence Coverity.
Steinar H. Gunderson [Sun, 30 Dec 2018 12:06:45 +0000 (13:06 +0100)]
Make the Futatabi PAUSED subtitle a bit more regular and like the PLAYING one.
Steinar H. Gunderson [Sun, 30 Dec 2018 11:20:59 +0000 (12:20 +0100)]
Do a small hack in Futatabi to make sure that Nageru gets the subtitles in time.
Steinar H. Gunderson [Sun, 30 Dec 2018 11:08:26 +0000 (12:08 +0100)]
Add support to Nageru for reading the subtitles from FFmpeg streams.
Steinar H. Gunderson [Sat, 29 Dec 2018 23:32:51 +0000 (00:32 +0100)]
Fix a crash on receiving dummy frames.
Steinar H. Gunderson [Sat, 29 Dec 2018 23:11:43 +0000 (00:11 +0100)]
Some Futatabi formatting fixes.
Steinar H. Gunderson [Fri, 28 Dec 2018 23:23:15 +0000 (00:23 +0100)]
Bump version number to 1.8.1-pre.
Steinar H. Gunderson [Fri, 28 Dec 2018 23:23:02 +0000 (00:23 +0100)]
Make Futatabi output its status as subtitles, in a hopefully fairly parseable form.
Steinar H. Gunderson [Fri, 28 Dec 2018 23:13:06 +0000 (00:13 +0100)]
Fix an issue where the stop button would get grayed out if restarting playing.
Steinar H. Gunderson [Fri, 28 Dec 2018 21:31:05 +0000 (22:31 +0100)]
Allow editing a playing playlist.
This is based on the notion of splicing; if we edit a part of the
playlist that is below the currently playing clip, that edit is
heuristically spliced into Player's current internal list.
Steinar H. Gunderson [Fri, 28 Dec 2018 19:22:24 +0000 (20:22 +0100)]
Make duplicated rows show up after the old ones, and also give them new IDs.
Steinar H. Gunderson [Fri, 28 Dec 2018 17:14:07 +0000 (18:14 +0100)]
Fix some issues with the “time remaining” display.
Steinar H. Gunderson [Fri, 28 Dec 2018 17:09:35 +0000 (18:09 +0100)]
Give each clip in the playlist a stable ID.
Makes progress display more robust in the face of concurrent edits.
Steinar H. Gunderson [Fri, 28 Dec 2018 16:06:15 +0000 (17:06 +0100)]
Call the done callback only when the entire playlist is done. Simplifies a fair amount of stuff.
Steinar H. Gunderson [Fri, 28 Dec 2018 15:59:29 +0000 (16:59 +0100)]
Remove obsolete member function.
Steinar H. Gunderson [Fri, 28 Dec 2018 11:34:07 +0000 (12:34 +0100)]
Fix an issue where the stop button would be disabled too soon.
Steinar H. Gunderson [Fri, 28 Dec 2018 11:33:53 +0000 (12:33 +0100)]
Move estimation of time left into Player.
Steinar H. Gunderson [Fri, 28 Dec 2018 11:09:17 +0000 (12:09 +0100)]
Move progress row information into Player; will be easier to track when we start modifying the lists.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:56:15 +0000 (11:56 +0100)]
Some clang-formatting of Futatabi.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:51:23 +0000 (11:51 +0100)]
Indentation fix.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:40:33 +0000 (11:40 +0100)]
Simplify progress calculation.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:29:00 +0000 (11:29 +0100)]
Simplify Player::thread_func() a little further.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:24:21 +0000 (11:24 +0100)]
Factor out some common logic from Player::thread_func().
Steinar H. Gunderson [Fri, 28 Dec 2018 10:15:50 +0000 (11:15 +0100)]
Remove one level of indentation from Player::thread_func.
Steinar H. Gunderson [Fri, 28 Dec 2018 09:48:14 +0000 (10:48 +0100)]
Move from unique_lock to lock_guard everywhere we can. Perhaps ever so slightly clearer to read the intent.
Steinar H. Gunderson [Thu, 27 Dec 2018 23:31:45 +0000 (00:31 +0100)]
Fix a minor unneeded unlock/lock.
Steinar H. Gunderson [Thu, 27 Dec 2018 23:30:31 +0000 (00:30 +0100)]
Fix some silly indentation.
Steinar H. Gunderson [Thu, 27 Dec 2018 23:22:08 +0000 (00:22 +0100)]
Update a comment after the previous commit.
Steinar H. Gunderson [Thu, 27 Dec 2018 22:02:25 +0000 (23:02 +0100)]
Move the to-play playlist into Player.
This eradicates the ugly callback into MainWindow to get the next clip,
gives Player much more control, and in general makes things a lot more
predictable. Right now, this means you can no longer edit the playlist
while it's playing, but we're going to reintroduce that (in a somewhat
limited form) fairly soon.
Steinar H. Gunderson [Wed, 26 Dec 2018 22:45:12 +0000 (23:45 +0100)]
Fix an indentation issue.
Steinar H. Gunderson [Tue, 25 Dec 2018 11:35:18 +0000 (12:35 +0100)]
Simplify timebase handling in Mux a bit.
Steinar H. Gunderson [Mon, 24 Dec 2018 22:12:39 +0000 (23:12 +0100)]
Remove the redundant with_audio parameter from the Mux constructor.
Steinar H. Gunderson [Mon, 24 Dec 2018 13:26:44 +0000 (14:26 +0100)]
Cache computed flow between textures.
Flow computation is over half the computational burden for making a frame,
and in super-slow cases (more than 2x), we'll reuse the same flow many times.
Steinar H. Gunderson [Mon, 24 Dec 2018 11:07:10 +0000 (12:07 +0100)]
Remove a metric that's irrelevant for Futatabi.
Steinar H. Gunderson [Mon, 24 Dec 2018 11:00:42 +0000 (12:00 +0100)]
Add metrics for JPEG decoding.
Steinar H. Gunderson [Mon, 24 Dec 2018 10:17:55 +0000 (11:17 +0100)]
Add a summary for received frame sizes.
Steinar H. Gunderson [Mon, 24 Dec 2018 10:07:19 +0000 (11:07 +0100)]
Add metrics for reading frames from disk.
Steinar H. Gunderson [Mon, 24 Dec 2018 00:27:50 +0000 (01:27 +0100)]
Add some metrics for HTTP output.
Steinar H. Gunderson [Sun, 23 Dec 2018 23:39:17 +0000 (00:39 +0100)]
Prefix all the Futatabi Prometheus metrics by futatabi_ instead of nageru_.
Steinar H. Gunderson [Sun, 23 Dec 2018 23:33:41 +0000 (00:33 +0100)]
Add a Futatabi metric for number of received frames.
Steinar H. Gunderson [Sun, 23 Dec 2018 17:27:21 +0000 (18:27 +0100)]
Localize DeckLink warning suppression to only the DeckLink headers and sources.
Steinar H. Gunderson [Sun, 23 Dec 2018 00:18:34 +0000 (01:18 +0100)]
When exporting interpolated files, make sure they are seekable.
Steinar H. Gunderson [Sun, 23 Dec 2018 00:11:54 +0000 (01:11 +0100)]
If the Futatabi source URL is empty or /dev/null, don't bother trying to open it.
Steinar H. Gunderson [Fri, 21 Dec 2018 23:37:57 +0000 (00:37 +0100)]
Fix a follow-up error introduced when fixing a Coverity Scan issue.
Steinar H. Gunderson [Fri, 21 Dec 2018 23:13:46 +0000 (00:13 +0100)]
Avoid a time-to-check-versus-time-of-use error on mkdir().
Found by Coverity Scan. Not relevant in practice, since we do not
support running on untrusted data.
Steinar H. Gunderson [Fri, 21 Dec 2018 23:11:36 +0000 (00:11 +0100)]
Make Ebu_r128_proc::Ebu_r128_proc() not move uninitialized variables around.
It doesn't matter since init() will be called immediately afterwards,
but it silences Coverity Scan.
Steinar H. Gunderson [Fri, 21 Dec 2018 23:08:10 +0000 (00:08 +0100)]
In Theme::get_chain(), send InputState by reference instead of value.
It's ~2 kB, and we also don't have to fiddle as many refcounts around.
It's only once per channel per frame, though.
Found by Coverity Scan.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:53:51 +0000 (23:53 +0100)]
Check VAStatus of some destroyed objects.
Irrelevant, but still good style. Found by Coverity Scan.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:52:42 +0000 (23:52 +0100)]
Fix some more very unlikely Coverity Scan issues.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:42:34 +0000 (23:42 +0100)]
Fix a leak in test code.
Found by Coverity Scan.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:42:31 +0000 (23:42 +0100)]
Unbreak embedded bmusb.
Steinar H. Gunderson [Fri, 21 Dec 2018 21:39:21 +0000 (22:39 +0100)]
Remove an unneeded check.
Found by Coverity Scan.
Steinar H. Gunderson [Fri, 21 Dec 2018 21:38:42 +0000 (22:38 +0100)]
Remove an unneeded nullptr check.
Indirectly found by Coverity Scan.
Steinar H. Gunderson [Fri, 21 Dec 2018 21:36:26 +0000 (22:36 +0100)]
Silence another Coverity Scan warning.
Steinar H. Gunderson [Fri, 21 Dec 2018 18:23:19 +0000 (19:23 +0100)]
Fix another Coverity Scan issue that really should not happen in practice.
Steinar H. Gunderson [Fri, 21 Dec 2018 18:14:01 +0000 (19:14 +0100)]
Fix another Coverity Scan issue that really should not happen in practice.
Steinar H. Gunderson [Fri, 21 Dec 2018 16:15:55 +0000 (17:15 +0100)]
Fix a Coverity Scan issue that is irrelevant in practice.
Steinar H. Gunderson [Fri, 21 Dec 2018 15:13:41 +0000 (16:13 +0100)]
Add libjpeg-dev to the apt list.
Steinar H. Gunderson [Fri, 21 Dec 2018 14:17:47 +0000 (15:17 +0100)]
Add cue point padding, where a clip is elongated (in both directions) by some given time to compensate for operator reaction time and fades.
Steinar H. Gunderson [Thu, 20 Dec 2018 15:52:41 +0000 (16:52 +0100)]
Use get_pkgconfig_variable() instead of calling pkg-config manually.
Steinar H. Gunderson [Thu, 20 Dec 2018 15:50:30 +0000 (16:50 +0100)]
Make the SDL dependencies optional.
Steinar H. Gunderson [Thu, 20 Dec 2018 15:17:04 +0000 (16:17 +0100)]
Update the textual list of dependencies in the README.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:42:53 +0000 (15:42 +0100)]
Remove the LuaJIT 2.0 compatibility shims.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:41:57 +0000 (15:41 +0100)]
Move to FFmpeg 4.0 APIs, fixing the deprecation warnings.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:30:46 +0000 (15:30 +0100)]
Drop stretch compatibility, now that buster is nearing freeze.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:30:07 +0000 (15:30 +0100)]
Add a missing #include.
Steinar H. Gunderson [Wed, 19 Dec 2018 23:01:20 +0000 (00:01 +0100)]
Release Nageru and Futatabi 1.8.0.
Steinar H. Gunderson [Wed, 19 Dec 2018 23:22:34 +0000 (00:22 +0100)]
Default to two cameras instead of one, since otherwise, the UI looks pretty borked.
Steinar H. Gunderson [Wed, 19 Dec 2018 22:55:26 +0000 (23:55 +0100)]
Document the undocumentedness of Futatabi.
Steinar H. Gunderson [Wed, 19 Dec 2018 19:30:26 +0000 (20:30 +0100)]
Improve frame snapping in difficult cases.
Steinar H. Gunderson [Tue, 18 Dec 2018 23:34:14 +0000 (00:34 +0100)]
Fix some GCC warnings.
Steinar H. Gunderson [Tue, 18 Dec 2018 23:30:23 +0000 (00:30 +0100)]
Add support for querying tally information from Nageru.
Steinar H. Gunderson [Tue, 18 Dec 2018 22:53:49 +0000 (23:53 +0100)]
Fix a variable conflict in the Meson build files.
Steinar H. Gunderson [Tue, 18 Dec 2018 21:46:47 +0000 (22:46 +0100)]
Remove a duplicate dependency.
Steinar H. Gunderson [Tue, 18 Dec 2018 14:04:11 +0000 (15:04 +0100)]
Support per-clip variable speed.
Steinar H. Gunderson [Mon, 17 Dec 2018 23:29:07 +0000 (00:29 +0100)]
Make the number of cameras dynamic as the frames come in.