{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":465897475,"defaultBranch":"master","name":"reference-importer","ownerLogin":"JaimeFlorian27","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-03-03T21:57:54.000Z","ownerAvatar":"https://github.com/avatars/u/60119094?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1713681909.0","currentOid":""},"activityList":{"items":[{"before":"da35d927479ea6d911ae07ea97cd193aecdc0590","after":"57c4706fcf4cb078f8a64a969733860b18c3eb77","ref":"refs/heads/qml","pushedAt":"2024-06-10T08:07:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: implemented foundations of new object oriented API.\n\nThis commit introduces several breaking changes towards update 2.0.0 of reference importer, more specifically, a brand new API for keeping reference importer extensible:\n\nNew classes:\n- Video: describes a video file on disk.\n- VideoMetadata: stores commonly accessed metadata for video, such a frame rate, resolution and duration.\n- VideoProcessor: Provides a namespace for methods that use ffmpeg to process a video.\n- ProcessorOptions: Class that stores the options that should be used at processing time.\n- Timecode: Stores the parts that describe a SMPTE timecode.\n\nAPI usage:\n```\nfrom reference_importer import Video, VideoProcessor, ProcessorOptions, Timecode\n\nvideo = Video(SAMPLE_VIDEO)\noptions = ProcessorOptions(\n video_start=Timecode.from_milliseconds(0.0, video.metadata.frame_rate),\n video_end=video.metadata.duration,\n padding=\"%03d\",\n frame_rate=24,\n output_dir=test_dir,\n output_file_name=test_file_name,\n output_extension=\".jpg\",\n)\n\nVideoProcessor.create_image_sequence(video, options)\n```\n\nThis commit also introduces a new bin script, `reference_importer` meant to be used a a CLI way to interact with reference importer.\n\nOther changes:\n- Removed rez build for now, in order to explore other options that might be more suitable for this project, considering it will be available to the masses.\n- Updated dependencies in pyproject.toml.\n- Added ruff linting configuration in pyproject.toml.","shortMessageHtmlLink":"feat: implemented foundations of new object oriented API."}},{"before":"b5387b8e0592aff3bb78dc1d78322ce3b81fb45d","after":"da35d927479ea6d911ae07ea97cd193aecdc0590","ref":"refs/heads/qml","pushedAt":"2024-06-10T07:48:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: implemented foundations of new object oriented API.\n\nThis commit introduces several breaking changes towards update 2.0.0 of reference importer, more specifically, a brand new API for keeping reference importer extensible:\n\nNew classes:\n- Video: describes a video file on disk.\n- VideoMetadata: stores commonly accessed metadata for video, such a frame rate, resolution and duration.\n- VideoProcessor: Provides a namespace for methods that use ffmpeg to process a video.\n- ProcessorOptions: Class that stores the options that should be used at processing time.\n- Timecode: Stores the parts that describe a SMPTE timecode.\n\nAPI usage:\n```\nfrom reference_importer import Video, VideoProcessor, ProcessorOptions, Timecode\n\nvideo = Video(SAMPLE_VIDEO)\noptions = ProcessorOptions(\n video_start=Timecode.from_milliseconds(0.0, video.metadata.frame_rate),\n video_end=video.metadata.duration,\n padding=\"%03d\",\n frame_rate=24,\n output_dir=test_dir,\n output_file_name=test_file_name,\n output_extension=\".jpg\",\n)\n\nVideoProcessor.create_image_sequence(video, options)\n```\n\nThis commit also introduces a new bin script, `reference_importer` meant to be used a a CLI way to interact with reference importer.\n\nOther changes:\n- Removed rez build for now, in order to explore other options that might be more suitable for this project, considering it will be available to the masses.\n- Updated dependencies in pyproject.toml.\n- Added ruff linting configuration in pyproject.toml.","shortMessageHtmlLink":"feat: implemented foundations of new object oriented API."}},{"before":"3919c9b7f868eaacd936453eca40672853051858","after":null,"ref":"refs/heads/multiplatform","pushedAt":"2024-04-21T06:38:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"}},{"before":"75671645f356ff2624f615d6aaf2ec1fcac848a8","after":"d62d5d65d33b4cda54bdfa5cfc581e7e530846f1","ref":"refs/heads/master","pushedAt":"2024-04-21T06:38:35.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"Merge pull request #9 from JaimeFlorian27/multiplatform\n\nfeat: removed findstr dependency, added linux and mac support.","shortMessageHtmlLink":"Merge pull request #9 from JaimeFlorian27/multiplatform"}},{"before":"e9fe7c6de004d6e72848e99a679ae99b9e1ba159","after":"3919c9b7f868eaacd936453eca40672853051858","ref":"refs/heads/multiplatform","pushedAt":"2024-04-21T06:37:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: removed findstr dependency, added linux and mac support\n\n- Replaced findstr with regex to find the duration of the video.\n- Added new logic for finding the ffmpeg executable to use, falling back to an ffmpeg available on PATH in case there is not one available in the bin folder.","shortMessageHtmlLink":"feat: removed findstr dependency, added linux and mac support"}},{"before":"7ca10a08cceb5a88b1bb96911f3ead8b9d2eccc0","after":"e9fe7c6de004d6e72848e99a679ae99b9e1ba159","ref":"refs/heads/multiplatform","pushedAt":"2024-04-21T06:10:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: removed findstr dependecy, added linux and mac support\n\n- Replaced findstr with regex to find the duration of the video.\n- Added new logic for finding the ffmpeg executable to use, falling back to an ffmpeg available on PATH in case there is not one available in the bin folder.","shortMessageHtmlLink":"feat: removed findstr dependecy, added linux and mac support"}},{"before":"9820a822fca9014f85f4bd27bf9c9661e5c21b4a","after":"7ca10a08cceb5a88b1bb96911f3ead8b9d2eccc0","ref":"refs/heads/multiplatform","pushedAt":"2024-04-21T04:21:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: removed findstr dependecy, added linux and mac support\n\n- Replaced findstr with regex to find the duration of the video.\n- Added new logic for finding the ffmpeg executable to use, falling back to an ffmpeg available on PATH in case there is not one available in the bin folder.","shortMessageHtmlLink":"feat: removed findstr dependecy, added linux and mac support"}},{"before":"0d4f6054fa9820e5dd9fb9151affc2c9309563b3","after":"9820a822fca9014f85f4bd27bf9c9661e5c21b4a","ref":"refs/heads/multiplatform","pushedAt":"2024-04-21T03:55:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: removed findstr dependecy, added linux and mac support\n\n- Replaced findstr with regex to find the duration of the video.\n- Added new logic for finding the ffmpeg executable to use, falling back to an ffmpeg available on PATH in case there is not one available in the bin folder.","shortMessageHtmlLink":"feat: removed findstr dependecy, added linux and mac support"}},{"before":"75671645f356ff2624f615d6aaf2ec1fcac848a8","after":"0d4f6054fa9820e5dd9fb9151affc2c9309563b3","ref":"refs/heads/multiplatform","pushedAt":"2024-04-19T03:19:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"wip: removing findstr dependecy and adding ffmpeg resolutionn logic","shortMessageHtmlLink":"wip: removing findstr dependecy and adding ffmpeg resolutionn logic"}},{"before":null,"after":"75671645f356ff2624f615d6aaf2ec1fcac848a8","ref":"refs/heads/multiplatform","pushedAt":"2024-04-16T15:12:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"fix: QOL support for PySide6, basic standalone mode\n\nThis commits adds:\n- Qt.py as an abstraction for PySide2/6, in order to support Maya 2025.\n- Replaced QRegExp with python's built-in re module.\n- Standalone mode by executing ReferenceImporterMain.py with python.\n- Relative imports.","shortMessageHtmlLink":"fix: QOL support for PySide6, basic standalone mode"}},{"before":"7a2a9ad4cf0ef7c4a5f0ad1c1cf9f8986c7d644e","after":"b5387b8e0592aff3bb78dc1d78322ce3b81fb45d","ref":"refs/heads/qml","pushedAt":"2024-04-14T05:49:16.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"wip: export panel","shortMessageHtmlLink":"wip: export panel"}},{"before":"9d665ebb6fbf9cf59f54e9d3991c5cccad5068b7","after":"75671645f356ff2624f615d6aaf2ec1fcac848a8","ref":"refs/heads/master","pushedAt":"2024-04-01T04:14:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"fix: QOL support for PySide6, basic standalone mode\n\nThis commits adds:\n- Qt.py as an abstraction for PySide2/6, in order to support Maya 2025.\n- Replaced QRegExp with python's built-in re module.\n- Standalone mode by executing ReferenceImporterMain.py with python.\n- Relative imports.","shortMessageHtmlLink":"fix: QOL support for PySide6, basic standalone mode"}},{"before":"377045821b9dea15042bff49880766b81b82d56f","after":"7a2a9ad4cf0ef7c4a5f0ad1c1cf9f8986c7d644e","ref":"refs/heads/qml","pushedAt":"2024-03-12T17:49:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: formatted all components, added animated button\n\nAlso started work on the ExportPanel.","shortMessageHtmlLink":"feat: formatted all components, added animated button"}},{"before":"52f4fd466c546db5d9890c37d81577fb32258b6c","after":"377045821b9dea15042bff49880766b81b82d56f","ref":"refs/heads/qml","pushedAt":"2024-02-19T20:16:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: added animation state machine for video controls\n\nHovering now triggers an opacity transition for the controls.","shortMessageHtmlLink":"feat: added animation state machine for video controls"}},{"before":"26e70159d5137fbd5f341de47eafabb5effb0ef4","after":"52f4fd466c546db5d9890c37d81577fb32258b6c","ref":"refs/heads/qml","pushedAt":"2024-02-05T08:52:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: fixed width resizing for slider, base for other playback controls","shortMessageHtmlLink":"feat: fixed width resizing for slider, base for other playback controls"}},{"before":"5bab8f6deff5cad2bbef681e726afe2303a51abd","after":"26e70159d5137fbd5f341de47eafabb5effb0ef4","ref":"refs/heads/qml","pushedAt":"2024-02-05T08:24:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: finished first implementation of limited video range slider","shortMessageHtmlLink":"feat: finished first implementation of limited video range slider"}},{"before":"1d828fc5f843f683814b7f1bc78fa123b980b751","after":"5bab8f6deff5cad2bbef681e726afe2303a51abd","ref":"refs/heads/qml","pushedAt":"2024-02-01T09:53:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"wip: styled range slider, added seek indicator\n\nseek indicator position is driven by a js function defined in the\nVideoRangeSlider component, it works great now but I'll improve it.","shortMessageHtmlLink":"wip: styled range slider, added seek indicator"}},{"before":"f4ea401817157bc0baefa061ff66a32844b887fb","after":"1d828fc5f843f683814b7f1bc78fa123b980b751","ref":"refs/heads/qml","pushedAt":"2024-01-29T08:48:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: added organization of qml components.\n\nI've broken off different components from main.qml to practice some DRY,\nthis takes advantage of the qmldir conventions to create importable\ncomponents.","shortMessageHtmlLink":"feat: added organization of qml components."}},{"before":null,"after":"f4ea401817157bc0baefa061ff66a32844b887fb","ref":"refs/heads/qml","pushedAt":"2024-01-29T02:20:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: new QML UI\n\nAfter debating for a bit, this project will transition to using\nQML for its UI, with an interactive video cropping component.\n\nThis commit marks the beginning of this change by setting up the\nbasic layout in the UI and adding and modifying all the necessary\nfile.","shortMessageHtmlLink":"feat: new QML UI"}},{"before":"d960aa01e7060b8b58615103946ee56f1ff3adf5","after":"2d2eb068e1aa66c61218faba49e28d94a2c14391","ref":"refs/heads/dev","pushedAt":"2023-06-04T06:48:34.622Z","pushType":"push","commitsCount":1,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"wip: adding build system for rez, moved python package to python subfolder","shortMessageHtmlLink":"wip: adding build system for rez, moved python package to python subf…"}},{"before":"a4ad3cb94447033fdb8e301d39cc83356c8dc9de","after":"d960aa01e7060b8b58615103946ee56f1ff3adf5","ref":"refs/heads/dev","pushedAt":"2023-04-08T06:14:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: better package organization","shortMessageHtmlLink":"feat: better package organization"}},{"before":"bd4b81f64b3519cbad82c65e7176f218f780e8ce","after":"a4ad3cb94447033fdb8e301d39cc83356c8dc9de","ref":"refs/heads/dev","pushedAt":"2023-04-07T19:23:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: optional DccFacade in main","shortMessageHtmlLink":"feat: optional DccFacade in main"}},{"before":"a0d415eab143b49f2ebaa0ffcaf19b18cd08face","after":"bd4b81f64b3519cbad82c65e7176f218f780e8ce","ref":"refs/heads/dev","pushedAt":"2023-04-07T18:09:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: DCC abstraction through facade","shortMessageHtmlLink":"feat: DCC abstraction through facade"}},{"before":"da6a6f22f337ca1fc8556cfc0f992b42a9e3ea4b","after":"a0d415eab143b49f2ebaa0ffcaf19b18cd08face","ref":"refs/heads/dev","pushedAt":"2023-04-05T08:02:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"fix: Create Image Sequence button disabled from .ui file","shortMessageHtmlLink":"fix: Create Image Sequence button disabled from .ui file"}},{"before":"7b61e65879d9285fa4dd4d94cdd5c5e94a91b743","after":"da6a6f22f337ca1fc8556cfc0f992b42a9e3ea4b","ref":"refs/heads/dev","pushedAt":"2023-04-05T07:52:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: better readibility for qt connections, new create image sequence using ffmpeg layer.","shortMessageHtmlLink":"feat: better readibility for qt connections, new create image sequenc…"}},{"before":"ee2f0ee97e1fa964d73d60a7f39bef3fdaf5ac47","after":"7b61e65879d9285fa4dd4d94cdd5c5e94a91b743","ref":"refs/heads/dev","pushedAt":"2023-04-05T07:33:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"fix: added .vscode to gitignore","shortMessageHtmlLink":"fix: added .vscode to gitignore"}},{"before":"71560af770f01248983be7544cecc2b1bd691229","after":"ee2f0ee97e1fa964d73d60a7f39bef3fdaf5ac47","ref":"refs/heads/dev","pushedAt":"2023-04-05T06:22:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: video processor using ffmpeg pythonic layer, reformatted get_duration to use this new layer. unit testing","shortMessageHtmlLink":"feat: video processor using ffmpeg pythonic layer, reformatted get_du…"}},{"before":null,"after":"71560af770f01248983be7544cecc2b1bd691229","ref":"refs/heads/dev","pushedAt":"2023-04-05T03:06:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JaimeFlorian27","name":"Jaime Florian Urueta","path":"/JaimeFlorian27","primaryAvatarUrl":"https://github.com/avatars/u/60119094?s=80&v=4"},"commit":{"message":"feat: major refactoring, cringing looking at this old code... adjusting to pep8 and standard practices","shortMessageHtmlLink":"feat: major refactoring, cringing looking at this old code... adjusti…"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xMFQwODowNzo0My4wMDAwMDBazwAAAARg2MUK","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xMFQwODowNzo0My4wMDAwMDBazwAAAARg2MUK","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNC0wNVQwMzowNjo0Mi4wMDAwMDBazwAAAAMSWjAj"}},"title":"Activity · JaimeFlorian27/reference-importer"}