@pheem49/mint 1.8.1 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.lock +3 -3
- package/Cargo.toml +1 -1
- package/README.md +0 -17
- package/Release_Note.md +137 -58
- package/bin/mint +0 -0
- package/crates/mint-cli/src/agent.rs +150 -45
- package/crates/mint-cli/src/image.rs +8 -8
- package/crates/mint-cli/src/main.rs +929 -412
- package/crates/mint-cli/src/onboard.rs +108 -108
- package/crates/mint-cli/src/setup.rs +143 -143
- package/crates/mint-core/src/agent_loop.rs +1 -0
- package/crates/mint-core/src/api_server.rs +108 -52
- package/crates/mint-core/src/browser.rs +56 -1
- package/crates/mint-core/src/channels.rs +1 -0
- package/crates/mint-core/src/chat.rs +126 -8
- package/crates/mint-core/src/code_tools.rs +18 -20
- package/crates/mint-core/src/config.rs +245 -17
- package/crates/mint-core/src/image_gen.rs +5 -5
- package/crates/mint-core/src/lib.rs +16 -2
- package/crates/mint-core/src/memory.rs +6 -1
- package/crates/mint-core/src/orchestration.rs +260 -72
- package/crates/mint-core/src/pictures.rs +3 -4
- package/crates/mint-core/src/semantic.rs +1 -1
- package/crates/mint-core/src/shell.rs +1 -1
- package/crates/mint-core/src/skills.rs +46 -19
- package/crates/mint-core/src/tts.rs +3 -1
- package/flatpak/com.pheem49.mint.desktop +9 -0
- package/flatpak/com.pheem49.mint.metainfo.xml +35 -0
- package/flatpak/com.pheem49.mint.yaml +52 -0
- package/package.json +1 -1
- package/shared-modules/.github/workflows/ci.yml +120 -0
- package/shared-modules/.github/workflows/update.yaml +28 -0
- package/shared-modules/CODEOWNERS +23 -0
- package/shared-modules/README.md +79 -0
- package/shared-modules/SDL/README.md +3 -0
- package/shared-modules/SDL/SDL-1.2.15.json +51 -0
- package/shared-modules/SDL/SDL_Pango-0.1.2-API-adds.patch +118 -0
- package/shared-modules/SDL/SDL_image-1.2.12.json +25 -0
- package/shared-modules/SDL/SDL_mixer-1.2.12.json +27 -0
- package/shared-modules/SDL/SDL_net-1.2.8.json +19 -0
- package/shared-modules/SDL/SDL_pango-0.1.2.json +26 -0
- package/shared-modules/SDL/SDL_ttf-2.0.11.json +28 -0
- package/shared-modules/SDL/libsdl-1.2.15-strict-prototypes.patch +316 -0
- package/shared-modules/SDL/sdl-check-for-SDL_VIDEO_X11_BACKINGSTORE.patch +24 -0
- package/shared-modules/SDL/sdl-libx11-build.patch +59 -0
- package/shared-modules/SDL/sdl-sysloadso-buffer-length.patch +27 -0
- package/shared-modules/SDL/sdl12-compat.json +22 -0
- package/shared-modules/SDL2/SDL2_image.json +27 -0
- package/shared-modules/SDL2/SDL2_ttf.json +29 -0
- package/shared-modules/cld2/CMakeLists.txt +157 -0
- package/shared-modules/cld2/cld2.json +24 -0
- package/shared-modules/clutter/clutter.json +72 -0
- package/shared-modules/dbus-glib/dbus-glib.json +29 -0
- package/shared-modules/glew/glew.json +36 -0
- package/shared-modules/glu/glu-9.json +12 -0
- package/shared-modules/gtk2/arc-gtk2-theme-Replace-Inkscape-dependency-with-rsvg-convert.patch +180 -0
- package/shared-modules/gtk2/gtk2-common-themes.json +360 -0
- package/shared-modules/gtk2/gtk2-fix-crash-in-show-uri.patch +30 -0
- package/shared-modules/gtk2/gtk2-gcc14.patch +281 -0
- package/shared-modules/gtk2/gtk2-gcc15.patch +250 -0
- package/shared-modules/gtk2/gtk2-murrine-c99.patch +34 -0
- package/shared-modules/gtk2/gtk2-use-adwaita-theme.patch +80 -0
- package/shared-modules/gtk2/gtk2.json +120 -0
- package/shared-modules/gtk2/ibus-gcc15.patch +13 -0
- package/shared-modules/gtk2/murrine-engine-fix-crash.patch +12 -0
- package/shared-modules/gtk2/readme.md +10 -0
- package/shared-modules/intltool/intltool-0.51.json +20 -0
- package/shared-modules/intltool/intltool-perl5.26-regex-fixes.patch +59 -0
- package/shared-modules/lame/0001-Build-xmm_quantize_sub.c-with-msse.patch +34 -0
- package/shared-modules/lame/0002-Include-GTK-1-autoconf-directives-in-build-system.patch +222 -0
- package/shared-modules/lame/0003-Patch-out-remaining-ansi2knr.patch +70 -0
- package/shared-modules/lame/0004-initscr-is-not-used-anywhere-in-lame-sourcetree.patch +41 -0
- package/shared-modules/lame/0005-Update-autoconf.patch +81 -0
- package/shared-modules/lame/lame-3.99.5.json +32 -0
- package/shared-modules/libappindicator/libappindicator-gtk2-12.10.json +140 -0
- package/shared-modules/libappindicator/libappindicator-gtk3-12.10.json +140 -0
- package/shared-modules/libappindicator/libappindicator-gtk3-introspection-12.10.json +140 -0
- package/shared-modules/libappindicator/patches/0001-libappindicator-ftbfs.patch +20 -0
- package/shared-modules/libappindicator/patches/0002-libappindicator-no-python.patch +888 -0
- package/shared-modules/libappindicator/patches/0003-libappindicator-fix-crash-from-incorrect-signal-emission.patch +74 -0
- package/shared-modules/libappindicator/patches/0004-libappindicator-fix-crash-iterating-icon-themes.patch +11 -0
- package/shared-modules/libayatana-appindicator/0001-Fix-HAVE_VALGRIND-AM_CONDITIONAL.patch +51 -0
- package/shared-modules/libayatana-appindicator/0001-Make-introspection-configurable.patch +44 -0
- package/shared-modules/libayatana-appindicator/libayatana-appindicator-gtk3.json +121 -0
- package/shared-modules/libcanberra/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch +123 -0
- package/shared-modules/libcanberra/libcanberra.json +44 -0
- package/shared-modules/libmad/libmad.json +19 -0
- package/shared-modules/libsecret/libsecret.json +23 -0
- package/shared-modules/libsoup/libsoup-2.4.json +14 -0
- package/shared-modules/libusb/libusb.json +27 -0
- package/shared-modules/linux-audio/dssi.json +31 -0
- package/shared-modules/linux-audio/fftw3f-static.json +44 -0
- package/shared-modules/linux-audio/fftw3f.json +42 -0
- package/shared-modules/linux-audio/fluidsynth2-static.json +36 -0
- package/shared-modules/linux-audio/fluidsynth2.json +25 -0
- package/shared-modules/linux-audio/ladspa.json +26 -0
- package/shared-modules/linux-audio/lash.json +35 -0
- package/shared-modules/linux-audio/libinstpatch.json +16 -0
- package/shared-modules/linux-audio/liblo-static.json +22 -0
- package/shared-modules/linux-audio/liblo.json +17 -0
- package/shared-modules/linux-audio/lilv-static.json +94 -0
- package/shared-modules/linux-audio/lilv.json +89 -0
- package/shared-modules/linux-audio/lrdf.json +57 -0
- package/shared-modules/linux-audio/lv2.json +20 -0
- package/shared-modules/linux-audio/patches/lash/0001-configure-remove-aclocal-m4.patch +29 -0
- package/shared-modules/linux-audio/patches/lash/0002-Fix-build-with-recent-gcc.patch +73 -0
- package/shared-modules/linux-audio/patches/lash/0003-Fix-linking.patch +136 -0
- package/shared-modules/linux-audio/patches/raptor-libxml.patch +31 -0
- package/shared-modules/linux-audio/patches/stk-install.sh +54 -0
- package/shared-modules/linux-audio/stk.json +28 -0
- package/shared-modules/lua5.1/0004-Fix-stack-overflow-in-vararg-functions.patch +21 -0
- package/shared-modules/lua5.1/lua-5.1.5-so.patch +43 -0
- package/shared-modules/lua5.1/lua-5.1.5.json +42 -0
- package/shared-modules/lua5.3/lua-5.3.5.json +41 -0
- package/shared-modules/lua5.3/lua.pc.in +8 -0
- package/shared-modules/lua5.3/luaconf.patch +47 -0
- package/shared-modules/lua5.3/makefile-add-liblua.so-rule.patch +47 -0
- package/shared-modules/lua5.4/lua-5.4.json +41 -0
- package/shared-modules/lua5.4/lua.pc.in +8 -0
- package/shared-modules/lua5.4/luaconf.patch +34 -0
- package/shared-modules/lua5.4/makefile-add-liblua.so-rule.patch +42 -0
- package/shared-modules/luajit/luajit.json +30 -0
- package/shared-modules/lzo/lzo.json +27 -0
- package/shared-modules/mac/mac.json +18 -0
- package/shared-modules/physfs/physfs.json +26 -0
- package/shared-modules/pygame/audiofile-gcc6.patch +21 -0
- package/shared-modules/pygame/cython-fixes.patch +34 -0
- package/shared-modules/pygame/fluidsynth-no-rawmidi.patch +69 -0
- package/shared-modules/pygame/glib.patch +25 -0
- package/shared-modules/pygame/pygame1-python2.json +157 -0
- package/shared-modules/pygtk/pygtk-c99.patch +15 -0
- package/shared-modules/pygtk/pygtk.json +117 -0
- package/shared-modules/pygtk/pygtk.patch +39 -0
- package/shared-modules/python2.7/python-2.7.json +48 -0
- package/shared-modules/smpeg/smpeg-0.4.5.json +50 -0
- package/shared-modules/smpeg/smpeg-am-prog-as.patch +12 -0
- package/shared-modules/smpeg/smpeg-export-mpegaudio-class.patch +17 -0
- package/shared-modules/smpeg/smpeg-gcc6.patch +40 -0
- package/shared-modules/smpeg/smpeg-no-gtk.patch +37 -0
- package/shared-modules/squashfs-tools/squashfs-tools.json +25 -0
- package/shared-modules/update-checker.sh +50 -0
- package/shared-modules/vorbisgain/0001-temp_files.patch +75 -0
- package/shared-modules/vorbisgain/0002-errno.patch +33 -0
- package/shared-modules/vorbisgain/0003-manpage.patch +248 -0
- package/shared-modules/vorbisgain/0004-vorbisgain_mtime.patch +183 -0
- package/shared-modules/vorbisgain/0005-double_fclose.patch +21 -0
- package/shared-modules/vorbisgain/0006-manpage_hyphens.patch +56 -0
- package/shared-modules/vorbisgain/0007-recursively_spelling.patch +14 -0
- package/shared-modules/vorbisgain/0008-manpage_recursion_mistake.patch +23 -0
- package/shared-modules/vorbisgain/0009-hardening.patch +13 -0
- package/shared-modules/vorbisgain/0010-fclose.patch +13 -0
- package/shared-modules/vorbisgain/README.md +23 -0
- package/shared-modules/vorbisgain/vorbisgain_0.37-2.json +29 -0
- package/src/renderer/shared/agentProgress.ts +145 -0
- package/src/renderer/shared/calculator.ts +52 -0
- package/src/renderer/shared/components/AgentActivityDrawer.tsx +72 -0
- package/src/renderer/shared/components/AgentActivityTable.tsx +85 -0
- package/src/renderer/shared/components/ApprovalCard.tsx +93 -0
- package/src/renderer/shared/components/ChatCodeBlock.tsx +75 -0
- package/src/renderer/shared/components/ThinkingBlock.tsx +101 -0
- package/src/renderer/shared/constants/models.ts +91 -0
- package/src/renderer/shared/platform.ts +82 -0
- package/src/renderer/shared/types.ts +140 -0
- package/src/renderer/shared/utils/agentActivity.ts +187 -0
- package/src/renderer/shared/utils/approval.ts +1 -0
- package/src/renderer/shared/utils/approval.tsx +64 -0
- package/src/renderer/shared/utils/fileIcons.ts +135 -0
- package/src/renderer/shared/utils/markdown.tsx +347 -0
- package/src/renderer/shared/utils/providers.ts +36 -0
- package/src/renderer/shared/utils/speech.ts +216 -0
- package/src/renderer/shared/utils/ui.ts +147 -0
- package/src/renderer/src/agentProgress.ts +11 -39
- package/src/renderer/src/calculator.ts +3 -46
- package/src/renderer/src/components/ChatPanel.tsx +219 -1308
- package/src/renderer/src/components/MintDashboard.tsx +67 -170
- package/src/renderer/src/components/PicturesLibrary.tsx +32 -8
- package/src/renderer/src/components/Settings/AgentsTab.tsx +381 -0
- package/src/renderer/src/components/Settings/AutomationTab.tsx +0 -22
- package/src/renderer/src/components/Settings/GeneralTab.tsx +256 -2
- package/src/renderer/src/components/SettingsWindow.tsx +120 -3
- package/src/renderer/src/components/WorkspacePanel.tsx +7 -125
- package/src/renderer/src/css/styles.css +100 -0
- package/src/renderer/src/tauri.ts +128 -143
- package/src/renderer/src-web/agentProgress.ts +11 -39
- package/src/renderer/src-web/calculator.ts +3 -46
- package/src/renderer/src-web/components/ChatPanel.tsx +219 -1306
- package/src/renderer/src-web/components/MintDashboard.tsx +42 -170
- package/src/renderer/src-web/components/PicturesLibrary.tsx +23 -29
- package/src/renderer/src-web/components/Settings/AgentsTab.tsx +381 -0
- package/src/renderer/src-web/components/Settings/AutomationTab.tsx +0 -22
- package/src/renderer/src-web/components/Settings/GeneralTab.tsx +254 -3
- package/src/renderer/src-web/components/SettingsWindow.tsx +127 -3
- package/src/renderer/src-web/css/styles.css +100 -0
- package/src/renderer/src-web/tauri.ts +180 -102
- package/src-tauri/src/desktop.rs +18 -16
- package/src-tauri/src/discord_rpc.rs +1 -1
- package/src-tauri/src/lib.rs +168 -40
- package/src-tauri/src/webhooks.rs +1 -0
- package/src-tauri/src/workflows.rs +1 -0
- package/src-tauri/tauri.conf.json +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
DEFAULT_BRANCH="master"
|
|
6
|
+
|
|
7
|
+
git config --global --add safe.directory /github/workspace
|
|
8
|
+
|
|
9
|
+
# Args to pass to the data checker
|
|
10
|
+
args=("--update" "--never-fork")
|
|
11
|
+
# Format: "./path/to/manifest_file.json"
|
|
12
|
+
exclusions=()
|
|
13
|
+
# Initialize an array to store file paths
|
|
14
|
+
file_paths=()
|
|
15
|
+
|
|
16
|
+
# Iterate over directories next to the script
|
|
17
|
+
for dir in ./*/; do
|
|
18
|
+
# Search for files with the extensions .yaml, .yml, and .json
|
|
19
|
+
files=("$dir"*.yaml "$dir"*.yml "$dir"*.json)
|
|
20
|
+
|
|
21
|
+
# Iterate over the files
|
|
22
|
+
for file in "${files[@]}"; do
|
|
23
|
+
# Check if the file exists and contains "x-checker-data"
|
|
24
|
+
if [[ -f "$file" ]] && grep -q "x-checker-data" "$file"; then
|
|
25
|
+
# Add the file path to the array
|
|
26
|
+
file_paths+=("$file")
|
|
27
|
+
fi
|
|
28
|
+
done
|
|
29
|
+
done
|
|
30
|
+
|
|
31
|
+
# Print the file paths in the array
|
|
32
|
+
for path in "${file_paths[@]}"; do
|
|
33
|
+
if [[ " ${exclusions[*]} " == *" $path "* ]]; then
|
|
34
|
+
echo "Skipping excluded file: $path"
|
|
35
|
+
continue
|
|
36
|
+
fi
|
|
37
|
+
echo "Running data checker on: $path"
|
|
38
|
+
|
|
39
|
+
# If we're not running in a container, use the Flatpak. Else, assume we're
|
|
40
|
+
# running in a container and call the data checker directly.
|
|
41
|
+
if [[ ! -f /run/.containerenv && ! -f /.dockerenv ]]; then
|
|
42
|
+
git switch -fC "$DEFAULT_BRANCH" origin/"$DEFAULT_BRANCH"
|
|
43
|
+
flatpak run --filesystem="$(pwd)" org.flathub.flatpak-external-data-checker "${args[@]}" "$path" || true
|
|
44
|
+
git switch -fC "$DEFAULT_BRANCH" origin/"$DEFAULT_BRANCH"
|
|
45
|
+
else
|
|
46
|
+
git switch -fC "$DEFAULT_BRANCH" origin/"$DEFAULT_BRANCH"
|
|
47
|
+
/app/flatpak-external-data-checker "${args[@]}" "$path" || true
|
|
48
|
+
git switch -fC "$DEFAULT_BRANCH" origin/"$DEFAULT_BRANCH"
|
|
49
|
+
fi
|
|
50
|
+
done
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
Description: Apply patch to use temp files, which are dependent
|
|
2
|
+
on the file which is beeing processed, instead always using the same
|
|
3
|
+
filename, which can result to data loss in scenarios where two or more
|
|
4
|
+
vorbis processes are running parallel.
|
|
5
|
+
Author: Pavel N. Krivitsky <pavel@krivitsky.name>
|
|
6
|
+
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505164
|
|
7
|
+
Forwarded: no
|
|
8
|
+
---
|
|
9
|
+
vorbis.c | 17 +++++++++--------
|
|
10
|
+
1 file changed, 9 insertions(+), 8 deletions(-)
|
|
11
|
+
|
|
12
|
+
--- a/vorbis.c
|
|
13
|
+
+++ b/vorbis.c
|
|
14
|
+
@@ -56,7 +56,7 @@
|
|
15
|
+
#define PROGRESS_FORMAT_SIZE 8
|
|
16
|
+
#define MIN_FILENAME_SIZE 5
|
|
17
|
+
#define MIN_MIDDLE_TRUNCATE_SIZE 20
|
|
18
|
+
-#define TEMP_NAME "vorbisgain.tmpXXXXXX"
|
|
19
|
+
+#define TEMP_EXT ".vgain.tmpXXXXXX"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
@@ -684,11 +684,10 @@
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
- /* Make sure temp is in same folder as file. And yes, the malloc is larger
|
|
28
|
+
- * than necessary (and not always needed). Lets keep it simple though (at
|
|
29
|
+
- * the expense of a few bytes)...
|
|
30
|
+
+ /* Construct a temporary file name by appending TEMP_EXT to
|
|
31
|
+
+ * the name of the file being modified.
|
|
32
|
+
*/
|
|
33
|
+
- temp_name = malloc(strlen(filename) + sizeof(TEMP_NAME));
|
|
34
|
+
+ temp_name = malloc(strlen(filename)*sizeof(char) + sizeof(TEMP_EXT));
|
|
35
|
+
|
|
36
|
+
if (temp_name == NULL)
|
|
37
|
+
{
|
|
38
|
+
@@ -697,7 +696,7 @@
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
strcpy(temp_name, filename);
|
|
42
|
+
- strcpy((char *) last_path(temp_name), TEMP_NAME);
|
|
43
|
+
+ strcat(temp_name, TEMP_EXT);
|
|
44
|
+
|
|
45
|
+
#ifdef WIN32
|
|
46
|
+
temp_name = _mktemp(temp_name);
|
|
47
|
+
@@ -779,6 +778,7 @@
|
|
48
|
+
file_error(_("Note: Couldn't set mode for file '%s': "), filename);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
+#if 0 /* Disable for Debian, this surprises people and is not useful --liw */
|
|
52
|
+
utime_buf.actime = stat_buf.st_atime;
|
|
53
|
+
utime_buf.modtime = stat_buf.st_mtime;
|
|
54
|
+
|
|
55
|
+
@@ -786,6 +786,7 @@
|
|
56
|
+
{
|
|
57
|
+
file_error(_("Note: Couldn't set time for file '%s': "), filename);
|
|
58
|
+
}
|
|
59
|
+
+#endif
|
|
60
|
+
|
|
61
|
+
result = 0;
|
|
62
|
+
|
|
63
|
+
@@ -817,10 +818,10 @@
|
|
64
|
+
|
|
65
|
+
if (delete_temp)
|
|
66
|
+
{
|
|
67
|
+
- if (remove(TEMP_NAME) != 0)
|
|
68
|
+
+ if (remove(temp_name) != 0)
|
|
69
|
+
{
|
|
70
|
+
file_error(_("Note: Couldn't remove temporary file '%s': "),
|
|
71
|
+
- TEMP_NAME);
|
|
72
|
+
+ temp_name);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
Description: Zero errno before readdir call.
|
|
2
|
+
From: http://bugs.debian.org/375110
|
|
3
|
+
Forwarded: no
|
|
4
|
+
---
|
|
5
|
+
recurse.c | 3 +++
|
|
6
|
+
1 file changed, 3 insertions(+)
|
|
7
|
+
|
|
8
|
+
--- a/recurse.c
|
|
9
|
+
+++ b/recurse.c
|
|
10
|
+
@@ -408,6 +408,7 @@
|
|
11
|
+
*/
|
|
12
|
+
static int read_dir(DIRECTORY *directory)
|
|
13
|
+
{
|
|
14
|
+
+ errno = 0;
|
|
15
|
+
directory->entry = readdir(directory->dir);
|
|
16
|
+
|
|
17
|
+
if (directory->entry != NULL)
|
|
18
|
+
@@ -622,6 +623,7 @@
|
|
19
|
+
/* Check for wildcards */
|
|
20
|
+
settings->pattern = last_path(my_path);
|
|
21
|
+
|
|
22
|
+
+#if 0 /* Disable for Debian, as it suprises people. --liw */
|
|
23
|
+
if (contains_pattern(settings->pattern))
|
|
24
|
+
{
|
|
25
|
+
/* Strip last part of path */
|
|
26
|
+
@@ -637,6 +639,7 @@
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else
|
|
30
|
+
+#endif
|
|
31
|
+
{
|
|
32
|
+
settings->pattern = NULL;
|
|
33
|
+
}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
Description: Man page says --silent, should be --skip
|
|
2
|
+
From: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=355783
|
|
3
|
+
Forwarded: no
|
|
4
|
+
---
|
|
5
|
+
vorbisgain.1 | 60 ++++++++++++-----------------------------------------------
|
|
6
|
+
1 file changed, 13 insertions(+), 47 deletions(-)
|
|
7
|
+
|
|
8
|
+
--- a/vorbisgain.1
|
|
9
|
+
+++ b/vorbisgain.1
|
|
10
|
+
@@ -2,10 +2,8 @@
|
|
11
|
+
.\" groff -man -Tascii vorbisgain.1
|
|
12
|
+
.\"
|
|
13
|
+
.TH vorbisgain 1 "2004 Jan 3" "" "VorbisGain"
|
|
14
|
+
-
|
|
15
|
+
.SH NAME
|
|
16
|
+
vorbisgain \- calculate the replay gain for Ogg Vorbis files
|
|
17
|
+
-
|
|
18
|
+
.SH SYNOPSIS
|
|
19
|
+
.B vorbisgain
|
|
20
|
+
[
|
|
21
|
+
@@ -16,7 +14,6 @@
|
|
22
|
+
.I album gain
|
|
23
|
+
]
|
|
24
|
+
.I input_files \fR...
|
|
25
|
+
-
|
|
26
|
+
.SH DESCRIPTION
|
|
27
|
+
.B vorbisgain
|
|
28
|
+
calculates the ReplayGain values for the named Ogg Vorbis input files and
|
|
29
|
+
@@ -27,7 +24,6 @@
|
|
30
|
+
uses a default target level of 89 dB, rather than the 83 dB recommended by the
|
|
31
|
+
ReplayGain standard, when calculating the gain to apply. (Some players include
|
|
32
|
+
a pre-amplification setting with which the target level can be changed.)
|
|
33
|
+
-
|
|
34
|
+
.PP
|
|
35
|
+
.B vorbisgain
|
|
36
|
+
input files must be Ogg Vorbis I files with 1 or 2 channels and a sample rate
|
|
37
|
+
@@ -35,21 +31,16 @@
|
|
38
|
+
kHz. If an input file contains multiple streams (i.e., it is chained), the
|
|
39
|
+
streams must all have the same format, in terms of sampling frequency and
|
|
40
|
+
number of channels.
|
|
41
|
+
-
|
|
42
|
+
.PP
|
|
43
|
+
All streams in a chained file are processed, but the ReplayGain tags are
|
|
44
|
+
only written to (or removed from) the first stream.
|
|
45
|
+
-
|
|
46
|
+
.SH OPTIONS
|
|
47
|
+
-
|
|
48
|
+
.IP "-h, --help"
|
|
49
|
+
Show command help.
|
|
50
|
+
-
|
|
51
|
+
.IP "-a, --album"
|
|
52
|
+
Activates album mode, in which the album gain (sometimes called the audiophile
|
|
53
|
+
gain) is calculated in addition to the track gain (sometimes called the radio
|
|
54
|
+
gain).
|
|
55
|
+
-
|
|
56
|
+
.IP "-g n, --album-gain=n"
|
|
57
|
+
Sets the album gain value to use. Default is to calculate it, if
|
|
58
|
+
.I -a
|
|
59
|
+
@@ -59,38 +50,31 @@
|
|
60
|
+
dB, specifying the
|
|
61
|
+
.B change
|
|
62
|
+
in volume that should be applied.
|
|
63
|
+
-
|
|
64
|
+
.IP "-c, --clean"
|
|
65
|
+
Remove any ReplayGain tags from the specified files. If a file does not
|
|
66
|
+
contain any ReplayGain tags, the file is not modified.
|
|
67
|
+
-
|
|
68
|
+
.IP "-C, --convert"
|
|
69
|
+
Convert old format ReplayGain tags to a new format (see section TAG FORMAT
|
|
70
|
+
below for details). If a file does not contain all ReplayGain tags that are
|
|
71
|
+
needed for a conversion, the file is not modified. The album peak tag is
|
|
72
|
+
only created if
|
|
73
|
+
.I -a
|
|
74
|
+
-is specified, and the album gain value is then checked for concistency.
|
|
75
|
+
+is specified, and the album gain value is then checked for consistency.
|
|
76
|
+
Otherwise any album gain is converted without any checks.
|
|
77
|
+
-
|
|
78
|
+
.IP "-d, --display-only"
|
|
79
|
+
Display the result only; do not write anything to disk. This applies to all
|
|
80
|
+
options.
|
|
81
|
+
-
|
|
82
|
+
.IP "-f, --fast"
|
|
83
|
+
Only calculate the gain for files that do not contain all replay gain tags
|
|
84
|
+
needed (the album gain and peak tags are only considered if
|
|
85
|
+
.I -a
|
|
86
|
+
has been specified).
|
|
87
|
+
-
|
|
88
|
+
.IP "-n, --no-progress"
|
|
89
|
+
Only display results, but don't show progress in percentages and times. This
|
|
90
|
+
can be useful if the output is piped into other programs.
|
|
91
|
+
-
|
|
92
|
+
.IP "-q, --quiet"
|
|
93
|
+
Do not display any output while processing. Only error and warning messages will
|
|
94
|
+
be printed.
|
|
95
|
+
-
|
|
96
|
+
.IP "-r, --recursive"
|
|
97
|
+
Enter directories (recursively) and search for files, if directories or file
|
|
98
|
+
patterns are specified.
|
|
99
|
+
@@ -98,65 +82,51 @@
|
|
100
|
+
Only available if
|
|
101
|
+
.B vorbisgain
|
|
102
|
+
was configured with --enable-recursive.
|
|
103
|
+
-
|
|
104
|
+
-.IP "-s, --silent"
|
|
105
|
+
-Sliently skip any non-Vorbis files found. Vorbis files that can't be processed
|
|
106
|
+
+.IP "-s, --skip"
|
|
107
|
+
+Silently skip any non-Vorbis files found. Vorbis files that can't be processed
|
|
108
|
+
for some reason are skipped as well, though not silently. Default is to stop
|
|
109
|
+
when such files are encountered.
|
|
110
|
+
-
|
|
111
|
+
.IP "-v, --version"
|
|
112
|
+
Display the version of the program.
|
|
113
|
+
-
|
|
114
|
+
.SH EXAMPLES
|
|
115
|
+
-
|
|
116
|
+
Simplest version. Calculate the track gain and peak only.
|
|
117
|
+
.PP
|
|
118
|
+
.RS
|
|
119
|
+
vorbisgain somefile.ogg
|
|
120
|
+
.RE
|
|
121
|
+
-
|
|
122
|
+
.PP
|
|
123
|
+
Note that the following examples are only possible if
|
|
124
|
+
.B vorbisgain
|
|
125
|
+
was configured with --enable-recursive.
|
|
126
|
+
-
|
|
127
|
+
.PP
|
|
128
|
+
Calculate the album gain and peak, in addition to the track gain and peak, for
|
|
129
|
+
all .ogg files in the directory "music" (and all subdirectories). All files in
|
|
130
|
+
one directory are treated as belonging to the same album. Files that already
|
|
131
|
+
have ReplayGain tags are not re-calculated. Note the quotes, as they cause the
|
|
132
|
+
shell to not do any filename globbing:
|
|
133
|
+
-
|
|
134
|
+
.PP
|
|
135
|
+
.RS
|
|
136
|
+
vorbisgain -a -f -r "music/*.ogg"
|
|
137
|
+
.RE
|
|
138
|
+
-
|
|
139
|
+
.PP
|
|
140
|
+
Calculate the album gain. The files specified before the directory "album"
|
|
141
|
+
are treated as one album, the files in the directory "album" as another
|
|
142
|
+
album and the remaining files as a third album:
|
|
143
|
+
-
|
|
144
|
+
.PP
|
|
145
|
+
.RS
|
|
146
|
+
vorbisgain -a -r a.ogg b.ogg c.ogg album d.ogg e.ogg f.ogg
|
|
147
|
+
.RE
|
|
148
|
+
-
|
|
149
|
+
.PP
|
|
150
|
+
Remove all replaygain tags from a collection of oggs:
|
|
151
|
+
-
|
|
152
|
+
.PP
|
|
153
|
+
.RS
|
|
154
|
+
vorbisgain -c -r "music/*.ogg"
|
|
155
|
+
.RE
|
|
156
|
+
-
|
|
157
|
+
.SH TAG FORMAT
|
|
158
|
+
-
|
|
159
|
+
.B vorbisgain
|
|
160
|
+
creates tags like these (when in
|
|
161
|
+
.I -a
|
|
162
|
+
mode):
|
|
163
|
+
-
|
|
164
|
+
.PP
|
|
165
|
+
.RS
|
|
166
|
+
REPLAYGAIN_TRACK_GAIN=-7.03 dB
|
|
167
|
+
@@ -170,18 +140,15 @@
|
|
168
|
+
.RS
|
|
169
|
+
REPLAYGAIN_ALBUM_PEAK=1.21822226
|
|
170
|
+
.RE
|
|
171
|
+
-
|
|
172
|
+
.PP
|
|
173
|
+
Gain specifies how much the volume should be changed before playback, in dB.
|
|
174
|
+
Peak is the maximum sample value of the file before any gain has been
|
|
175
|
+
applied, where 1.0 means "full sample value" (32,767 when decoding to signed
|
|
176
|
+
16 bit samples).
|
|
177
|
+
-
|
|
178
|
+
.PP
|
|
179
|
+
Earlier versions of
|
|
180
|
+
.B vorbisgain
|
|
181
|
+
(before 0.30) created the following tags:
|
|
182
|
+
-
|
|
183
|
+
.PP
|
|
184
|
+
.RS
|
|
185
|
+
RG_RADIO
|
|
186
|
+
@@ -192,7 +159,6 @@
|
|
187
|
+
.RS
|
|
188
|
+
RG_AUDIOPHILE
|
|
189
|
+
.RE
|
|
190
|
+
-
|
|
191
|
+
.PP
|
|
192
|
+
When
|
|
193
|
+
.I -c
|
|
194
|
+
@@ -200,44 +166,44 @@
|
|
195
|
+
REPLAYGAIN_TRACK_PEAK, RG_AUDIOPHILE to REPLAYGAIN_ALBUM_GAIN and
|
|
196
|
+
REPLAYGAIN_ALBUM_PEAK is calculated as the maximum of all RG_PEAK tags in
|
|
197
|
+
the album.
|
|
198
|
+
-
|
|
199
|
+
.SH AUTHORS
|
|
200
|
+
-
|
|
201
|
+
.TP
|
|
202
|
+
Program Code:
|
|
203
|
+
.br
|
|
204
|
+
Gian-Carlo Pascutto <gcp@sjeng.org>
|
|
205
|
+
.br
|
|
206
|
+
Magnus Holmgren <lear@algonet.se>
|
|
207
|
+
-
|
|
208
|
+
.TP
|
|
209
|
+
ReplayGain Analysis Code:
|
|
210
|
+
.br
|
|
211
|
+
Glen Sawyer <glensawyer@hotmail.com>
|
|
212
|
+
.br
|
|
213
|
+
Frank Klemm (http://www.uni-jena.de/~pfk/)
|
|
214
|
+
-
|
|
215
|
+
.TP
|
|
216
|
+
Man Page:
|
|
217
|
+
.br
|
|
218
|
+
Magnus Holmgren <lear@algonet.se>
|
|
219
|
+
-
|
|
220
|
+
.SH BUGS
|
|
221
|
+
-
|
|
222
|
+
None known.
|
|
223
|
+
-
|
|
224
|
+
.SH SEE ALSO
|
|
225
|
+
-
|
|
226
|
+
.TP
|
|
227
|
+
http://sjeng.org/vorbisgain.html
|
|
228
|
+
Home page for VorbisGain. The latest version, and a Windows executable,
|
|
229
|
+
can be found here.
|
|
230
|
+
-
|
|
231
|
+
.TP
|
|
232
|
+
http://www.replaygain.org/
|
|
233
|
+
Contains detailed information about ReplayGain and how it is calculated.
|
|
234
|
+
-
|
|
235
|
+
.TP
|
|
236
|
+
http://www.hydrogenaudio.org/
|
|
237
|
+
Discussion forum for audio compression and related issues, including Ogg
|
|
238
|
+
Vorbis and VorbisGain.
|
|
239
|
+
+.SH NOTE
|
|
240
|
+
+The version of vorbisgain packaged for Debian differs in two ways from
|
|
241
|
+
+the upstream version. First, it does not retain the modification time
|
|
242
|
+
+of the input file: if tags are changed in a file, the mtime will change.
|
|
243
|
+
+Second, it does not try to process wildcards in filenames. This makes
|
|
244
|
+
+it impossible to say "process all foo*.ogg in all subdirectories", but
|
|
245
|
+
+also avoids problems with filenames that actually contain wildcards.
|
|
246
|
+
+Without this change, "vorbisgain *.ogg" in a directory with a file that
|
|
247
|
+
+contains a question mark would result in that file being treated as
|
|
248
|
+
+being in a different album.
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
Description: When a file's metadata is updated, the mtime is changed
|
|
2
|
+
to the current time. Whether this is correct or not is often a
|
|
3
|
+
religious issue (metadata-vs-data), but, generally, all other
|
|
4
|
+
tag-editing software choose to keep the timestamp.
|
|
5
|
+
.
|
|
6
|
+
Since the upstream fixed the issue, it is bad to ignore the fix
|
|
7
|
+
altogether. At the very least, there should be a command-line
|
|
8
|
+
option to follow the upstream and The Only Right(tm) behaviour.
|
|
9
|
+
Author: Adam Borowski <kilobyte@angband.pl>
|
|
10
|
+
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=445958
|
|
11
|
+
---
|
|
12
|
+
vorbis.c | 18 ++++++++++--------
|
|
13
|
+
vorbis.h | 2 +-
|
|
14
|
+
vorbisgain.1 | 7 ++++++-
|
|
15
|
+
vorbisgain.c | 20 ++++++++++++++------
|
|
16
|
+
vorbisgain.h | 1 +
|
|
17
|
+
5 files changed, 32 insertions(+), 16 deletions(-)
|
|
18
|
+
|
|
19
|
+
--- a/vorbis.c
|
|
20
|
+
+++ b/vorbis.c
|
|
21
|
+
@@ -557,7 +557,8 @@
|
|
22
|
+
* message has been printed).
|
|
23
|
+
*/
|
|
24
|
+
int write_gains(const char *filename, float track_peak, float track_gain,
|
|
25
|
+
- float album_peak, float album_gain, int verbose, int remove_tags)
|
|
26
|
+
+ float album_peak, float album_gain, int verbose, int remove_tags,
|
|
27
|
+
+ SETTINGS* settings)
|
|
28
|
+
{
|
|
29
|
+
struct stat stat_buf;
|
|
30
|
+
struct utimbuf utime_buf;
|
|
31
|
+
@@ -778,15 +779,16 @@
|
|
32
|
+
file_error(_("Note: Couldn't set mode for file '%s': "), filename);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
-#if 0 /* Disable for Debian, this surprises people and is not useful --liw */
|
|
36
|
+
- utime_buf.actime = stat_buf.st_atime;
|
|
37
|
+
- utime_buf.modtime = stat_buf.st_mtime;
|
|
38
|
+
-
|
|
39
|
+
- if (utime(filename, &utime_buf) != 0)
|
|
40
|
+
+ if (!settings->trample_mtime)
|
|
41
|
+
{
|
|
42
|
+
- file_error(_("Note: Couldn't set time for file '%s': "), filename);
|
|
43
|
+
+ utime_buf.actime = stat_buf.st_atime;
|
|
44
|
+
+ utime_buf.modtime = stat_buf.st_mtime;
|
|
45
|
+
+
|
|
46
|
+
+ if (utime(filename, &utime_buf) != 0)
|
|
47
|
+
+ {
|
|
48
|
+
+ file_error(_("Note: Couldn't set time for file '%s': "), filename);
|
|
49
|
+
+ }
|
|
50
|
+
}
|
|
51
|
+
-#endif
|
|
52
|
+
|
|
53
|
+
result = 0;
|
|
54
|
+
|
|
55
|
+
--- a/vorbisgain.1
|
|
56
|
+
+++ b/vorbisgain.1
|
|
57
|
+
@@ -72,6 +72,10 @@
|
|
58
|
+
.IP "-n, --no-progress"
|
|
59
|
+
Only display results, but don't show progress in percentages and times. This
|
|
60
|
+
can be useful if the output is piped into other programs.
|
|
61
|
+
+.IP "-p, --preserve-mtime"
|
|
62
|
+
+Do not trample upon the timestamps of any files being worked on. This obeys
|
|
63
|
+
+the expected data-vs-metadata behaviour, but can confuse some naive
|
|
64
|
+
+archivers.
|
|
65
|
+
.IP "-q, --quiet"
|
|
66
|
+
Do not display any output while processing. Only error and warning messages will
|
|
67
|
+
be printed.
|
|
68
|
+
@@ -200,7 +204,8 @@
|
|
69
|
+
.SH NOTE
|
|
70
|
+
The version of vorbisgain packaged for Debian differs in two ways from
|
|
71
|
+
the upstream version. First, it does not retain the modification time
|
|
72
|
+
-of the input file: if tags are changed in a file, the mtime will change.
|
|
73
|
+
+of the input file by default: if tags are changed in a file, the mtime will
|
|
74
|
+
+change; you can specify "-p" to get the normal behaviour.
|
|
75
|
+
Second, it does not try to process wildcards in filenames. This makes
|
|
76
|
+
it impossible to say "process all foo*.ogg in all subdirectories", but
|
|
77
|
+
also avoids problems with filenames that actually contain wildcards.
|
|
78
|
+
--- a/vorbisgain.c
|
|
79
|
+
+++ b/vorbisgain.c
|
|
80
|
+
@@ -235,7 +235,7 @@
|
|
81
|
+
{
|
|
82
|
+
if (write_gains(file->filename, file->track_peak,
|
|
83
|
+
file->track_gain, album_peak, file->album_gain,
|
|
84
|
+
- !settings->quiet, 0) < 0)
|
|
85
|
+
+ !settings->quiet, 0, settings) < 0)
|
|
86
|
+
{
|
|
87
|
+
return -1;
|
|
88
|
+
}
|
|
89
|
+
@@ -288,7 +288,7 @@
|
|
90
|
+
else
|
|
91
|
+
{
|
|
92
|
+
if (write_gains(file->filename, NO_PEAK, NO_GAIN,
|
|
93
|
+
- NO_PEAK, NO_GAIN, !settings->quiet, 1) < 0)
|
|
94
|
+
+ NO_PEAK, NO_GAIN, !settings->quiet, 1, settings) < 0)
|
|
95
|
+
{
|
|
96
|
+
return -1;
|
|
97
|
+
}
|
|
98
|
+
@@ -425,7 +425,8 @@
|
|
99
|
+
if (!settings->album)
|
|
100
|
+
{
|
|
101
|
+
if (!settings->display_only && write_gains(file->filename,
|
|
102
|
+
- file->track_peak, file->track_gain, NO_PEAK, NO_GAIN, 0, 0) < 0)
|
|
103
|
+
+ file->track_peak, file->track_gain, NO_PEAK, NO_GAIN, 0, 0,
|
|
104
|
+
+ settings) < 0)
|
|
105
|
+
{
|
|
106
|
+
return -1;
|
|
107
|
+
}
|
|
108
|
+
@@ -466,7 +467,7 @@
|
|
109
|
+
|
|
110
|
+
if (write_gains(file->filename, file->track_peak,
|
|
111
|
+
file->track_gain, album_peak, album_gain,
|
|
112
|
+
- !settings->quiet, 0) < 0)
|
|
113
|
+
+ !settings->quiet, 0, settings) < 0)
|
|
114
|
+
{
|
|
115
|
+
return -1;
|
|
116
|
+
}
|
|
117
|
+
@@ -497,6 +498,7 @@
|
|
118
|
+
fprintf(stderr, _(" -h, --help Print this help text\n"));
|
|
119
|
+
fprintf(stderr, _(" -n, --no-progress Don't show progress, just print results\n"));
|
|
120
|
+
fprintf(stderr, _(" -q, --quiet Don't print any output (except errors)\n"));
|
|
121
|
+
+ fprintf(stderr, _(" -p, --preserve-mtime Don't change the timestamps\n"));
|
|
122
|
+
#ifdef ENABLE_RECURSIVE
|
|
123
|
+
fprintf(stderr, _(" -r, --recursive Search for files recursivly, each folder as an album\n"));
|
|
124
|
+
#endif
|
|
125
|
+
@@ -522,6 +524,7 @@
|
|
126
|
+
{"fast", 0, NULL, 'f'},
|
|
127
|
+
{"help", 0, NULL, 'h'},
|
|
128
|
+
{"no-progress", 0, NULL, 'n'},
|
|
129
|
+
+ {"preserve-mtime",0,NULL, 'p'},
|
|
130
|
+
{"quiet", 0, NULL, 'q'},
|
|
131
|
+
#ifdef ENABLE_RECURSIVE
|
|
132
|
+
{"recursive", 0, NULL, 'r'},
|
|
133
|
+
@@ -533,9 +536,9 @@
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
#ifdef ENABLE_RECURSIVE
|
|
137
|
+
-#define ARG_STRING "acCdfg:hnqrst:v"
|
|
138
|
+
+#define ARG_STRING "acCdfg:hnpqrst:v"
|
|
139
|
+
#else
|
|
140
|
+
-#define ARG_STRING "acCdfg:hnqst:v"
|
|
141
|
+
+#define ARG_STRING "acCdfg:hnpqst:v"
|
|
142
|
+
#endif
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
@@ -549,6 +552,7 @@
|
|
146
|
+
memset(&settings, 0, sizeof(settings));
|
|
147
|
+
settings.first_file = 1;
|
|
148
|
+
settings.album_gain = NO_GAIN;
|
|
149
|
+
+ settings.trample_mtime = 1;
|
|
150
|
+
settings.show_progress = 1;
|
|
151
|
+
|
|
152
|
+
#ifdef WIN32
|
|
153
|
+
@@ -623,6 +627,10 @@
|
|
154
|
+
settings.show_progress = 0;
|
|
155
|
+
break;
|
|
156
|
+
|
|
157
|
+
+ case 'p':
|
|
158
|
+
+ settings.trample_mtime = 0;
|
|
159
|
+
+ break;
|
|
160
|
+
+
|
|
161
|
+
case 'q':
|
|
162
|
+
settings.quiet = 1;
|
|
163
|
+
break;
|
|
164
|
+
--- a/vorbisgain.h
|
|
165
|
+
+++ b/vorbisgain.h
|
|
166
|
+
@@ -31,6 +31,7 @@
|
|
167
|
+
int convert; /**< Convert old format tags to new format */
|
|
168
|
+
int display_only;
|
|
169
|
+
int fast; /**< Skip files that already have all needed tags */
|
|
170
|
+
+ int trample_mtime;
|
|
171
|
+
int quiet;
|
|
172
|
+
#ifdef ENABLE_RECURSIVE
|
|
173
|
+
int recursive;
|
|
174
|
+
--- a/vorbis.h
|
|
175
|
+
+++ b/vorbis.h
|
|
176
|
+
@@ -15,6 +15,6 @@
|
|
177
|
+
SETTINGS *settings);
|
|
178
|
+
extern int write_gains(const char *filename, float track_peak,
|
|
179
|
+
float track_gain, float album_gain, float album_peak, int verbose,
|
|
180
|
+
- int remove_tags);
|
|
181
|
+
+ int remove_tags, SETTINGS *settings);
|
|
182
|
+
|
|
183
|
+
#endif /* VG_VORBIS_H */
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Description: Don't call fclose() twice.
|
|
2
|
+
Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
|
|
3
|
+
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632947
|
|
4
|
+
---
|
|
5
|
+
vorbis.c | 5 -----
|
|
6
|
+
1 file changed, 5 deletions(-)
|
|
7
|
+
|
|
8
|
+
--- a/vorbis.c
|
|
9
|
+
+++ b/vorbis.c
|
|
10
|
+
@@ -813,11 +813,6 @@
|
|
11
|
+
fclose(infile);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
- if (infile != NULL)
|
|
15
|
+
- {
|
|
16
|
+
- fclose(infile);
|
|
17
|
+
- }
|
|
18
|
+
-
|
|
19
|
+
if (delete_temp)
|
|
20
|
+
{
|
|
21
|
+
if (remove(temp_name) != 0)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
Description: Resolved hyphen-used-as-minus-sign lintian complaints.
|
|
2
|
+
Forwarded: no
|
|
3
|
+
--- a/vorbisgain.1
|
|
4
|
+
+++ b/vorbisgain.1
|
|
5
|
+
@@ -85,7 +85,7 @@
|
|
6
|
+
.I Note:
|
|
7
|
+
Only available if
|
|
8
|
+
.B vorbisgain
|
|
9
|
+
-was configured with --enable-recursive.
|
|
10
|
+
+was configured with \-\-enable\-recursive.
|
|
11
|
+
.IP "-s, --skip"
|
|
12
|
+
Silently skip any non-Vorbis files found. Vorbis files that can't be processed
|
|
13
|
+
for some reason are skipped as well, though not silently. Default is to stop
|
|
14
|
+
@@ -101,7 +101,7 @@
|
|
15
|
+
.PP
|
|
16
|
+
Note that the following examples are only possible if
|
|
17
|
+
.B vorbisgain
|
|
18
|
+
-was configured with --enable-recursive.
|
|
19
|
+
+was configured with \-\-enable\-recursive.
|
|
20
|
+
.PP
|
|
21
|
+
Calculate the album gain and peak, in addition to the track gain and peak, for
|
|
22
|
+
all .ogg files in the directory "music" (and all subdirectories). All files in
|
|
23
|
+
@@ -110,7 +110,7 @@
|
|
24
|
+
shell to not do any filename globbing:
|
|
25
|
+
.PP
|
|
26
|
+
.RS
|
|
27
|
+
-vorbisgain -a -f -r "music/*.ogg"
|
|
28
|
+
+vorbisgain \-a \-f \-r "music/*.ogg"
|
|
29
|
+
.RE
|
|
30
|
+
.PP
|
|
31
|
+
Calculate the album gain. The files specified before the directory "album"
|
|
32
|
+
@@ -118,13 +118,13 @@
|
|
33
|
+
album and the remaining files as a third album:
|
|
34
|
+
.PP
|
|
35
|
+
.RS
|
|
36
|
+
-vorbisgain -a -r a.ogg b.ogg c.ogg album d.ogg e.ogg f.ogg
|
|
37
|
+
+vorbisgain \-a \-r a.ogg b.ogg c.ogg album d.ogg e.ogg f.ogg
|
|
38
|
+
.RE
|
|
39
|
+
.PP
|
|
40
|
+
Remove all replaygain tags from a collection of oggs:
|
|
41
|
+
.PP
|
|
42
|
+
.RS
|
|
43
|
+
-vorbisgain -c -r "music/*.ogg"
|
|
44
|
+
+vorbisgain \-c \-r "music/*.ogg"
|
|
45
|
+
.RE
|
|
46
|
+
.SH TAG FORMAT
|
|
47
|
+
.B vorbisgain
|
|
48
|
+
@@ -205,7 +205,7 @@
|
|
49
|
+
The version of vorbisgain packaged for Debian differs in two ways from
|
|
50
|
+
the upstream version. First, it does not retain the modification time
|
|
51
|
+
of the input file by default: if tags are changed in a file, the mtime will
|
|
52
|
+
-change; you can specify "-p" to get the normal behaviour.
|
|
53
|
+
+change; you can specify "\-p" to get the normal behaviour.
|
|
54
|
+
Second, it does not try to process wildcards in filenames. This makes
|
|
55
|
+
it impossible to say "process all foo*.ogg in all subdirectories", but
|
|
56
|
+
also avoids problems with filenames that actually contain wildcards.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Description: "recursivly" should be spelled "recursively". Thanks Adam.
|
|
2
|
+
From: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=661999
|
|
3
|
+
Forwarded: no
|
|
4
|
+
--- a/vorbisgain.c
|
|
5
|
+
+++ b/vorbisgain.c
|
|
6
|
+
@@ -500,7 +500,7 @@
|
|
7
|
+
fprintf(stderr, _(" -q, --quiet Don't print any output (except errors)\n"));
|
|
8
|
+
fprintf(stderr, _(" -p, --preserve-mtime Don't change the timestamps\n"));
|
|
9
|
+
#ifdef ENABLE_RECURSIVE
|
|
10
|
+
- fprintf(stderr, _(" -r, --recursive Search for files recursivly, each folder as an album\n"));
|
|
11
|
+
+ fprintf(stderr, _(" -r, --recursive Search for files recursively, each folder as an album\n"));
|
|
12
|
+
#endif
|
|
13
|
+
fprintf(stderr, _(" -s, --skip Skip non-Vorbis or faulty files\n"));
|
|
14
|
+
fprintf(stderr, _(" -v, --version Display version number and exit\n\n"));
|