magnush / mhwaveedit Goto Github PK
View Code? Open in Web Editor NEWSound file editor (written in C using the GTK+ toolkit)
License: GNU General Public License v2.0
Sound file editor (written in C using the GTK+ toolkit)
License: GNU General Public License v2.0
AppStream generator is extracting meta data from packages in Debian, also mhwaveedit. It has different requirements than freedesktop.org, though. The icon should be at least 64x64px in size, should be in .png or .svg format and should be placed in /usr/share/icons/hicolor/%{size}/apps/ , see https://wiki.debian.org/AppStream/Guidelines#Icon_best_practices
Although the issue is solved in Debian by installing such an icon (converted to .png and upscaled), please consider adding it to source and installing it at /usr/share/icons/hicolor/64x64/apps/
It would be very useful to be able to have multiple sound clips per channel, and visually drag sound clips around in order to reposition them. E.g. to drag & drop a sound clip between channels, or to change the position of one sound clip relative to another. For example like this: https://i.ytimg.com/vi/l58b45a-gB0/maxresdefault.jpg
Practical use case: I have two audio channels that are out of sync by ~0.035 seconds, and I'm trying to align them to get rid of the echo.
Here's the metadata, could you please include it in the sources:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2023 Asif Ali Rizvan -->
<component>
<id type="desktop">io.github.magnush.mhWaveEdit</id>
<developer_name>Magnus Hjorth</developer_name>
<launchable type="desktop-id">io.github.magnush.mhWaveEdit.desktop</launchable>
<metadata_license>CC0-1.0</metadata_license>
<name>mhWaveEdit</name>
<project_license>GPL-2.0</project_license>
<summary>mhWaveEdit is a graphical program for editing sound files</summary>
<url type="homepage">https://github.com/magnush/mhwaveedit</url>
<description>
<p>
MhWaveEdit can play and edit sound files like .wav, .mp3, .ogg. It is intended to be user-friendly and robust. It does not require a fast computer. It supports effects like: fade in/out, Normalize, Volume adjust/fade, convert sample rate, convert sample format, byte swap, mix to mono, add channel, map channels, combine channels, speed adjustment, pipe through program.
</p>
<p>Features:</p>
<ul>
<li>Loads, plays, records and saves wav, mp3, ogg files and a few other formats as well.</li>
<li>If the file is small, it's loaded into memory. Otherwise, it's edited on disc.</li>
<li>Cut, copy and paste.</li>
<li>Combine two or more files into single mp3/wav/ogg</li>
<li>Volume and speed adjustment</li>
<li>Convert between sample rates, sample sizes, stereo and mono</li>
<li>You can always undo, all the way back to the original state of the file (even when editing large files.)</li>
</ul>
</description>
<screenshots>
<screenshot type="default">
<image>https://github.com/fastrizwaan/mhWaveEdit_flatpak/releases/download/0.1/1.png</image>
</screenshot>
<screenshot>
<image>https://github.com/fastrizwaan/mhWaveEdit_flatpak/releases/download/0.1/2.png</image>
</screenshot>
<screenshot>
<image>https://github.com/fastrizwaan/mhWaveEdit_flatpak/releases/download/0.1/3.png</image>
</screenshot>
<screenshot>
<image>https://github.com/fastrizwaan/mhWaveEdit_flatpak/releases/download/0.1/4.png</image>
</screenshot>
</screenshots>
<update_contact>https://github.com/magnush/mhwaveedit</update_contact>
<translation type="gettext">mhWaveEdit</translation>
<releases>
<release date="2018-08-25" version="1.4.24"/>
</releases>
<content_rating type="oars-1.1"/>
</component>
Hi @magnush
The last release dates back from August 2013.
A new release would contains:
As can be seen here.
What about releasing a new version?
Hello, I am a fan of this software and worry it might be removed from repos once GTK2 goes. I believe that in less then two year GTK2 will be removed from mainstream repos, and many old (but valuable) apps will be lost forever. Sure, some people will make PPA's for GTk2 forever but that isn't ideal. mhwaveedit needs a flatpak version to preserve it forever, or atleast until it is ported to GTK3.
Thanks.
http://libsound.io/ is cross-platform/multiple-backends C library; could it used to modernize mhwaveedit (so it can work with alsa, pulseaudio and jackd)?
Looks like config.guess and config.sub are out of date
g/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' -O config.guess
wget 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' -O config.sub
Additionally uname -X is unsupported now.
Also gtk/gtk.h isn't found.
It seems this is needed when configure generates Makefile:
pkg-config --cflags --libs gtk+-2.0
exporting as CFLAGS the output of pkg-config gets me past the include errors, but then a bunch of gdkcolor.h errors
In file included from /usr/include/gtk-2.0/gdk/gdkevents.h:34,
from /usr/include/gtk-2.0/gdk/gdkdisplay.h:32,
from /usr/include/gtk-2.0/gdk/gdkscreen.h:33,
from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31,
from /usr/include/gtk-2.0/gdk/gdk.h:32,
from /usr/include/gtk-2.0/gtk/gtk.h:32,
from chunk.c:31:
/usr/include/gtk-2.0/gdk/gdkcolor.h:74:3: warning: parameter names (without types) in function declaration
gint GSEAL (size);
^~~~
/usr/include/gtk-2.0/gdk/gdkcolor.h:74:13: error: field ‘GSEAL’ declared as a function
gint GSEAL (size);
^~~~~
/usr/include/gtk-2.0/gdk/gdkcolor.h:75:3: warning: parameter names (without types) in function declaration
GdkColor *GSEAL (colors);
^~~~~~~~
/usr/include/gtk-2.0/gdk/gdkcolor.h:75:13: error: field ‘GSEAL’ declared as a function
GdkColor *GSEAL (colors);
^~~~~
/usr/include/gtk-2.0/gdk/gdkcolor.h:78:3: warning: parameter names (without types) in function declaration
GdkVisual *GSEAL (visual);
^~~~~~~~~
/usr/include/gtk-2.0/gdk/gdkcolor.h:78:14: error: field ‘GSEAL’ declared as a function
GdkVisual *GSEAL (visual);
^~~~~
/usr/include/gtk-2.0/gdk/gdkcolor.h:80:3: warning: parameter names (without types) in function declaration
gpointer GSEAL (windowing_data);
^~~~~~~~
/usr/include/gtk-2.0/gdk/gdkcolor.h:80:12: error: field ‘GSEAL’ declared as a function
gpointer GSEAL (windowing_data);
this is now beyond me. any ideas folks.
Hi @magnush , remember when we discussed about an issue with using the "effects box" which was turning a French locale GUI into a partly-translated English GUI? We've been discussing that back in the Gna times I think, hence I cannot find the discussion back since it's out of the web now (didn't try the wayback machine).
Anyway, I've discovered how to reproduce the bug and what is nailed down more precisely the issue which is triggered by the blop culprit package. You can find a precise description on this Debian bug report.
Hope that helps
Could it be possible to add a widget to modify output playback gain? In pulseaudio mode I can change the gain in pavucontrol, but for jack it makes workflow cumbersome not to be able to control volume. I use mhwaveedit for simple auditioning of sound files and for that use case it is really ideal.
mhwaveedit's codebase is too old, gtk4 is to be released this year and most of the codebase is gtk1 and deprecated gtk2 stuff.
Porting the code to gtk 2.24 is a major task.. I see @gkarsay has tried :
https://github.com/gkarsay/mhwaveedit/commits/master
Maybe we can resume his work, I rebased his commits on top of upstream
https://github.com/wdlkmpx/mhwaveedit/tree/gtk2
The commits can be improved, expanded and grouped into patch sets perhaps.. and pull requests can be opened...
This is what should be done:
gtk 2.24 + glib 2.32 = 2011
2011 happened 9 years ago, is that old enough?.. ubuntu precise
So what do you think?
While undo has a shortcut (Ctrl+Z), redo does not. This makes it inconvenient to use undo/redo to e.g. compare the result of applying an effect. Please add Ctrl+Shift+Z as a the shortcut for redo.
Will you port this app to gtk+3 in order to support Wayland natively?
I need 24 channels (recording, playback, editing) with jackd. Opening and browsing a large muti-channel file is already working, but playing it crashes the software.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.