]>
git.sesse.net Git - nageru/log
Steinar H. Gunderson [Tue, 19 Feb 2019 23:38:38 +0000 (00:38 +0100)]
Mark a TODO.
Steinar H. Gunderson [Tue, 19 Feb 2019 23:25:43 +0000 (00:25 +0100)]
Remove the unused frame_length parameter to AudioMixer::add_audio().
Steinar H. Gunderson [Tue, 19 Feb 2019 08:39:05 +0000 (09:39 +0100)]
More tweaks to the memcpy_interleaved multiversioning.
Steinar H. Gunderson [Sun, 17 Feb 2019 19:38:11 +0000 (20:38 +0100)]
Make it possible to hide displays (and re-show them again). Not persistent for now.
Steinar H. Gunderson [Sun, 17 Feb 2019 17:49:04 +0000 (18:49 +0100)]
Clang seemingly does not have working function multiversioning yet.
Steinar H. Gunderson [Sun, 17 Feb 2019 17:09:39 +0000 (18:09 +0100)]
Fix display of out padding points.
Steinar H. Gunderson [Fri, 15 Feb 2019 21:58:02 +0000 (22:58 +0100)]
Enable function multiversioning for memcpy_interleaved().
This makes the AVX2 version actually be used in practice (nobody really
compiles with -march=native).
Steinar H. Gunderson [Thu, 14 Feb 2019 23:10:06 +0000 (00:10 +0100)]
Add MJPEG export metrics.
Steinar H. Gunderson [Thu, 14 Feb 2019 22:53:54 +0000 (23:53 +0100)]
Increase the MJPEG encoding queue size by a lot.
Steinar H. Gunderson [Wed, 13 Feb 2019 22:41:50 +0000 (23:41 +0100)]
Add support for aborting playing a clip early.
Steinar H. Gunderson [Wed, 13 Feb 2019 08:18:01 +0000 (09:18 +0100)]
Fix an overflow issue with long (>= 10 min) clips.
Steinar H. Gunderson [Tue, 29 Jan 2019 21:54:54 +0000 (22:54 +0100)]
Add basic Futatabi documentation to the README.
Steinar H. Gunderson [Tue, 29 Jan 2019 20:29:21 +0000 (21:29 +0100)]
Split cue padding into separate in and out settings.
Steinar H. Gunderson [Tue, 22 Jan 2019 17:30:38 +0000 (18:30 +0100)]
Fix overly aggressive snapping at very low speeds.
Steinar H. Gunderson [Sat, 19 Jan 2019 21:57:27 +0000 (22:57 +0100)]
Release Nageru and Futatabi 1.8.2.
Steinar H. Gunderson [Sat, 19 Jan 2019 21:57:18 +0000 (22:57 +0100)]
Add Yngve's copyright to the README.
Steinar H. Gunderson [Sat, 19 Jan 2019 21:46:22 +0000 (22:46 +0100)]
Work around a crash on exit.
Steinar H. Gunderson [Sat, 19 Jan 2019 21:38:38 +0000 (22:38 +0100)]
Add a MIDI mapping editor for Futatabi.
Steinar H. Gunderson [Sat, 19 Jan 2019 12:58:24 +0000 (13:58 +0100)]
Make the master light speed maximum inclusive instead of exclusive
Less confusing when in an UI, and also doesn't require us to have
some spinners at max 127 and some at max 128 (save for pitch bend).
Steinar H. Gunderson [Sat, 19 Jan 2019 12:18:24 +0000 (13:18 +0100)]
Move controller_spin_box.h to shared, so that the upcoming Futatabi MIDI editor can use it.
Steinar H. Gunderson [Fri, 18 Jan 2019 20:45:00 +0000 (21:45 +0100)]
Fix some Clang 7 warnings.
Steinar H. Gunderson [Fri, 18 Jan 2019 00:09:40 +0000 (01:09 +0100)]
Make MIDIMappingDialog reuse some of the code from midi_mapper_util.h.
Steinar H. Gunderson [Thu, 17 Jan 2019 23:47:37 +0000 (00:47 +0100)]
Add support for a master speed MIDI light.
Steinar H. Gunderson [Thu, 17 Jan 2019 21:18:13 +0000 (22:18 +0100)]
Add infrastructure for MIDI lights that are controllers instead of notes.
Steinar H. Gunderson [Thu, 17 Jan 2019 19:39:45 +0000 (20:39 +0100)]
Unbreak the cue in and out lights.
Steinar H. Gunderson [Thu, 17 Jan 2019 19:36:08 +0000 (20:36 +0100)]
Make the preview light blink and be solid like the play light is.
Steinar H. Gunderson [Thu, 17 Jan 2019 00:05:43 +0000 (01:05 +0100)]
Make the MIDI play button blinking when something is ready to play, and solid when actually playing.
Steinar H. Gunderson [Wed, 16 Jan 2019 23:16:19 +0000 (00:16 +0100)]
Only enable play if something is actually selected.
Steinar H. Gunderson [Wed, 16 Jan 2019 22:10:16 +0000 (23:10 +0100)]
Blink the lock light if dragging the speed slider when locked.
Steinar H. Gunderson [Wed, 16 Jan 2019 22:00:53 +0000 (23:00 +0100)]
Support non-binary MIDI lights (ie., with an on-velocity different from 1).
No UI support yet. Most likely we'll only have UI support in Futatabi.
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.