diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index c266c9d..5d54204 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: 🛟 Support
- url: https://github.com/linuxmatters/jivedrop/blob/HEAD/SUPPORT.md
+ url: https://github.com/linuxmatters/jive-encoder/blob/HEAD/SUPPORT.md
about: Check the support guide before opening an issue.
# - name: Code of Conduct Report
# url: https://yourproject.org/community-report/
diff --git a/.github/jive-encoder.gif b/.github/jive-encoder.gif
new file mode 100644
index 0000000..7258d1d
Binary files /dev/null and b/.github/jive-encoder.gif differ
diff --git a/.github/jivedrop.gif b/.github/jivedrop.gif
deleted file mode 100644
index 6f273e7..0000000
Binary files a/.github/jivedrop.gif and /dev/null differ
diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml
index 1b46f2b..3dd32d2 100644
--- a/.github/workflows/builder.yml
+++ b/.github/workflows/builder.yml
@@ -212,15 +212,15 @@ jobs:
run: |
VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "dev")
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
- echo "Building jivedrop $VERSION for ${{ matrix.os }}/${{ matrix.arch }}"
+ echo "Building jive-encoder $VERSION for ${{ matrix.os }}/${{ matrix.arch }}"
- name: Build binary
run: |
- go build -ldflags="-X main.version=${{ steps.version.outputs.version }}" -o jivedrop-${{ matrix.os }}-${{ matrix.arch }} ./cmd/jivedrop
+ go build -ldflags="-X main.version=${{ steps.version.outputs.version }}" -o jive-encoder-${{ matrix.os }}-${{ matrix.arch }} ./cmd/jive-encoder
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
- name: jivedrop-${{ matrix.os }}-${{ matrix.arch }}
- path: jivedrop-${{ matrix.os }}-${{ matrix.arch }}
+ name: jive-encoder-${{ matrix.os }}-${{ matrix.arch }}
+ path: jive-encoder-${{ matrix.os }}-${{ matrix.arch }}
release:
name: Release 📦
@@ -257,12 +257,12 @@ jobs:
```bash
# Linux (amd64)
- chmod +x jivedrop-linux-amd64
- sudo mv jivedrop-linux-amd64 /usr/local/bin/jivedrop
+ chmod +x jive-encoder-linux-amd64
+ sudo mv jive-encoder-linux-amd64 /usr/local/bin/jive-encoder
# macOS (Apple Silicon)
- chmod +x jivedrop-darwin-arm64
- sudo mv jivedrop-darwin-arm64 /usr/local/bin/jivedrop
+ chmod +x jive-encoder-darwin-arm64
+ sudo mv jive-encoder-darwin-arm64 /usr/local/bin/jive-encoder
```
## Checksums
@@ -275,7 +275,7 @@ jobs:
uses: actions/download-artifact@v8
with:
path: artifacts
- pattern: jivedrop-*
+ pattern: jive-encoder-*
merge-multiple: false
- name: Create release
uses: softprops/action-gh-release@v3
@@ -283,8 +283,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.version.outputs.version }}
- name: Jivedrop ${{ steps.version.outputs.version }}
+ name: Jive Encoder ${{ steps.version.outputs.version }}
body_path: CHANGELOG.md
draft: false
prerelease: false
- files: artifacts/jivedrop-*/jivedrop-*
+ files: artifacts/jive-encoder-*/jive-encoder-*
diff --git a/.gitignore b/.gitignore
index eb09d95..5f22320 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
.direnv
-/jivedrop
+/jive-encoder
testdata/
*.mp3
*.opus
diff --git a/.harper-dictionary.txt b/.harper-dictionary.txt
new file mode 100644
index 0000000..015bbcb
--- /dev/null
+++ b/.harper-dictionary.txt
@@ -0,0 +1,2 @@
+Jivedrop
+jive-encoder
diff --git a/AGENTS.md b/AGENTS.md
index bb75d25..0da9afe 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -25,7 +25,7 @@ just clean # Remove build artifacts and test outputs (*.mp3)
## Architecture
```
-cmd/jivedrop/
+cmd/jive-encoder/
main.go # CLI entry, mode detection (Hugo vs Standalone), argument validation
workflow.go # Workflow interface + CLIOptions struct passed to each workflow
hugo.go # Hugo-mode workflow (frontmatter-driven)
@@ -52,8 +52,8 @@ third_party/ffmpeg-statigo/ # Git submodule: FFmpeg 8.1 static bindings
### Dual-Mode CLI
-- **Hugo mode**: `jivedrop audio.flac episode.md`: reads metadata from Hugo frontmatter
-- **Standalone mode**: `jivedrop audio.flac --title X --num N --cover Y`: explicit flags
+- **Hugo mode**: `jive-encoder audio.flac episode.md`: reads metadata from Hugo frontmatter
+- **Standalone mode**: `jive-encoder audio.flac --title X --num N --cover Y`: explicit flags
- Mode detection: second argument ending in `.md` triggers Hugo mode
- `--format mp3|opus|aac` selects one format per invocation (single value, default `mp3`); Kong rejects unknown values at parse time. Each invocation emits one file with the preset extension
@@ -61,7 +61,7 @@ third_party/ffmpeg-statigo/ # Git submodule: FFmpeg 8.1 static bindings
- Required fields in episode markdown: `episode`, `title`, `episode_image`
- `episode` must be a non-empty, non-negative integer (validated by `encoder.ParseEpisodeNumber`); same rule applies to the standalone `--num` flag
-- After encoding, Jivedrop calculates `podcast_duration` and `podcast_bytes`
+- After encoding, Jive Encoder calculates `podcast_duration` and `podcast_bytes`
- Write-back is format-agnostic: the stats reflect the single encoded file, whatever format was chosen
- Prompts user to update frontmatter if values differ or are missing
diff --git a/README.md b/README.md
index 0ffa9f0..b3cc60c 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,16 @@
-# Jivedrop 🪩
+# Jive Encoder 🪩
+
+*Formerly known as Jivedrop.*
> Drop your podcast .wav into a shiny MP3, AAC, or Opus with metadata, cover art, and all
## The Groove
-Jivedrop takes your mixed podcast audio (WAV/FLAC) and outputs RSS-ready podcast files with optimised encoding, embedded artwork, and complete metadata. Choose MP3 for universal compatibility, AAC for Apple-recommended quality, or Opus for modern Android and web delivery. One command, distribution-ready output.
+Jive Encoder takes your mixed podcast audio (WAV/FLAC) and outputs RSS-ready podcast files with optimised encoding, embedded artwork, and complete metadata. Choose MP3 for universal compatibility, AAC for Apple-recommended quality, or Opus for modern Android and web delivery. One command, distribution-ready output.
### Example Output
-

+
### What's Cooking
@@ -33,7 +35,7 @@ Jivedrop takes your mixed podcast audio (WAV/FLAC) and outputs RSS-ready podcast
### Hugo Mode (Integrated Workflow)
-For podcasts using Hugo static site generator and the something like [Castanet](https://github.com/mattstratton/castanet), Jivedrop reads metadata from episode markdown:
+For podcasts using Hugo static site generator and the something like [Castanet](https://github.com/mattstratton/castanet), Jive Encoder reads metadata from episode markdown:
**Hugo mode automatically:**
- Reads episode title and number from frontmatter
@@ -44,13 +46,13 @@ For podcasts using Hugo static site generator and the something like [Castanet](
```bash
# Basic encoding (MP3 by default)
-jivedrop LMP67.flac episode/67.md
+jive-encoder LMP67.flac episode/67.md
# Encode as AAC for Apple-recommended distribution
-jivedrop LMP67.flac episode/67.md --format aac
+jive-encoder LMP67.flac episode/67.md --format aac
# Override Hugo defaults
-jivedrop LMP67.flac episode/67.md --artist "Ubuntu Podcast" --comment "https://ubuntupodcast.org"
+jive-encoder LMP67.flac episode/67.md --artist "Ubuntu Podcast" --comment "https://ubuntupodcast.org"
```
### Standalone Mode (Universal Workflow)
@@ -64,20 +66,20 @@ For podcasts without Hugo, specify metadata via flags:
```bash
# Minimal (title, episode number, and cover art required)
-jivedrop audio.flac \
+jive-encoder audio.flac \
--title "Terminal Full of Sparkles" \
--num 66 \
--cover artwork.png
# Encode as Opus (note: Opus is not accepted by Apple Podcasts)
-jivedrop audio.flac \
+jive-encoder audio.flac \
--title "Terminal Full of Sparkles" \
--num 66 \
--cover artwork.png \
--format opus
# Full metadata
-jivedrop audio.flac \
+jive-encoder audio.flac \
--title "Terminal Full of Sparkles" \
--num 66 \
--artist "Linux Matters" \
@@ -93,9 +95,9 @@ jivedrop audio.flac \
```
Usage:
Hugo mode:
- jivedrop [flags]
+ jive-encoder [flags]
Standalone mode:
- jivedrop --title TEXT --num NUMBER --cover PATH [flags]
+ jive-encoder --title TEXT --num NUMBER --cover PATH [flags]
Arguments:
@@ -155,7 +157,7 @@ Same text fields as MP3. Cover art is not embedded in Opus files.
## Build
-Jivedrop uses [ffmpeg-statigo](https://github.com/linuxmatters/ffmpeg-statigo) for FFmpeg static bindings.
+Jive Encoder uses [ffmpeg-statigo](https://github.com/linuxmatters/ffmpeg-statigo) for FFmpeg static bindings.
```bash
# Setup or update ffmpeg-statigo submodule and library
@@ -167,8 +169,8 @@ just test # Run tests
just test-encoder # Test encoder
```
-## Why Jivedrop?
+## Why Jive Encoder?
FFmpeg's CLI can absolutely encode podcast-ready audio with metadata. But getting the incantation right for CBR encoding, mono downmix, format-native tags, embedded artwork, and correct lowpass filtering requires a sprawling command line you'll never remember. Switch from MP3 to AAC and every option changes. Add Hugo frontmatter parsing on top and you're writing a script.
-Jivedrop wraps the fiddly bits into a single binary that speaks Hugo natively. Drop your WAV, point at your episode markdown, pick your format, and get distribution-ready output with duration and byte counts ready to paste back into your frontmatter.
+Jive Encoder wraps the fiddly bits into a single binary that speaks Hugo natively. Drop your WAV, point at your episode markdown, pick your format, and get distribution-ready output with duration and byte counts ready to paste back into your frontmatter.
diff --git a/SECURITY.md b/SECURITY.md
index 6379bc0..333e9f0 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -8,7 +8,7 @@ Only the latest release is supported. Security fixes are released as patch versi
**Do not open a public issue for security vulnerabilities.**
-[Report vulnerabilities privately](https://github.com/linuxmatters/jivedrop/security/advisories/new). Include:
+[Report vulnerabilities privately](https://github.com/linuxmatters/jive-encoder/security/advisories/new). Include:
- Steps to reproduce
- Affected versions
diff --git a/cmd/jivedrop/hugo.go b/cmd/jive-encoder/hugo.go
similarity index 96%
rename from cmd/jivedrop/hugo.go
rename to cmd/jive-encoder/hugo.go
index 4904af8..a3b9a5b 100644
--- a/cmd/jivedrop/hugo.go
+++ b/cmd/jive-encoder/hugo.go
@@ -5,9 +5,9 @@ import (
"os"
"strings"
- "github.com/linuxmatters/jivedrop/internal/cli"
- "github.com/linuxmatters/jivedrop/internal/encoder"
- "github.com/linuxmatters/jivedrop/internal/id3"
+ "github.com/linuxmatters/jive-encoder/internal/cli"
+ "github.com/linuxmatters/jive-encoder/internal/encoder"
+ "github.com/linuxmatters/jive-encoder/internal/id3"
)
// Hugo mode metadata defaults for the Linux Matters podcast.
diff --git a/cmd/jivedrop/hugo_test.go b/cmd/jive-encoder/hugo_test.go
similarity index 100%
rename from cmd/jivedrop/hugo_test.go
rename to cmd/jive-encoder/hugo_test.go
diff --git a/cmd/jivedrop/main.go b/cmd/jive-encoder/main.go
similarity index 98%
rename from cmd/jivedrop/main.go
rename to cmd/jive-encoder/main.go
index 6af72e8..95e2d6c 100644
--- a/cmd/jivedrop/main.go
+++ b/cmd/jive-encoder/main.go
@@ -9,10 +9,10 @@ import (
tea "charm.land/bubbletea/v2"
"github.com/alecthomas/kong"
"github.com/charmbracelet/x/term"
- "github.com/linuxmatters/jivedrop/internal/cli"
- "github.com/linuxmatters/jivedrop/internal/encoder"
- "github.com/linuxmatters/jivedrop/internal/id3"
- "github.com/linuxmatters/jivedrop/internal/ui"
+ "github.com/linuxmatters/jive-encoder/internal/cli"
+ "github.com/linuxmatters/jive-encoder/internal/encoder"
+ "github.com/linuxmatters/jive-encoder/internal/id3"
+ "github.com/linuxmatters/jive-encoder/internal/ui"
)
// version is set via ldflags at build time: "dev" for local builds, the git
@@ -325,7 +325,7 @@ func main() {
func run() int {
ctx := kong.Parse(&CLI,
- kong.Name("jivedrop"),
+ kong.Name("jive-encoder"),
kong.Description("Drop the mix, ship the show—metadata, cover art, and all."),
kong.Vars{"version": version},
kong.UsageOnError(),
diff --git a/cmd/jivedrop/main_test.go b/cmd/jive-encoder/main_test.go
similarity index 98%
rename from cmd/jivedrop/main_test.go
rename to cmd/jive-encoder/main_test.go
index bdde6c0..f4958dc 100644
--- a/cmd/jivedrop/main_test.go
+++ b/cmd/jive-encoder/main_test.go
@@ -705,21 +705,21 @@ func TestDetectMode_Integration(t *testing.T) {
audioFile: "LMP67.flac",
episodeMD: "content/episodes/67.md",
expected: HugoMode,
- description: "User runs: jivedrop LMP67.flac content/episodes/67.md",
+ description: "User runs: jive-encoder LMP67.flac content/episodes/67.md",
},
{
name: "real standalone workflow",
audioFile: "podcast.wav",
episodeMD: "",
expected: StandaloneMode,
- description: "User runs: jivedrop podcast.wav --title 'Ep 1' --num 1 --cover art.png",
+ description: "User runs: jive-encoder podcast.wav --title 'Ep 1' --num 1 --cover art.png",
},
{
name: "common mistake: user passes non-md file in hugo mode",
audioFile: "episode.flac",
episodeMD: "episode.txt",
expected: StandaloneMode,
- description: "User runs: jivedrop episode.flac episode.txt (should be .md not .txt)",
+ description: "User runs: jive-encoder episode.flac episode.txt (should be .md not .txt)",
},
{
name: "edge: .md file with uppercase extension",
diff --git a/cmd/jivedrop/standalone.go b/cmd/jive-encoder/standalone.go
similarity index 93%
rename from cmd/jivedrop/standalone.go
rename to cmd/jive-encoder/standalone.go
index d5f1239..e25c201 100644
--- a/cmd/jivedrop/standalone.go
+++ b/cmd/jive-encoder/standalone.go
@@ -4,8 +4,8 @@ import (
"fmt"
"os"
- "github.com/linuxmatters/jivedrop/internal/encoder"
- "github.com/linuxmatters/jivedrop/internal/id3"
+ "github.com/linuxmatters/jive-encoder/internal/encoder"
+ "github.com/linuxmatters/jive-encoder/internal/id3"
)
// StandaloneWorkflow implements the Workflow interface for standalone mode.
diff --git a/cmd/jivedrop/standalone_test.go b/cmd/jive-encoder/standalone_test.go
similarity index 98%
rename from cmd/jivedrop/standalone_test.go
rename to cmd/jive-encoder/standalone_test.go
index ac61808..72767f3 100644
--- a/cmd/jivedrop/standalone_test.go
+++ b/cmd/jive-encoder/standalone_test.go
@@ -263,7 +263,7 @@ func TestStandaloneWorkflowValidate_Integration(t *testing.T) {
num: "66",
cover: "artwork.png",
wantErr: false,
- description: "User runs: jivedrop audio.flac --title 'Terminal Full of Sparkles' --num 66 --cover artwork.png",
+ description: "User runs: jive-encoder audio.flac --title 'Terminal Full of Sparkles' --num 66 --cover artwork.png",
},
{
name: "common mistake: forgot --title flag",
diff --git a/cmd/jivedrop/workflow.go b/cmd/jive-encoder/workflow.go
similarity index 92%
rename from cmd/jivedrop/workflow.go
rename to cmd/jive-encoder/workflow.go
index 8d69563..a2f563e 100644
--- a/cmd/jivedrop/workflow.go
+++ b/cmd/jive-encoder/workflow.go
@@ -3,9 +3,9 @@ package main
import (
"fmt"
- "github.com/linuxmatters/jivedrop/internal/cli"
- "github.com/linuxmatters/jivedrop/internal/encoder"
- "github.com/linuxmatters/jivedrop/internal/id3"
+ "github.com/linuxmatters/jive-encoder/internal/cli"
+ "github.com/linuxmatters/jive-encoder/internal/encoder"
+ "github.com/linuxmatters/jive-encoder/internal/id3"
)
// Workflow defines the mode-specific operations for Hugo and Standalone workflows.
diff --git a/go.mod b/go.mod
index ee24625..8afdef0 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/linuxmatters/jivedrop
+module github.com/linuxmatters/jive-encoder
go 1.26
diff --git a/internal/cli/help.go b/internal/cli/help.go
index 7cf336a..86628a6 100644
--- a/internal/cli/help.go
+++ b/internal/cli/help.go
@@ -43,7 +43,7 @@ func StyledHelpPrinter(options kong.HelpOptions) kong.HelpPrinter {
var sb strings.Builder
// Title and description
- sb.WriteString(TitleStyle.Render("Jivedrop 🪩"))
+ sb.WriteString(TitleStyle.Render("Jive Encoder 🪩"))
sb.WriteString("\n")
sb.WriteString(helpDescStyle.Render("Drop your podcast .wav into a shiny MP3, AAC, or Opus with metadata, cover art, and all."))
sb.WriteString("\n")
diff --git a/internal/cli/styles.go b/internal/cli/styles.go
index 781e48e..da6b54f 100644
--- a/internal/cli/styles.go
+++ b/internal/cli/styles.go
@@ -53,7 +53,7 @@ var (
// PrintVersion prints version information
func PrintVersion(version string) {
- fmt.Println(TitleStyle.Render("Jivedrop 🪩"))
+ fmt.Println(TitleStyle.Render("Jive Encoder 🪩"))
fmt.Printf("%s %s\n", KeyStyle.Render("Version:"), ValueStyle.Render(version))
fmt.Println()
}
diff --git a/internal/encoder/encoder_test.go b/internal/encoder/encoder_test.go
index fb73c5a..f80cde0 100644
--- a/internal/encoder/encoder_test.go
+++ b/internal/encoder/encoder_test.go
@@ -9,7 +9,7 @@ import (
"sync"
"testing"
- "github.com/linuxmatters/jivedrop/internal/id3"
+ "github.com/linuxmatters/jive-encoder/internal/id3"
)
// TestNewFormatResolution verifies that New defaults an empty Format to the
diff --git a/internal/ui/encode.go b/internal/ui/encode.go
index 0e9b7c6..17a79b1 100644
--- a/internal/ui/encode.go
+++ b/internal/ui/encode.go
@@ -9,7 +9,7 @@ import (
"charm.land/bubbles/v2/progress"
tea "charm.land/bubbletea/v2"
"github.com/charmbracelet/harmonica"
- "github.com/linuxmatters/jivedrop/internal/encoder"
+ "github.com/linuxmatters/jive-encoder/internal/encoder"
)
// ProgressUpdate represents a progress update from the encoder
diff --git a/internal/ui/encode_test.go b/internal/ui/encode_test.go
index 3618394..0730370 100644
--- a/internal/ui/encode_test.go
+++ b/internal/ui/encode_test.go
@@ -5,7 +5,7 @@ import (
"testing"
tea "charm.land/bubbletea/v2"
- "github.com/linuxmatters/jivedrop/internal/encoder"
+ "github.com/linuxmatters/jive-encoder/internal/encoder"
)
// newTestModel builds a minimal EncodeModel for exercising Update in isolation.
diff --git a/internal/ui/styles.go b/internal/ui/styles.go
index 32851bb..5593cd6 100644
--- a/internal/ui/styles.go
+++ b/internal/ui/styles.go
@@ -2,7 +2,7 @@ package ui
import (
"charm.land/lipgloss/v2"
- "github.com/linuxmatters/jivedrop/internal/cli"
+ "github.com/linuxmatters/jive-encoder/internal/cli"
)
// Import shared colour palette from cli package
diff --git a/internal/ui/views.go b/internal/ui/views.go
index d9b8c3f..2c58f3c 100644
--- a/internal/ui/views.go
+++ b/internal/ui/views.go
@@ -5,7 +5,7 @@ import (
"strings"
"charm.land/lipgloss/v2"
- "github.com/linuxmatters/jivedrop/internal/encoder"
+ "github.com/linuxmatters/jive-encoder/internal/encoder"
)
// progressView renders the encoding progress UI
diff --git a/jivedrop.tape b/jive-encoder.tape
similarity index 94%
rename from jivedrop.tape
rename to jive-encoder.tape
index 73441b2..951222c 100644
--- a/jivedrop.tape
+++ b/jive-encoder.tape
@@ -55,9 +55,9 @@
# Hide Hide the subsequent commands from the output
# Show Show the subsequent commands in the output
-Output .github/jivedrop.gif
+Output .github/jive-encoder.gif
-Require ./jivedrop
+Require ./jive-encoder
Set Shell "fish"
Set FontSize 13
@@ -69,9 +69,9 @@ Set WindowBarSize 32
Set TypingSpeed 27ms
Set Theme catppuccin-mocha
-Type "./jivedrop testdata/LMP67.flac testdata/67.md" Sleep 250ms Enter
+Type "./jive-encoder testdata/LMP67.flac testdata/67.md" Sleep 250ms Enter
Sleep 4s
-#Type "./jivedrop testdata/LMP80.flac testdata/80.md" Sleep 250ms Enter
+#Type "./jive-encoder testdata/LMP80.flac testdata/80.md" Sleep 250ms Enter
#Sleep 10s
Type "n" Sleep 250ms Enter
diff --git a/justfile b/justfile
index 097f1f3..f15a208 100644
--- a/justfile
+++ b/justfile
@@ -1,4 +1,4 @@
-# Jivedrop - Just Commands
+# Jive Encoder - Just Commands
# List commands
default:
@@ -86,30 +86,30 @@ setup:
echo "Don't forget to commit: git commit -m 'chore: update ffmpeg-statigo to $TAG'"
fi
-# Build jivedrop
+# Build jive-encoder
build: _check-submodule
#!/usr/bin/env bash
VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "dev")
- echo "Building jivedrop version: $VERSION"
- CGO_ENABLED=1 go build -ldflags="-X main.version=$VERSION" -o jivedrop ./cmd/jivedrop
+ echo "Building jive-encoder version: $VERSION"
+ CGO_ENABLED=1 go build -ldflags="-X main.version=$VERSION" -o jive-encoder ./cmd/jive-encoder
# Clean build artifacts
clean:
- rm -fv jivedrop 2>/dev/null || true
+ rm -fv jive-encoder 2>/dev/null || true
@rm testdata/*.mp3 2>/dev/null || true
@rm testdata/*.m4a 2>/dev/null || true
@rm testdata/*.opus 2>/dev/null || true
-# Install jivedrop to ~/.local/bin
+# Install jive-encoder to ~/.local/bin
install: build
@mkdir -p ~/.local/bin 2>/dev/null || true
- @mv ./jivedrop ~/.local/bin/jivedrop
- @echo "Installed jivedrop to ~/.local/bin/jivedrop"
+ @mv ./jive-encoder ~/.local/bin/jive-encoder
+ @echo "Installed jive-encoder to ~/.local/bin/jive-encoder"
@echo "Make sure ~/.local/bin is in your PATH"
# Record gif
vhs: build
- @vhs ./jivedrop.tape
+ @vhs ./jive-encoder.tape
rm LMP67.mp3 2>/dev/null || true
# Show current version (from git tags or "dev" if no tags)
@@ -200,12 +200,12 @@ test-encoder: build
rm -f "$file"
# Decline the frontmatter-update prompt. Gate on the encode exit status,
- # not the SIGPIPE that "echo n" may receive once jivedrop stops reading.
+ # not the SIGPIPE that "echo n" may receive once jive-encoder stops reading.
set +o pipefail
- echo n | ./jivedrop "$flac" "$meta" --format "$fmt" --output-path "$out/" >/dev/null
+ echo n | ./jive-encoder "$flac" "$meta" --format "$fmt" --output-path "$out/" >/dev/null
rc=${PIPESTATUS[1]}
set -o pipefail
- [ "$rc" -eq 0 ] || fail "$fmt: jivedrop exited $rc"
+ [ "$rc" -eq 0 ] || fail "$fmt: jive-encoder exited $rc"
[ -f "$file" ] || fail "$fmt: expected output $file not created"
got_codec=$(ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of "default=noprint_wrappers=1:nokey=1" "$file")