Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/build-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ on:
push:
branches:
- '*'
paths:
- 'go/**'

jobs:
sanity:
Expand Down
81 changes: 75 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,9 @@ jobs:

- name: Build
run: |
VERSION="${GITHUB_REF#refs/tags/v}"; VERSION="${VERSION%%-*}"
cd go
wails build -platform darwin/arm64 -ldflags "-s -w"
wails build -platform darwin/arm64 -ldflags "-s -w -X main.currentVersion=${VERSION}"

- name: Add FFmpeg to bundle
run: |
Expand Down Expand Up @@ -156,8 +157,9 @@ jobs:

- name: Build
run: |
VERSION="${GITHUB_REF#refs/tags/v}"; VERSION="${VERSION%%-*}"
cd go
wails build -platform darwin/amd64 -ldflags "-s -w"
wails build -platform darwin/amd64 -ldflags "-s -w -X main.currentVersion=${VERSION}"

- name: Add FFmpeg to bundle
run: |
Expand Down Expand Up @@ -277,7 +279,7 @@ jobs:
$TAG = $env:GITHUB_REF -replace "refs/tags/v", ""
$VERSION = $TAG.Split("-")[0]
cd go
wails build -platform windows/amd64 -ldflags "-s -w -X main.version=$VERSION"
wails build -platform windows/amd64 -ldflags "-s -w -X main.currentVersion=$VERSION"
shell: powershell

- name: Create InnoSetup installer
Expand Down Expand Up @@ -316,7 +318,7 @@ jobs:
AWS_ACCESS_KEY_ID: ${{ secrets.OVH_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.OVH_SECRET }}
run: |
aws s3 cp "Distribution\${{ steps.filename.outputs.exe_name }}" "s3://${{ secrets.OVH_BUCKET }}/win/amd/tnt.exe" --endpoint-url "${{ secrets.OVH_ENDPOINT }}" --acl public-read
aws s3 cp "Distribution\${{ steps.filename.outputs.exe_name }}" "s3://${{ secrets.OVH_BUCKET }}/win/tnt.exe" --endpoint-url "${{ secrets.OVH_ENDPOINT }}" --acl public-read
shell: powershell

- name: Upload Windows Installer Artifact
Expand Down Expand Up @@ -355,8 +357,9 @@ jobs:

- name: Build Linux binary
run: |
VERSION="${GITHUB_REF#refs/tags/v}"; VERSION="${VERSION%%-*}"
cd go
wails build -platform linux/amd64 -ldflags "-s -w" -tags webkit2_41
wails build -platform linux/amd64 -ldflags "-s -w -X main.currentVersion=${VERSION}" -tags webkit2_41
cp build/bin/TNT ../tnt-linux-amd64
chmod +x ../tnt-linux-amd64

Expand Down Expand Up @@ -572,8 +575,9 @@ jobs:

- name: Build Linux binary
run: |
VERSION="${GITHUB_REF#refs/tags/v}"; VERSION="${VERSION%%-*}"
cd go
wails build -platform linux/arm64 -ldflags "-s -w" -tags webkit2_41
wails build -platform linux/arm64 -ldflags "-s -w -X main.currentVersion=${VERSION}" -tags webkit2_41
cp build/bin/TNT ../tnt-linux-arm64
chmod +x ../tnt-linux-arm64

Expand Down Expand Up @@ -716,6 +720,71 @@ jobs:
${{ env.APPIMAGE_FILE }}
${{ env.TAR_FILE }}

update-manifest:
needs:
- build-linux
- build-windows
- build-mac-intel
- build-mac-arm64
if: always() && !cancelled()
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Update tnt-version.json
env:
AWS_ACCESS_KEY_ID: ${{ secrets.OVH_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.OVH_SECRET }}
OVH_BUCKET: ${{ secrets.OVH_BUCKET }}
OVH_ENDPOINT: ${{ secrets.OVH_ENDPOINT }}
MAC_ARM64_RESULT: ${{ needs.build-mac-arm64.result }}
MAC_INTEL_RESULT: ${{ needs.build-mac-intel.result }}
WINDOWS_RESULT: ${{ needs.build-windows.result }}
LINUX_RESULT: ${{ needs.build-linux.result }}
run: |
set -euo pipefail

# Version comes from the tag (v1.4.0-macm -> 1.4.0).
TAG="${GITHUB_REF#refs/tags/v}"
VERSION="${TAG%%-*}"
TODAY="$(date +'%-d %B, %Y')"

# Structure (download URLs, release notes, history) is taken from the
# repo template. Per-platform versions for platforms NOT built in this
# run are preserved from the live bucket manifest.
cp Distribution/tnt-version.json out.json
aws s3 cp "s3://${OVH_BUCKET}/tnt-version.json" live.json \
--endpoint-url "${OVH_ENDPOINT}" 2>/dev/null || echo '{}' > live.json

set_platform() {
key="$1"; result="$2"
if [ "$result" = "success" ]; then
ver="$VERSION"
date="$TODAY"
else
ver="$(jq -r --arg k "$key" '.platforms[$k].version // empty' live.json)"
date="$(jq -r --arg k "$key" '.platforms[$k].release_date // empty' live.json)"
[ -n "$ver" ] || ver="$(jq -r --arg k "$key" '.platforms[$k].version' out.json)"
[ -n "$date" ] || date="$(jq -r --arg k "$key" '.platforms[$k].release_date' out.json)"
fi
jq --arg k "$key" --arg v "$ver" --arg d "$date" \
'.platforms[$k].version = $v | .platforms[$k].release_date = $d' \
out.json > out.tmp && mv out.tmp out.json
}

set_platform darwin-arm64 "$MAC_ARM64_RESULT"
set_platform darwin-amd64 "$MAC_INTEL_RESULT"
set_platform windows "$WINDOWS_RESULT"
set_platform linux "$LINUX_RESULT"

cat out.json

aws s3 cp out.json "s3://${OVH_BUCKET}/tnt-version.json" \
--endpoint-url "${OVH_ENDPOINT}" \
--content-type "application/json" \
--acl public-read

release:
needs:
- build-linux
Expand Down
14 changes: 8 additions & 6 deletions .github/workflows/version-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Upload TNT JSON

on:
push:
branches: [ main ]
branches: ["*"]
paths:
- 'Distribution/tnt-version.json'
workflow_dispatch:
Expand All @@ -15,9 +15,11 @@ jobs:
- name: Checkout Code
uses: actions/checkout@v4

- name: Upload to BunnyCDN
- name: Upload to OVH
env:
AWS_ACCESS_KEY_ID: ${{ secrets.OVH_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.OVH_SECRET }}
run: |
curl -X PUT \
-H "AccessKey: ${{ secrets.BUNNY_ACCESS_KEY }}" \
--data-binary "@Distribution/tnt-version.json" \
"https://se.storage.bunnycdn.com/sw-stor/tnt-version.json"
aws s3 cp "Distribution/tnt-version.json" "s3://${{ secrets.OVH_BUCKET }}/" \
--endpoint-url "${{ secrets.OVH_ENDPOINT }}" \
--acl public-read
76 changes: 46 additions & 30 deletions Distribution/tnt-version.json
Original file line number Diff line number Diff line change
@@ -1,33 +1,50 @@
{
"version": "1.2.3",
"os": ["darwin", "darwin-senior", "penguin", "orangutan"],
"download_url": [{
"darwin": "https://software.collinsgroup.fi/TNT.dmg",
"darwin-senior": "https://software.collinsgroup.fi/TNT-Intel.dmg",
"orangutan": "https://software.collinsgroup.fi/TNT.exe",
"penguin": "https://software.collinsgroup.fi/tnt-amd64.deb"
}],
"release_notes": "Automatically check mono compatibility before processing.",
"release_date": "2 February, 2026",
"supported_platforms": "macOS (M-series), macOS 15- (Intel), Debian/Ubuntu (amd64)",
"history": [
{
"version": "1.2.2",
"os": ["darwin", "orangutan", "penguin"],
"release_notes": "Library linking fixes affecting all Debian users.",
"release_date": "19 January, 2026",
"supported_platforms": "macOS (M-series), macOS 15- (Intel), Windows (Intel), Ubuntu/Debian (Intel)"
},
{
"version": "1.2.1",
"release_notes": "Lets you update the version in the app.",
"release_date": "31 December, 2025"
},
{
"version": "1.2.0",
"release_notes": "Adds powerful processing features.",
"release_date": "5 December, 2025"
"platforms": {
"darwin-arm64": {
"version": "1.2.3",
"download_url": "https://frm-sw-storage.s3.rbx.io.cloud.ovh.net/mac/m/tnt.dmg",
"supported_platforms": "macOS (M-series)",
"release_notes": "Automatically check mono compatibility before processing.",
"release_date": "2 February, 2026"
},
"darwin-amd64": {
"version": "1.2.3",
"download_url": "https://frm-sw-storage.s3.rbx.io.cloud.ovh.net/mac/intel/tnt.dmg",
"supported_platforms": "macOS 15- (Intel)",
"release_notes": "Automatically check mono compatibility before processing.",
"release_date": "2 February, 2026"
},
"windows": {
"version": "1.2.3",
"download_url": "https://frm-sw-storage.s3.rbx.io.cloud.ovh.net/win/tnt.exe",
"supported_platforms": "Windows (Intel)",
"release_notes": "Automatically check mono compatibility before processing.",
"release_date": "2 February, 2026"
},
"linux": {
"version": "1.2.3",
"download_url": "https://frm-sw-storage.s3.rbx.io.cloud.ovh.net/linux/amd/tnt.deb",
"supported_platforms": "Debian/Ubuntu (amd64)",
"release_notes": "Automatically check mono compatibility before processing.",
"release_date": "2 February, 2026"
}
},
"history": [
{
"version": "1.2.2",
"release_notes": "Library linking fixes affecting all Debian users.",
"release_date": "19 January, 2026"
},
{
"version": "1.2.1",
"release_notes": "Lets you update the version in the app.",
"release_date": "31 December, 2025"
},
{
"version": "1.2.0",
"release_notes": "Adds powerful processing features.",
"release_date": "5 December, 2025"
},
{
"version": "1.1.0",
"release_notes": "Adds FLAC encoder and data compression methods for FLAC and Opus.\nHides disabled items from UI based on encoding format.\nRewritten help section.",
Expand All @@ -41,8 +58,7 @@
{
"version": "1.0.1",
"release_date": "31 October, 2025",
"release_notes": "macOS users get access to Apple AAC encoder.\nWindows users get access to Fraunhofer AAC encoder(deprecates native AAC).\nPreferences can now be saved.\nFixes library linking issues on macOS.\nReduces executable size on Windows.\nError reports can now be sent from the app.",
"easter-egg": "this field is an easter egg for developer purposes"
"release_notes": "macOS users get access to Apple AAC encoder.\nWindows users get access to Fraunhofer AAC encoder(deprecates native AAC).\nPreferences can now be saved.\nFixes library linking issues on macOS.\nReduces executable size on Windows.\nError reports can now be sent from the app..."
}
]
}
6 changes: 3 additions & 3 deletions go/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package main

import (
"context"
"os"
"runtime"
"sync"

Expand All @@ -19,7 +18,7 @@ type AudioNormalizer struct {
mutex sync.Mutex

advancedMode bool
normalizationStandard string
normalizationStandard Standard
format string
sampleRate string
bitDepth string
Expand All @@ -45,7 +44,8 @@ type AudioNormalizer struct {
jobQueue chan string
watcherMutex sync.Mutex

logFile *os.File
logFile *LogIntoFile
appLog *LogApp

telemetry *telemetry.Client
telemetryEnabled bool
Expand Down
Loading
Loading