Wykres commitów

188 Commity (aae464615777b03b446d82e2ab289dfb954422dd)

Autor SHA1 Wiadomość Data
nyanpasu64 7304464560 Rewrite CLI and Ovgenpy() using Channel class 2018-07-29 06:35:33 -07:00
nyanpasu64 992702f317 misc 2018-07-29 06:35:31 -07:00
nyanpasu64 a096f0ffe9 wat
# wave_folder must not be used, except to to initialize wave_prefix and channels.
# When exporting YAML, this is exported as a comment.
wave_folder: str = ''
# Remove this field, create @classmethod constructors for loading from
# [glob/wave]... wave_folder will not be present in saved yaml files.
2018-07-29 06:35:29 -07:00
nyanpasu64 e66d3cb58c Switch to custom keyword_dataclasses.py
Whenever non-default arguments follow default arguments, they are marked
as keyword-only: f(a=1, *, b)
2018-07-29 06:35:27 -07:00
nyanpasu64 965ba169de Fix and update ChannelConfig 2018-07-29 06:35:25 -07:00
nyanpasu64 18140572f6 Rename Wave(wcfg) to cfg 2018-07-29 06:35:23 -07:00
nyanpasu64 be0aa5791c Rename Config.wave_dir to wave_folder 2018-07-29 06:35:21 -07:00
nyanpasu64 201b05cc30 Rename WaveConfig to _WaveConfig, don't expose via YAML 2018-07-29 06:35:19 -07:00
nyanpasu64 7f0e1ccaba (Config YAML) Add support for always dumping default fields
@register_config(always_dump='field names || *')
2018-07-29 06:35:17 -07:00
nyanpasu64 1124c46f1e Type-check fields, when loading config dataclasses from YAML 2018-07-29 06:35:15 -07:00
nyanpasu64 960770fec0 Merge branch 'channel' into yaml 2018-07-29 06:35:02 -07:00
nyanpasu64 ceb673dcf1 Remove main() command line, add YAML dumping test 2018-07-29 06:33:52 -07:00
nyanpasu64 3bc7fdf81d Rename cfg.audio_path to master_audio 2018-07-25 05:25:53 -07:00
nyanpasu64 648829b4d9 Exclude default fields from YAML dumping. Add dumping unit tests. 2018-07-25 05:19:46 -07:00
nyanpasu64 a87642b38c Rename register_dataclass to register_config 2018-07-25 05:19:45 -07:00
nyanpasu64 65655b2645 [wip] Make config classes dumpable via YAML, rename base configs 2018-07-25 05:19:45 -07:00
nyanpasu64 63d1cb0352 Change Config values. Reorganize Config variable order for usability. 2018-07-23 20:44:24 -07:00
nyanpasu64 2928af9b01 Print current time once a second (to check progress) 2018-07-23 20:39:15 -07:00
nyanpasu64 19c0909752 Add amplification to WaveConfig 2018-07-23 20:38:15 -07:00
nyanpasu64 81c19aff2e Fix loading stereo files 2018-07-23 20:27:35 -07:00
nyanpasu64 5dcbaa544e Sort audio files, when loading from wave_dir 2018-07-23 20:27:06 -07:00
nyanpasu64 c27749f0e0 Reorganize outputs.py 2018-07-23 20:25:53 -07:00
nyanpasu64 d62d1203a0 Add --audio alias 2018-07-23 19:21:04 -07:00
nyanpasu64 586baa1d59 Fix Linux support (force Agg backend without GUI) (hack) 2018-07-23 03:49:29 -07:00
nyanpasu64 55f45d68c9 Fix Linux support (calling subprocess.Popen) 2018-07-23 02:43:05 -07:00
nyanpasu64 10bad44513 reformatting 2018-07-22 05:35:32 -07:00
nyanpasu64 0abe8968fa Restore ability to set create_window=True 2018-07-22 05:11:34 -07:00
nyanpasu64 366cffda04 Use ffmpeg to mux video and audio for ffplay 2018-07-22 05:06:46 -07:00
nyanpasu64 de36194085 Switch command-line options from --audio_path to --audio-path 2018-07-22 04:55:07 -07:00
nyanpasu64 56f98c4823 Implement FFplayOutput. Factor out ProcessOutput and _FFmpegCommand. 2018-07-22 03:51:38 -07:00
nyanpasu64 e4399640bc whatever 2018-07-22 03:51:29 -07:00
nyanpasu64 0a3ffe118c Change FFmpeg command to overwrite existing videos 2018-07-22 03:18:32 -07:00
nyanpasu64 b14d60fd75 Render to video using raw image data. Hide GUI.
Hide GUI since it changes window size, breaking the rendering process.
2018-07-22 03:17:31 -07:00
nyanpasu64 9816001f9d [wip] Frame capture and FFmpeg video output 2018-07-22 02:06:10 -07:00
nyanpasu64 46df1b8adc Rename master_wave to audio_path [ovgenpy.py] 2018-07-22 00:42:24 -07:00
nyanpasu64 206294f5c2 Check np.floating instead of np.float (fixes FutureWarning) 2018-07-20 14:26:02 -07:00
nyanpasu64 8729e46cdf wip 2018-07-20 14:19:43 -07:00
nyanpasu64 bf30acefc0 Trigger references Wave using weakref 2018-07-20 12:53:31 -07:00
nyanpasu64 1d7f29b943 Remove TODO message from Wave 2018-07-20 02:22:53 -07:00
nyanpasu64 c50ed2853e Perform most CorrelationTrigger calculations using FLOAT 2018-07-20 02:04:37 -07:00
nyanpasu64 34c660b55a Switch internal calculations to single-precision FLOAT 2018-07-20 01:29:49 -07:00
nyanpasu64 949baead3e Clarify Wave class "center" 2018-07-20 01:23:41 -07:00
nyanpasu64 332413e8ef Refactor Wave class and add support for float waves 2018-07-20 01:23:41 -07:00
nyanpasu64 26e3f36375 Optimize imports 2018-07-20 01:11:56 -07:00
nyanpasu64 fd4f8a8645 Clarify CorrelationTrigger get_trigger(index) 2018-07-19 22:37:40 -07:00
nyanpasu64 194ce67e0f Remove trailing whitespace 2018-07-19 22:31:15 -07:00
nyanpasu64 fb7932b952 Read WAV files using mmap=True 2018-07-16 18:23:53 -07:00
nyanpasu64 af41500266 Add scan_ratio parameter (scan time = time_visible_ms * scan_ratio)
Remove hardcoded scanning distance
2018-07-16 18:23:31 -07:00
nyanpasu64 2ad624be03 RendererConfig calculates orientation based on nrows or ncols.
- Ensure either nrows or ncols is set.
- If neither, set ncols=1 (single column).
- Remove rows_first flag.

Add test_renderer.py
2018-07-15 23:42:17 -07:00
nyanpasu64 8b71df0bbb Replace samples_visible with time_visible_ms
Factor out wave-reading code from MatplotlibRenderer backend.
MatplotlibRenderer backend hopefully plots arbitrary data, and can be
swapped with other backends.
2018-07-15 23:42:17 -07:00
nyanpasu64 56502d876f Reorganize and cleanup imports 2018-07-15 05:55:00 -07:00
nyanpasu64 7a5e0b11f1 Mark Wave(wcfg: WaveConfig) as Optional 2018-07-15 05:54:45 -07:00
nyanpasu64 20cbdab20f Add use_edge_trigger flag to CorrelationTrigger, tweak config parameters 2018-07-15 04:26:54 -07:00
nyanpasu64 e23145e193 Fix ZeroCrossingTrigger slowdown by removing `idx in range(...)` 2018-07-15 04:05:41 -07:00
nyanpasu64 709661dd93 Add Renderer.nwaves, refactor CorrelationTrigger and Wave 2018-07-15 04:04:53 -07:00
nyanpasu64 7a615c6d2a Removed unused utils/fourier.py 2018-07-15 04:01:13 -07:00
nyanpasu64 d7f15b233b Add ZeroCrossingTrigger and call it from CorrelationTrigger 2018-07-15 03:11:58 -07:00
nyanpasu64 9b9288f7ad Rename Trigger.get_trigger(offset) to index 2018-07-15 03:11:17 -07:00
nyanpasu64 90b2dc5afd Add type hints to Wave.__getitem__ 2018-07-15 03:09:48 -07:00
nyanpasu64 b01251fd21 Fix CorrelationTrigger and remove debugging code 2018-07-14 16:07:06 -07:00
nyanpasu64 1b50590ecc Remove debugging code (SHOW_TRIGGER) 2018-07-14 15:45:07 -07:00
nyanpasu64 0e575d9792 Fix CorrelationTrigger 2018-07-14 15:42:10 -07:00
nyanpasu64 a889903f4f Rename CorrelationTrigger._prev_buffer to _buffer, mark members private 2018-07-14 03:36:16 -07:00
nyanpasu64 6ccf84ff2d Replace TriggerConfig with CorrelationTrigger.Config. Add responsiveness. 2018-07-14 02:06:07 -07:00
nyanpasu64 c7ca023163 [wip] Half-working trigger 2018-07-13 23:54:14 -07:00
nyanpasu64 a35c3fc9bc Move renderer, triggers, wave to separate file 2018-07-13 20:58:00 -07:00
nyanpasu64 18c5720c54 Extract Wave.get(begin, end) from Wave.get_around 2018-07-13 20:57:19 -07:00
nyanpasu64 0e7f15ffbc [wip] Add buffer to CorrelationTrigger 2018-07-13 20:57:12 -07:00
nyanpasu64 df53a09328 Load waveform data from .wav. Rescale and zero-pad data. 2018-07-13 06:57:00 -07:00
nyanpasu64 48c4b14f5d Rename RendererCfg, TriggerCfg to RendererConfig, TriggerConfig 2018-07-13 06:55:17 -07:00
nyanpasu64 1a3aa5b3cb Rename Trigger to CorrelationTrigger with base class Trigger 2018-07-13 05:43:33 -07:00
nyanpasu64 013488a168 Use TriggerCfg as factory 2018-07-13 05:37:22 -07:00
nyanpasu64 b69c232e63 Add TriggerCfg which acts as factory 2018-07-13 05:08:19 -07:00
nyanpasu64 a19c02974f Reorganize and cleanup code, remove unused class Coords 2018-07-13 04:49:59 -07:00
nyanpasu64 beae6e8b2b Switch to integrated Brownian noise 2018-07-13 04:09:11 -07:00
nyanpasu64 a2fd00ef4e Add FPS profiling 2018-07-13 04:05:31 -07:00
nyanpasu64 faef07ba5c Set vertical scale properly 2018-07-13 03:55:56 -07:00
nyanpasu64 bee76bdd0b Set horizontal scale properly 2018-07-13 03:48:36 -07:00
nyanpasu64 3ee8f544c0 the plot almost works 2018-07-13 02:33:44 -07:00
nyanpasu64 131281268d Use pyplot to generate Figure and Axes[]. Remove figure gaps. 2018-07-13 02:29:51 -07:00
nyanpasu64 a14472b7ae [wip] Create Axes using subplot(), flatten to 1D array in custom order 2018-07-13 02:20:21 -07:00
nyanpasu64 0a11363f7b [wip] Plot waves to screen 2018-07-13 00:41:11 -07:00
nyanpasu64 e049260044 delete unused code 2018-07-12 19:30:35 -07:00
nyanpasu64 3d13666a72 reformat 2018-07-12 19:30:07 -07:00
nyanpasu64 4274744142 fixed the CLI 2018-07-12 19:29:05 -07:00
nyanpasu64 5dc16ea7de meh 2018-07-12 18:37:18 -07:00
nyanpasu64 3545240b9e progress 2018-07-12 17:48:51 -07:00
nyanpasu64 e0bcd53be4 initial code 2018-07-12 15:27:26 -07:00