Giter Club home page Giter Club logo

gahara's People

Contributors

k1nho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

uruisanbear

gahara's Issues

๐Ÿ’ก Feature: Audio API

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Currently, there is no way to add Audio files to the timeline.

Suggested solution

  • Create audio track BE/UI
  • Add audio recorder BE/UI

Additional Context

No response

๐Ÿ’ก Feature: Add export keybind

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Currently we can move from the timeline view to the export view by clicking on the button with the arrow at the top left. Lets add a keybind to move to the export menu.

Suggested solution

Introduce a keybind to move to the export menu.

Additional Context

No response

๐Ÿ’ก Feature: Implement cut UI

Type of Feature

๐Ÿ’ก Feature

Current Behavior

We have the basic functionality of the timeline is in place with the drag and drop, and we can now see a video clip in one track. The trim/cut functionality will be the first command to implement.
Screenshot 2023-12-04 at 12 42 59 PM

Suggested solution

The frontend will have two new toolings added to the ToolingLayout slice cut and interval cut. Slice cut will work in conjunction with timeline edit mode, this sends the sliceCut event to the Go backend for further process. On the other hand, interval cut shows a range box with adjustable left and right sides which sends the intervalCut event to the Go backend.

Slice cut returns, if successful, returns two intervals generated from slice at a particular time t. Namely, [start,t-epsilon],[t,end]

Interval cut, if successful, returns 3 intervals generated from range box. Namely, [start, rangeboxstart-epsilon],[rangeboxstart, rangeboxend],[rangeboxend+epsilon, end]

Additional Context

No response

๐Ÿ’ก Feature: ffmpeg query builder

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Once internal ds exists for timeline state, we should construct a query builder for ffmpeg in order to encode the video clips.

Suggested solution

Create a basic query builder, for now to handle clip cutting.

Additional Context

Related
#3 Feature: export video

๐Ÿ’ก Feature: Implement Undo/Redo actions

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Currently there is no way to undo/redo an action.

Suggested solution

Implement undo and redo, so that we can have more control over the operations performed on timeline. Scope (insert, delete, cut)

Additional Context

No response

๐Ÿ’ก Feature: Export video track

Type of Feature

No response

Current Behavior

Currently, we have the button to export a video track but it does not do anything.

Suggested solution

Create the logic for video export by using wails dialog to export a video track. Before exporting, we should allow a user to select a container of choice (mp4, avi, mov) do the transform and export the video to the path selected.

Additional Context

No response

๐Ÿ’ก Feature: transitions UI

Type of Feature

๐Ÿ’ก Feature

Current Behavior

A common operation in editing is to have a transition that happens from one clip to another. Let's implement transition selection and insertion UI via the search list.

Suggested solution

Add prefix command /t to search for transitions.

Additional Context

No response

๐Ÿ’ก Feature: Autosave on view switch

Type of Feature

๐Ÿ’ก Feature

Current Behavior

We have the ability to save the timeline. However, this process is manual either by clicking on the save at the top left, or by using keybind (shift+w).

Suggested solution

Add autosave on view switch from timeline -> project selection, timeline -> export.

Additional Context

No response

๐Ÿ’ก Feature: Add project previews

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Currently, when a user wants to load an existing project there is only the select menu with the title of the project.
Screenshot 2023-12-04 at 12 39 27 PM

Suggested solution

Implement thumbnails for the projects to get an overview of the video project.

Additional Context

No response

๐Ÿ’ก Feature: Add key shortcuts for actions

Type of Feature

๐Ÿ’ก Feature

Current Behavior

To get a better experience, we can key shortcuts for certain actions.

Suggested solution

  • save project (cmdorctrl+s)
  • execute selected tooling
  • select track clip

Additional Context

No response

๐Ÿ’ก Feature: Show upload state of video

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Currently if a user selects a video to be used on the project, the UI does not show progress being done to import that video into the project. Also, if the video duration is very big, and the user selects the video, it will not show anything since it is being imported.

Suggested solution

Use Wails eventing system to notify the frontend when the video has finished importing.

Additional Context

No response

๐Ÿ’ก Feature: Add CI/CD

Type of Feature

๐Ÿ” CI/CD

Current Behavior

Prepare CI/CD to run tests and create releases.

Suggested solution

Scope

  • testing (go)
  • linting (go)
  • binary builds (wails)

Additional Context

No response

๐Ÿ’ก Feature: Enable video fullscreen

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Currently, the video player has the fullscreen option display in the UI but it does not make the video full screen.

Suggested solution

Implement video fullscreen, so that we can visualize the video on the entire application window.

Additional Context

No response

๐Ÿ’ก Feature: Implement project deletion

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Currently, there is no way to delete a project once it has been created.

Suggested solution

Create an interface to delete a project from the MainMenuLayout and handle cleanup from Go.

Additional Context

No response

๐Ÿ’ก Feature: Multitrack

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Currently only one track is available (video only). In order to prepare audio tracks, and more complex editing features, it is necessary to manage track creation.

Suggested solution

Allow the user to create tracks.

Additional Context

No response

๐Ÿ’ก Feature: add unmark/mark all clips keybind

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Currently, we can use fast marking in the timeline to select clips that we want to be processed losslessly. However, there is no way to quickly mark all clips, or unmark all selected clips.

Suggested solution

Implement keybind to mark/unmark all the nodes as lossless.

Additional Context

No response

๐Ÿ’ก Feature: enhance search list with timeline clip find

Type of Feature

๐Ÿ’ก Feature

Current Behavior

The search list a very powerful UI to quickly insert videos into the timeline that have been uploaded. Let's enhance the list by providing commands to search for a clip in the timeline.

Suggested solution

Implement prefix command /x in the list to search clips in the timeline.

Additional Context

No response

Bug: video clip duration gets loaded on second insert

Describe the bug

Currently when a clip is loaded into the timeline the duration of the previous inserted clips gets loaded. It is only after the second insertion of the clip that the correct duration gets loaded.

Steps to reproduce

Insert a clip

  • it will show 0 (if the first clip) or the previous clip duration (for any n + 1 clip)

Additional Context

No response

๐Ÿ’ก Feature: ship ffmpeg on build

Type of Feature

No response

Current Behavior

FFmpeg is used for a lot of the components of the application, without it, the application would not work for things such as importing/exporting video clips.

Suggested solution

Ship ffmpeg binary on startup based on the platform for now just darwin.

Additional Context

No response

๐Ÿ’ก Feature: implement clip rename

Type of Feature

No response

Current Behavior

Currently, we can cut the videos and the timeline will update accordingly. However, the clips have always node as name.

Suggested solution

Enable clips to be renamed

Additional Context

No response

๐Ÿ’ก Feature: Add commands to Menu

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Once certain features such as exporting, and trimming are implemented, it would be nice to have those commands accessible via the menu.

Suggested solution

Wails supports menus that we can use to create a customized menu and also have it update based on certain events.

Additional Context

No response

๐Ÿ’ก Feature: Lossless cut

Type of Feature

๐Ÿ’ก Feature

Current Behavior

We have the ability to cut video clips and merge them. This operation, however, is lossy meaning re-encoding is needed to product the output result. Sometimes we just do not want to perform the catamorphic operation, but rather just cut the video and produce the individual clips. We can achieve this via the copy codec.

Suggested solution

Implement lossless cut, to get the individual clips from a video for fast clip extraction without introducing catamorphic operation. i.e (merge)

Additional Context

No response

๐Ÿ’ก Feature: Implement background and text video clip

Type of Feature

No response

Current Behavior

One feature to consider is the idea of generating a video with a colored background and text. This should be a simple video that can be used between clips.

Suggested solution

Add this feature to the tooling component in the UI and display the clip generated in the timeline or a clip zone.

Additional Context

No response

๐Ÿ’ก Feature: Implement file deletion

Type of Feature

๐Ÿ’ก Feature

Current Behavior

Currently there is UI to delete a file from the project, but the action does not anything on the wails backend.

Suggested solution

The idea is to be able to delete the file from the project, if it is not needed. But if the file has references in the timeline then the option should be disabled. If the file has a reference counter of 0 then it can be deleted from the project.

Additional Context

No response

๐Ÿ’ก Feature: Implement clip reordering UI

Type of Feature

๐Ÿ’ก Feature

Current Behavior

#10 Cut will allow multiple clips from one or multiple videos to be present on a single track. The current implementation only adds a clip to the end of the timeline and does not have reordering mechanics in the UI.

Suggested solution

Implement reordering, so that clips can be arranged along the the timeline

Additional Context

No response

๐Ÿ’ก Feature: Add lossless shift adjustment

Type of Feature

๐Ÿ’ก Feature

Current Behavior

When exporting lossless it is possible to not get exactly the frame that we want. Since it is not always accurate due to the seeking problem.

Suggested solution

we can introduce small timestamp shifts to attempt to catch this (experimental)

Additional Context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.