Commit Graph

421 Commits (5bc5715bf97b25b746e1ede18ebe9090f0816115)

Author SHA1 Message Date
Mikael Finstad 7136e3677c
refactor 4 years ago
Mikael Finstad 23cbd73e93
upgrade lint and support esm
fix lint too
4 years ago
Mikael Finstad e0aa5b1a51
need to check input file dir also on MAS
because we now write project file next to input file
4 years ago
Mikael Finstad a71c4411d3
improve error message when loading file #937 4 years ago
Mikael Finstad f402ff8763
fix lint 4 years ago
Mikael Finstad e28b5130eb
add shortcuts for disable/enable segments #254
Add keyboard shortcut for "Include ONLY this segment in export", e.g. only currently selected segment, because some people often want to export only current segment and would like to not click a menu every time.
4 years ago
Mikael Finstad 04346f7e85
add play/pause hotkey
Separate Pause and Play shortcuts. The standard "toggle" play/pause shortcut is always useful of course, so I'm not talking about replacing that - just adding new shortcuts to specifically start or stop.
4 years ago
Mikael Finstad c2cb1f5501
add shortcut shift+j for toggling keyboard shortcut dialog #654
also allow resetting key config #726
4 years ago
Mikael Finstad 14ae45780b
implement hotkeys
jumpTimelineStart (ctrl+home)
jumpTimelineEnd (ctrl+end)
reorderSegsByStartTime,
invertAllCutSegments,
createFixedDurationSegments,
createNumSegments,
shuffleSegments,
clearSegments,
toggleSegmentsList,
toggleStreamsSelector,
extractAllStreams,
convertFormatCurrentFile,
convertFormatBatch,
concatBatch,
toggleKeyframeCutMode,
toggleCaptureFormat,
toggleStripAudio,
setStartTimeOffset,
4 years ago
Mikael Finstad 3e89e60981
Implement dynamic keyboard mapping #254
with UI to control mappings
4 years ago
Mikael Finstad 8f7eeb4fb2
fix bug 4 years ago
Mikael Finstad e777aba0d1
fix test 4 years ago
Mikael Finstad 6926df5f00
show error also if resulting duplicates
fixes #894
4 years ago
Mikael Finstad 53384a8bb3
fix open file logic 4 years ago
Mikael Finstad 3c4b996e03
move merge / batch functionality
from top menu into a menu on the batch file list
this means now you first open files in a batch, then either merge or batch convert them
4 years ago
Mikael Finstad 016d41f703
improve segment colors and ui 4 years ago
Mikael Finstad 364fb0df7a
improvemenst
remove frame rounding when seeking #585
also show video fps
improve split
cleanup refs and current time logic
4 years ago
Mikael Finstad 8795532430
simplify html5ify
fix html5ify progress on batch
4 years ago
Mikael Finstad c7bfcd63d4
fix lint 4 years ago
Mikael Finstad 61b7ca2e44
implement shuffle segments order 4 years ago
Mikael Finstad 19527802ef
fix lint 4 years ago
Mikael Finstad 8d39cd4042
pull out batch files list 4 years ago
Mikael Finstad bdd19b3afd
pull out loading component 4 years ago
Mikael Finstad 40f8bbc762
simplify settings 4 years ago
Mikael Finstad 81653eeb6b
improve cut/merge/chapters ui logic 4 years ago
Mikael Finstad fe88b3d6f6
implement import csv with frame numbers #1024 4 years ago
Mikael Finstad e57fcb1096
when importing EDL file, don't delete existing EDL
allows for combining EDL from multiple sources #993
4 years ago
Mikael Finstad 158964fe08
fix odd bug 4 years ago
Mikael Finstad 3615268a46
implement segments to chapters mode #993 4 years ago
Mikael Finstad 7f5351a300
improve bottom bar and colors #1016 4 years ago
Mikael Finstad 4b1fab189b
consolidate bottom menus 4 years ago
Mikael Finstad e7526b077e
make batch list resizable #89 4 years ago
Mikael Finstad ee74ce5530
remove unused 4 years ago
Mikael Finstad 7621729afc
rewrite layout to use flex 4 years ago
Mikael Finstad 18793beccf
move sidesheet where it belongs 4 years ago
Mikael Finstad ead6d85dbb
renam menus 4 years ago
Mikael Finstad 1d33b6b90a
don't open first file of batch
to make it faster to load batches
4 years ago
Mikael Finstad 64c7811037
implement chapters viewing
also consolidate getFormatData and getAllStreams
4 years ago
Mikael Finstad 20a1b506d3
allow appending files to batch list 4 years ago
Mikael Finstad 9ffc781c29
combine batch list and merge list #89
- add button to merge current batch list
- show more options in merge dialog
- allow preserving metadata when merging also when not using allStreams #1008
- remember concat/batch choice #371
5 years ago
Mikael Finstad e2175ab825
fix error message
when output directory doesn't have enough space to save the file
fixes #1015
5 years ago
Mikael Finstad ac127e88ab
improve waveform and keyframes
- allow up to 1000 keyframes in buffer before recycling #563
- buffer the last 100 rendered waveform segments #260

also:
- implement timeout/kill for ffprobe after 30 sec
5 years ago
Mikael Finstad d0b2f05113
add setting for auto convert to supported format
also remove unnecessary notification
closes #414
5 years ago
Mikael Finstad 701828f2a9
improve convert to supported format dialog
be smarter about relevant options
5 years ago
Mikael Finstad 9e9d63fd93
add remux video and enc audio option
for html5ify
closes #870
5 years ago
Mikael Finstad 7f6e7ed6f7
implement remove item from batch list #89
also optimize contextMenu (useMemo)
5 years ago
Mikael Finstad 69a3b91926
Implement more consistent segment colors #625 5 years ago
Mikael Finstad 87df1c5e5f
implement go to timecode #625
inputted value
`g` key or right click timeline context menu
5 years ago
Mikael Finstad 5534574df7
always save llc inside source directory
also refactor getOutPath
closes #905
5 years ago
Mikael Finstad 72b9fe53a4
rename 5 years ago
Mikael Finstad 375ee5d1d4
implement export frame numbers csv #878 5 years ago
Mikael Finstad 0ca64b0392
use formatTimecode more places #878 5 years ago
Mikael Finstad 6b5857b902
allow showing timecode as frame counts #878 5 years ago
Mikael Finstad 3df67d6bdc
upgrade cra 5 years ago
Mikael Finstad 2d705e5454
fix a bug
where a h265 file would not auto convert to supported format, because png was identified as a playable video stream
fixes #931
5 years ago
Mikael Finstad 5e2d8891c7
improve trash logic 5 years ago
Matt Klaber 6cc18f1d8e
Change playback speed exponentially (#840)
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
5 years ago
Michael Yaworski 3db3241ccd
Remove deleted files from batch (#861)
* Remove deleted files from batch

* improve a bit

Co-authored-by: Mikael Finstad <finstaden@gmail.com>
5 years ago
Vitalii Shvetsov 11502b84ed
Upgrade ESLint and add useCallback (#914)
* Improvements:

- Upgrade ESLint

* Missing useCallback.

Co-authored-by: Mikael Finstad <finstaden@gmail.com>
5 years ago
Mikael Finstad 2568f5cd0f
rearrange state a bit
also add missing setDispositionByStreamId on reset
5 years ago
Mikael Finstad 9666ce4a2c
run "power on self test" on startup 5 years ago
Mikael Finstad 17a33dd5df
allow drag-drop edl formats
csv, pbf, edl(mplayer), cue and xml (xmeml)
5 years ago
Mikael Finstad bc62fa0d06
Improve performance by batching react updates 5 years ago
Mikael Finstad 4b524d4e5c
paralellize 5 years ago
Mikael Finstad d3c8fce967
Implement batch file list #89 5 years ago
Mikael Finstad fb2adaf677
implement subtitle viewing #250
limitation: does not work with 'fastest' preview (due to canvas overlaying the video)
5 years ago
Mikael Finstad d64464ab01
remove duplicate line 5 years ago
Mikael Finstad 230b035286
implement per-stream disposition
allows for adding cover art to videos #673
5 years ago
Mikael Finstad 0d1cb5c091
refactor 5 years ago
Mikael Finstad 6c7b63d9c2
Store "working" in a ref so we can avoid race conditions 5 years ago
Mikael Finstad 612d883bd0
remove fairly useless notifications 5 years ago
Mikael Finstad d9fd31a199
fix flawed out directory detection logic 5 years ago
Mikael Finstad b7678510c7
Improvements
- Simplify and streamline preview file logic
- Allow remember preview choice (convert to supported format) #829
- Improve error handling
5 years ago
Mikael Finstad 96086d307f
improve merge/concat dialog
and don't auto sort by file name #832
5 years ago
Mikael Finstad fc7d4de774
allow colon in filename on linux #830
also fix issue where tags were not being sanitized
5 years ago
Mikael Finstad c004d82b1e
refactor 5 years ago
Mikael Finstad a0a7ba33b5
improve "done" toast 5 years ago
Mikael Finstad e688f151b6
UI improvements
- Upgrade evergreen-ui
- improve stream selector
- improve buttons
- add default error toast
- better error handling

https://github.com/segmentio/evergreen/releases/tag/v5.0.0
https://evergreen.segment.com/introduction/v6-migration-guide
5 years ago
Mikael Finstad 71e01f8485
Add check for output file length on windows #745 5 years ago
Mikael Finstad 34355c0df3
Convert to supported format also on PIPELINE_ERROR_DECODE #804 5 years ago
Mikael Finstad dffd1e448e
add supported conversion: "Fastest: Low playback speed (audio remux), likely to fail" #424
also refactor a bit
5 years ago
Mikael Finstad 4330ed9c76
Feature: invert all segments on timeline
also simplify inverseCutSegments logic
5 years ago
Mikael Finstad 079327dac3
allow controlling audio playback volume
closes #307
#125
5 years ago
Mikael Finstad 46323867ff
Don't show capture screenshot when "Hide informational notifications" #802 5 years ago
Mikael Finstad 65b1157ddb
refactor 5 years ago
Mikael Finstad 4c30c91307
improve feedback 5 years ago
Mikael Finstad b2cdbdb937
Simplify file open logic
so drag-drop works exactly the same as file->open and cmd line args
5 years ago
Mikael Finstad adcf79a6c2
Improvements
- Allow editing segment tags #427
- Store main project file as .lcc (JSON5 format), for future flexibility. existing CSV will still be loaded and converted to .llc #545
- Rename menu items to Export/import project (as we are not changing the save location) #593
5 years ago
Mikael Finstad 4a1ec76a90
allow longer label names when sanitize is disabled #427 5 years ago
Mikael Finstad 6a756e6eee
improve sanitize 5 years ago
Mikael Finstad faf70568dc
Add partial support for segment tags #427 #814
allows importing from cue files
does not support loading/saving
5 years ago
Mikael Finstad 8497f07bdc
add a setting for allowing disabling filename sanitizing #821 #427 5 years ago
Mikael Finstad 434d8b1698
Add clear working dir button
fixes #805
5 years ago
Mikael Finstad 40d95dbff5
implement sort by file name when drag-dropping multiple files 5 years ago
Mikael Finstad 33b9598a9d
upgrade react lottie player 5 years ago
Mikael Finstad bd6772c405
fix lint 5 years ago
Mikael Finstad 8a8a0d93ca
refactor 5 years ago
Mikael Finstad 4b565ccb37
refactor 5 years ago
Mikael Finstad 523bdb7daa
refactor 5 years ago
Mikael Finstad c1731c1e10
default to auto generated files checked #618 5 years ago
Mikael Finstad b66527f811
allow locking output format
fixes #615
5 years ago
Mikael Finstad 02c2d86a45
Improve trash dialog
Thanks to @Rubens10010
closes #618
fixes #698
5 years ago
Mikael Finstad d2f1994319
improve html5ified detection 5 years ago
Mikael Finstad af81e303ca
cleanup unused imports 5 years ago
Mikael Finstad bdb764fc13
use license free codecs for html5ify 5 years ago
Mikael Finstad 8dc1e6e99c
upgrade
- create-react-app
- eslint
5 years ago
Mikael Finstad 546b702e7a
refactor 5 years ago
Mikael Finstad 5830a44d99
implement language also in node land (menus, etc) 5 years ago
Mikael Finstad a4a2461a7c
invert enabled segments logic
so that newly added segments default to enabled
5 years ago
Mikael Finstad 326dc42315
fix bug 5 years ago
Mikael Finstad f6b824d04d
improvements
- implement drag drop sort #392
- scroll segment into view
- refactor
5 years ago
Mikael Finstad dd80971a61
Improvements
- Allow arbitrarily selecting which segments to export - fixes #682 #358
- Add context menu to segments (right click) #392
- Double click segment to jump to cut start #392
5 years ago
Mikael Finstad 4e39a3c9c2
Remove merge/separate setting
it is now in the main UI
https://github.com/mifi/lossless-cut/issues/480#issuecomment-772853087
5 years ago
Mikael Finstad 6093acee63
implement export single track 5 years ago
Mikael Finstad d5e03784d7
Implement EDL import
Only supports type=0 (cut)
also refactor

Closes #609
5 years ago
Mikael Finstad 6c2026c9a9
Notify user about rotation in MKV
https://github.com/mifi/lossless-cut/discussions/661
5 years ago
Mikael Finstad 7ff74110e8
Implement youtube export dialog
Also improve youtube import
Closes #657
5 years ago
Mikael Finstad 2550693238
Bring back merge/split button in main UI #480 #663 5 years ago
Mikael Finstad e72d0a6953
Implement setting for preserve file timestamps
Closes #611
Pull all ffmpeg operatins that transfer timestamps into its own react hook
5 years ago
Mikael Finstad 5704713a06
offset mtime/atime by currentTime
I think it's more normal for mtime to be start of recording
5 years ago
Mikael Finstad bd3c251d12
Allow labelling segments with enter key #655 5 years ago
Mikael Finstad 8ed6cbdc74
upgrade to react-lottie-player 5 years ago
Mikael Finstad a319782a1e
Improve error when not access to opened file 6 years ago
Mikael Finstad 30ba5fe041
Fix issue with relative paths and allow multiple on command line
Fixes #639
Fixes #591
6 years ago
Mikael Finstad 95db959f5b
Add merge+segments option #480 6 years ago
Mikael Finstad 56a2fdc09b
disallow colon (:) in output template
fixes #631
6 years ago
Mikael Finstad f4cab7b5f7
Add default button to tuner. fixes #627, closes #636, closes #635 6 years ago
Mikael Finstad 79f0d4c61b
Make zoomed timeline more smooth 6 years ago
Mikael Finstad 90faeb11ce fix rounding error #447 6 years ago
Mikael Finstad 8ea08cf65c add keyboard seek speed tuner #553 6 years ago
Mikael Finstad 2eb42d2ef3 add keyboard seek acceleration #604 6 years ago
Mikael Finstad c97ea883f7 make undo/redo work for input elements #610
but now only keyboard shortcut works for segments
(not menu)
6 years ago
Mikael Finstad 6bb0a2aa13 add copy report to clipboard button 6 years ago
Mikael Finstad 69cea1a70f pull out dialog 6 years ago
Mikael Finstad c5e7313a81 pull out user preferences to hook 6 years ago
Mikael Finstad eb8f7af5e0 Implement custom file name templates #96 6 years ago
Mikael Finstad e641865821 make mouse wheel scroll work also when the cursor is over the video, not just timeline #248 #553 6 years ago
Mikael Finstad b9bde3b2bb add out of space dialog #328 6 years ago
Mikael Finstad 6cc9285d60 optimize 6 years ago
Mikael Finstad 42b991a179 refactor 6 years ago
Mikael Finstad b69c4728d7 add timestamp csv export #546 6 years ago
Mikael Finstad da48d5bd1b implement TSV export #545
Also fix #503
6 years ago
Mikael Finstad 69f3845689 Make trash function more flexible #541 6 years ago
Mikael Finstad f5afe25715 add clear segments menu item #537 #546 6 years ago
Mikael Finstad 1d168804e8 Beginner improvements #546 6 years ago
Mikael Finstad e45e278413 fix bug 6 years ago
Mikael Finstad bc14fa8067 Improve simple mode #546 6 years ago
Mikael Finstad 1a59341247 don't allow remove initial cut segments 6 years ago
Mikael Finstad 2462278caf implement MOV FastStart option #347 6 years ago
Mikael Finstad 35d4ca20fb refactor/simplify 6 years ago
Mikael Finstad dd6a77880d Improve trash button #537 6 years ago
Mikael Finstad 1662adb1e3 implement simple mode #546 6 years ago
Mikael Finstad 035dff2cc9 improve no file loaded screen 6 years ago
Mikael Finstad 19c002b64a allow create chapters when merge files too 6 years ago
Mikael Finstad 8c8fa8e4c9 fix bug 6 years ago
Mikael Finstad f481f21c36 improve menus 6 years ago
Mikael Finstad 123e2269e6 Confirm extract all streams and hide streams selector when exporting 6 years ago
Mikael Finstad c7b04e99bc Include segment number in output file
for segment without any label
Fixed #536
6 years ago
Mikael Finstad 3cedc453e3 Allow disabling merge metadata preservation
https://github.com/mifi/lossless-cut/issues/480#issuecomment-743195727
Also make it more clear that chapters from meta is slow
6 years ago
Mikael Finstad d8f55f7a70 implement mov detection 6 years ago
Mikael Finstad 5ac299a050 Implement simple file and track metadata editor #496 6 years ago
Mikael Finstad e62fb6a64b Go back to mousetrap
seems to be the only lib properly handling layouts that require
shift to be pressed to get a particular key #520
Also document.addEventListener needs custom handling of modifier keys
or C will be triggered by CTRL+C, etc
6 years ago
Mikael Finstad 5f6e9f33dc option to write segment labels as chapters #318 6 years ago
Mikael Finstad 46f500568f Add pbf import #421
https://github.com/fireattack/chapter_converter
6 years ago
Mikael Finstad 26c57fb6a7 Fix hotkey issue introduced when replacing mousetrap #520 6 years ago
Mikael Finstad 79dcddc604 Allow turn off export confirm dialog #512 6 years ago
Mikael Finstad f2b44b3726 Allow disable deletion of merged segments #480 6 years ago
Mikael Finstad a3bce63650 Load timecode offset from file #506 6 years ago
Mikael Finstad 49a0d7db17 Fix reorder logic #421 6 years ago
Mikael Finstad 8660d95a34 Improvements for files without a valid duration 6 years ago
Mikael Finstad 1983d3f374 add missing line 6 years ago
Mikael Finstad 2e05b69da5 Fix bug #515 6 years ago
Mikael Finstad e593303411 Show time when moving mouse over timeline #92 6 years ago
Mikael Finstad 052d6c33f3 Implement export single #358 6 years ago
Mikael Finstad a0f631acc8 add order segment button #392 6 years ago
Mikael Finstad 0cbbd2f1d3 Add hotkey for jump cut start/end #377 #254 6 years ago
Mikael Finstad 60d7003b67 Implement rotation hotkey #254 6 years ago
Mikael Finstad 930d19c490 Fix unsupported file for non existing file #451 6 years ago
Mikael Finstad 6e94eb107b hide another notification 6 years ago
Mikael Finstad 267225996e Add option to hide certain notifications #467 6 years ago
Mikael Finstad 689098369f Improve export summary 6 years ago
Mikael Finstad e555442529 Fix saving race condition #510 6 years ago
Mikael Finstad 5b0a37d92a Implement reorder cut segments by start time #460 6 years ago
Mikael Finstad 5390085bff Many improvements
- Implement an Export summary/confirmation sheet when pressing export
- Move output option buttons to export sheet
- Add config option to disable use_metadata_tags (default to false) #463 #402 #99
- Add config option for avoid_negative_ts #13
- Escape key to close sheets
- Change from mousetrap to hotkeys.js (better unbind - more compatible with react)
6 years ago
Mikael Finstad 1cdc8d1d38 Add function to fix duration #477 6 years ago
Mikael Finstad e2d219b51c refactor 6 years ago
Mikael Finstad 40694fe738 Improve duration logic #477 6 years ago
Mikael Finstad 53850aac7d Implement split segment function #460 6 years ago
Mikael Finstad e855482513 use use-debounce
instead of react-use/useDebounce (use-debounce is better)
6 years ago
Mikael Finstad 83c5b5fbd6 pull out dialogs 6 years ago
Mikael Finstad 0882d1afd3 improvement 6 years ago
Mikael Finstad 201850062f shrink App.jsx 6 years ago
Mikael Finstad 1cd3139ff4 Implement split into fixed duration segments #469 6 years ago
Mikael Finstad 7da209b253 Add function to create number of segments #469 6 years ago
Mikael Finstad a5a58ca8a1 allow undo on segment import 6 years ago
Mikael Finstad 68ae15f731 Improve cut segment import (less error) 6 years ago
Mikael Finstad 81eb66faa2 Many improvements
- Add config option for asking about file open #467
- Implement text/youtube segments import #458
- Implement CUE sheet import #458
- Implement XMEML import (Final Cut Pro / Davinci Resolve)
- Allow import embedded chapters as segments #300
6 years ago
Mikael Finstad 7e59ee6757 Add XMEML importer #458 6 years ago
Mikael Finstad 3c909a5cfc improve error report 6 years ago
Mikael Finstad 0c2bd1df94 improve help 6 years ago