WIP: Sequencer: Add file manager #121952

Draft
Gangneron wants to merge 8 commits from Gangneron/blender:gangneron-patch-5 into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
First-time contributor

The PR add file manager for Sequencer. The goal is to be able to sort our files more easily to facilitate workflow with a large number of files.
I think divide the manager in 4 or 5 parts : videos, pictures, sound, text and why not effect.
This is in the form of a tab which displays all the media with the possibility of clicking on images to see only the images. Videos to see only the videos...

design task: #78990

Note for reviewers: the added file is sequencer_manager.cc and the modified file is the Cmake file of the space_sequencer with the addition of the sequencer_manager.cc file, the rest of the changes are due to an attempt to merge

It's update of #121949
This PR initially contained an old project, that's why there are 3 fixes.

  • Add UI

  • Add ID for the files

  • Drag / drop

  • Files in cache / memory

The PR add file manager for Sequencer. The goal is to be able to sort our files more easily to facilitate workflow with a large number of files. I think divide the manager in 4 or 5 parts : videos, pictures, sound, text and why not effect. This is in the form of a tab which displays all the media with the possibility of clicking on images to see only the images. Videos to see only the videos... design task: #78990 Note for reviewers: the added file is sequencer_manager.cc and the modified file is the Cmake file of the space_sequencer with the addition of the sequencer_manager.cc file, the rest of the changes are due to an attempt to merge It's update of #121949 This PR initially contained an old project, that's why there are 3 fixes. - [ ] Add UI - [ ] Add ID for the files - [ ] Drag / drop - [ ] Files in cache / memory
Gangneron added 2 commits 2024-05-18 19:19:48 +02:00
Gangneron added 1 commit 2024-05-18 19:28:11 +02:00
Gangneron added 1 commit 2024-05-18 19:30:32 +02:00
Gangneron added 1 commit 2024-05-18 19:31:32 +02:00
Gangneron reviewed 2024-05-18 19:32:21 +02:00
@ -73,6 +75,16 @@ if(WITH_AUDASPACE)
add_definitions(-DWITH_AUDASPACE)
endif()
if(WITH_TBB)
Author
First-time contributor

these lines added themselves

these lines added themselves
Gangneron reviewed 2024-05-18 19:32:40 +02:00
@ -46,6 +47,7 @@ set(SRC
sequencer_intern.hh
sequencer_quads_batch.hh
sequencer_scopes.hh
Author
First-time contributor

this line added itself

this line added itself
Iliya Katushenock added this to the Video Sequencer project 2024-05-18 19:33:21 +02:00
Gangneron requested review from Richard Antalik 2024-05-18 19:34:33 +02:00
Gangneron requested review from Aras Pranckevicius 2024-05-18 19:35:42 +02:00

Thanks for patch. Unfortunately, I don't think I can accept this, due to multiple reasons:

  • The patch is probably based on quite old version of main branch, so it doesn't compile
  • Even if I update the patch, function file_selector_panel_register() is not called from anywhere, nor are operators registered
  • The operators do nothing
  • But the most important thing is, that I think you underestimate the goals outlined in #78990. This patch adds a panel with 4 operators

The goal of #78990, is to have ID's representing media files that can be used by multiple strips. In addition these ID's would have separate preview area and start and end frames can be defined there. To manage these ID's a media management area would be created, where user can drag and drop assets(media).
This task pretty much means a whole new editor would be added for Blender dedicated to handling these assets. So it would be a bit more complicated than just a panel.

Not sure if there are some changes or whole files lost here. In any case, I would be OK with you working on this task, but it would be much much more work than this patch.

Thanks for patch. Unfortunately, I don't think I can accept this, due to multiple reasons: - The patch is probably based on quite old version of main branch, so it doesn't compile - Even if I update the patch, function `file_selector_panel_register()` is not called from anywhere, nor are operators registered - The operators do nothing - But the most important thing is, that I think you underestimate the goals outlined in #78990. This patch adds a panel with 4 operators The goal of #78990, is to have ID's representing media files that can be used by multiple strips. In addition these ID's would have separate preview area and start and end frames can be defined there. To manage these ID's a media management area would be created, where user can drag and drop assets(media). This task pretty much means a whole new editor would be added for Blender dedicated to handling these assets. So it would be a bit more complicated than just a panel. Not sure if there are some changes or whole files lost here. In any case, I would be OK with you working on this task, but it would be much much more work than this patch.
Gangneron changed title from Sequencer: Add file manager to WIP: Sequencer: Add file manager 2024-05-19 16:41:09 +02:00
Author
First-time contributor

ok so i should create new editor

Thanks for patch. Unfortunately, I don't think I can accept this, due to multiple reasons:

  • The patch is probably based on quite old version of main branch, so it doesn't compile
  • Even if I update the patch, function file_selector_panel_register() is not called from anywhere, nor are operators registered
  • The operators do nothing
  • But the most important thing is, that I think you underestimate the goals outlined in #78990. This patch adds a panel with 4 operators

The goal of #78990, is to have ID's representing media files that can be used by multiple strips. In addition these ID's would have separate preview area and start and end frames can be defined there. To manage these ID's a media management area would be created, where user can drag and drop assets(media).
This task pretty much means a whole new editor would be added for Blender dedicated to handling these assets. So it would be a bit more complicated than just a panel.

Not sure if there are some changes or whole files lost here. In any case, I would be OK with you working on this task, but it would be much much more work than this patch.

ok so i create na new editor ? I thought you just wanted an additional tab in the VSE, I added id management for example id = 1 for videos, id = 2 for images... I suppose you also need to add a python file specific to handle this.

ok so i should create new editor > Thanks for patch. Unfortunately, I don't think I can accept this, due to multiple reasons: > - The patch is probably based on quite old version of main branch, so it doesn't compile > - Even if I update the patch, function `file_selector_panel_register()` is not called from anywhere, nor are operators registered > - The operators do nothing > - But the most important thing is, that I think you underestimate the goals outlined in #78990. This patch adds a panel with 4 operators > > The goal of #78990, is to have ID's representing media files that can be used by multiple strips. In addition these ID's would have separate preview area and start and end frames can be defined there. To manage these ID's a media management area would be created, where user can drag and drop assets(media). > This task pretty much means a whole new editor would be added for Blender dedicated to handling these assets. So it would be a bit more complicated than just a panel. > > Not sure if there are some changes or whole files lost here. In any case, I would be OK with you working on this task, but it would be much much more work than this patch. ok so i create na new editor ? I thought you just wanted an additional tab in the VSE, I added id management for example id = 1 for videos, id = 2 for images... I suppose you also need to add a python file specific to handle this.
Gangneron added 1 commit 2024-05-19 17:01:07 +02:00
4097339241 progress
Add id system and the operator in register
Gangneron added 1 commit 2024-05-19 17:03:31 +02:00
1ed98b4f19 progress
Fix format
Gangneron added 1 commit 2024-05-19 17:05:12 +02:00

ok so i create na new editor ? I thought you just wanted an additional tab in the VSE

I guess I should have said editor type, but this is not very clear from available design. First of all a more detailed plan would have to be created and agreed on.

I added id management for example id = 1 for videos, id = 2 for images... I suppose you also need to add a python file specific to handle this.

I don't think the code you have added in this context even compiles, if it would it would do nothing still. I am referring to struct ID defined in DNA_ID.h

In any case, I was bit confused by this PR, so I have looked at your previous submissions, and I think a simpler fixes or features would be better suited to you. This one is fairly complicated and I think it would be best if it's undertaken by skilled developer.

> ok so i create na new editor ? I thought you just wanted an additional tab in the VSE I guess I should have said editor type, but this is not very clear from available design. First of all a more detailed plan would have to be created and agreed on. > I added id management for example id = 1 for videos, id = 2 for images... I suppose you also need to add a python file specific to handle this. I don't think the code you have added in this context even compiles, if it would it would do nothing still. I am referring to `struct ID` defined in `DNA_ID.h` In any case, I was bit confused by this PR, so I have looked at your previous submissions, and I think a simpler fixes or features would be better suited to you. This one is fairly complicated and I think it would be best if it's undertaken by skilled developer.
Author
First-time contributor

ok so i create na new editor ? I thought you just wanted an additional tab in the VSE

I guess I should have said editor type, but this is not very clear from available design. First of all a more detailed plan would have to be created and agreed on.

I added id management for example id = 1 for videos, id = 2 for images... I suppose you also need to add a python file specific to handle this.

I don't think the code you have added in this context even compiles, if it would it would do nothing still. I am referring to struct ID defined in DNA_ID.h

In any case, I was bit confused by this PR, so I have looked at your previous submissions, and I think a simpler fixes or features would be better suited to you. This one is fairly complicated and I think it would be best if it's undertaken by skilled developer.

my idea is that it looks like the video. For the moment I have the interface. I know we will need to assign IDs to each strip so that they can be used by the timeline. Drag and drop shouldn't be the most complicated element to set up. For the rest, the files must be put in memory or cache because they must be stored. This is surely the most complex element. It will possibly remain to integrate a preview of the files if desired. If the video system suits you I can continue development. For information, the software in the video is called Openshoot video editor and we were inspired by certain parts of the code because it is open source.
I await your opinion

> > ok so i create na new editor ? I thought you just wanted an additional tab in the VSE > > I guess I should have said editor type, but this is not very clear from available design. First of all a more detailed plan would have to be created and agreed on. > > > I added id management for example id = 1 for videos, id = 2 for images... I suppose you also need to add a python file specific to handle this. > > I don't think the code you have added in this context even compiles, if it would it would do nothing still. I am referring to `struct ID` defined in `DNA_ID.h` > > In any case, I was bit confused by this PR, so I have looked at your previous submissions, and I think a simpler fixes or features would be better suited to you. This one is fairly complicated and I think it would be best if it's undertaken by skilled developer. my idea is that it looks like the video. For the moment I have the interface. I know we will need to assign IDs to each strip so that they can be used by the timeline. Drag and drop shouldn't be the most complicated element to set up. For the rest, the files must be put in memory or cache because they must be stored. This is surely the most complex element. It will possibly remain to integrate a preview of the files if desired. If the video system suits you I can continue development. For information, the software in the video is called Openshoot video editor and we were inspired by certain parts of the code because it is open source. I await your opinion
Author
First-time contributor

I don't think the code you have added in this context even compiles, if it would it would do nothing still. I am referring to struct ID defined in DNA_ID.h

After have add id i think use DNA_ID.h so i change actual system for struct ID

> I don't think the code you have added in this context even compiles, if it would it would do nothing still. I am referring to `struct ID` defined in `DNA_ID.h` > After have add id i think use `DNA_ID.h` so i change actual system for `struct ID`

The complexity of this project is quite high. We would not be able to efficiently walk you through the required steps to implement it.
Is great to see your desire to help the Blender project, but I strongly suggest to start with something smaller to get a better understanding of the programming language and Blender architecture.

The complexity of this project is quite high. We would not be able to efficiently walk you through the required steps to implement it. Is great to see your desire to help the Blender project, but I strongly suggest to start with something smaller to get a better understanding of the programming language and Blender architecture.
This pull request has changes conflicting with the target branch.
  • source/blender/editors/space_sequencer/sequencer_intern.hh

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u gangneron-patch-5:Gangneron-gangneron-patch-5
git checkout Gangneron-gangneron-patch-5
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser Project (Legacy)
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#121952
No description provided.