synfig / synfig

This is the Official source code repository of the Synfig project
https://synfig.org
GNU General Public License v3.0
1.83k stars 322 forks source link

Create a new Panel which displays sound waveform #783

Closed morevnaproject closed 4 years ago

morevnaproject commented 5 years ago

Many people request to have an ability to load a sound file and display its waveform in sync with animation.

Synfig already can import sounds, but can't display waveform.

I suggest to add a new panel, similar to Graphs Panel, but instead of displaying parameter graphs it will display a waveform of given file.

Example mockup:

screenshot_003

1 - Waveform 2 - Button to load file. 3 - Timeline 4 - Current time cursor

Expected workflow: User click the button and choosing a file. After that waveform for selected file is displayed in this panel. At the top of the panel you can see a timeline (just like in Graphs Panel), and waveform should be synchronized to it. Just like in Graphs Panel, user can hover cursor over timeline and change scale by scrolling mouse wheel. This also changes scale of waveform view.

Related links:

maitreyi0505 commented 5 years ago

Sorry for the delay in my response; I tried to compile codes from the graphs panel and the waveform source code .I made changes in studio/src/gui file.Also , I tried using the adding a new panel method from the link, but i couldn't use much help from it. I created 4 files namely: dock_sound.h and dock_sound.cpp in docs folder using code from dock_curves, widget_sound.cpp & widget_sound.h where I added the code of the rainynite waveform generation with few changes according to synfig code but the new panel isn't still visible, are there any other files I need to make changes in?

morevnaproject commented 5 years ago

@maitreyi0505 Can you please push your current code to GitHub, so I can look at it? ^__^

maitreyi0505 commented 5 years ago

i made a pull request according to files created and the changes made by me, but the code isn't complete though i tried doing whatever i understood :)

morevnaproject commented 5 years ago

@maitreyi0505 Apologies for delay with response. Please check my comment on PR. ^__^

maitreyi0505 commented 5 years ago

No worries, I will be working on it!

maitreyi0505 commented 5 years ago

For the panel to be shown, I think is it necessary to create an sound.sif and integrating it; also I couln't find any folder where icons are stored, may I get some help on it? ^_^

morevnaproject commented 5 years ago

All icons are stored here - https://github.com/synfig/synfig/tree/master/synfig-studio/images

rodolforg commented 4 years ago

@morevnaproject , should this panel be canvas-specific? I mean, for a given open file. If I change to another SynfigStudio tab, it would have another parameters (ie., another loaded sound).

morevnaproject commented 4 years ago

Yes, we need it canvas-specific. ^__^

rodolforg commented 4 years ago

So, if @maitreyi0505 doesn't mind, I'd like to solve this issue.

morevnaproject commented 4 years ago

@rodolforg Awesome! It is yours now! ^__^