diff --git a/CHANGELOG.md b/CHANGELOG.md index eb40169..9b37a27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,10 @@ All notable OpenBeat changes should be summarized here for users. GitHub Releases can still use generated notes, but this file should keep the plain-language history easy to scan. -## Unreleased +## 0.1.0 +- OpenBeat is now released under the MIT License. +- Audio OpenBeat can't read, such as `.m4a`, `.aac`, or `.mov` files, now gives a short message listing the supported formats (WAV, AIFF, FLAC, OGG Vorbis, MP3) instead of a Python error. - Installer updates now prepare and verify the new files before replacing the installed ones. If an update fails or is interrupted, the previous installation is kept or restored by running the installer again. - The macOS installer now works on Intel Macs as well as Apple silicon. One package contains a runtime for each and installs the right one. It requires macOS 14 Sonoma or later. - The macOS installer stages its files in a folder only root can change, instead of a shared temporary folder, and stops with a clear error if it cannot tell which user to install for. @@ -11,6 +13,12 @@ All notable OpenBeat changes should be summarized here for users. GitHub Release - When beat analysis or click-track rendering fails, OpenBeat now shows the helper's error instead of a missing-file error, and no longer imports an older click track as if it were new. - On Windows, OpenBeat should now work when the Windows user name or the media path contains non-English characters, such as `José` or `Música`. Subtitle export to such folders is not fixed yet. +Known limits: + +- The installers are not code-signed yet, so macOS and Windows show a warning the first time you run them. See the install guide for how to continue. +- Windows 11 Smart App Control may block the unsigned Windows installer, with no option to run it anyway. +- Automatic click-track and subtitle placement on the timeline remains best-effort. + ## 0.0.2 - 2026-04-19 - Bundled the OpenBeat runtime into macOS and Windows installer packages. diff --git a/docs/install.md b/docs/install.md index 6cd35df..f1a973f 100644 --- a/docs/install.md +++ b/docs/install.md @@ -20,10 +20,9 @@ If you prefer source builds, the public repository includes development setup an OpenBeat needs macOS 14 Sonoma or later. The same package works on Apple silicon and Intel Macs: it contains a runtime for each and installs the one that matches your Mac, without needing Rosetta. -1. Run the `.pkg` installer. -2. If macOS Gatekeeper blocks the package, open System Settings > Privacy & Security and allow the package, then run it again. -3. Restart DaVinci Resolve. -4. Confirm the scripts appear under `Workspace > Scripts > OpenBeat`. +1. Run the `.pkg` installer. The first time, macOS blocks it; see [First Install Warnings](#first-install-warnings). +2. Restart DaVinci Resolve. +3. Confirm the scripts appear under `Workspace > Scripts > OpenBeat`. The installer copies OpenBeat into: @@ -32,7 +31,7 @@ The installer copies OpenBeat into: ## Windows -1. Run `OpenBeat-windows--installer.exe`. +1. Run `OpenBeat-windows--installer.exe`. The first time, Windows warns about it; see [First Install Warnings](#first-install-warnings). 2. Accept the default Resolve Fusion support folder unless you have moved Resolve's scripting support files. 3. Restart DaVinci Resolve. 4. Confirm the scripts appear under `Workspace > Scripts > OpenBeat`. @@ -42,6 +41,31 @@ The installer copies OpenBeat into: - Scripts: `%APPDATA%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Scripts\Utility\OpenBeat` - Modules: `%APPDATA%\Blackmagic Design\DaVinci Resolve\Support\Fusion\Modules\OpenBeat` +## First Install Warnings + +OpenBeat's installers are not code-signed yet, so macOS and Windows warn that they come from an unknown developer. This happens once per download. The installers are built in public by the repository's GitHub Actions workflows, and each release's notes name the commit it was built from. + +### macOS + +On macOS 15 Sequoia and later: + +1. Double-click the `.pkg`. macOS says it "Not Opened" because Apple could not verify it. Click **Done**. +2. Open **System Settings > Privacy & Security** and scroll to **Security**. Next to the message that the OpenBeat package was blocked, click **Open Anyway**. +3. If macOS asks, confirm with your password or Touch ID. When the warning appears again, click **Open** (some macOS versions label it **Open Anyway**). The installer starts. + +The **Open Anyway** button appears for about an hour after you try to open the package. If it is missing, double-click the package again first. + +On macOS 14 Sonoma, Control-click the `.pkg`, choose **Open**, then click **Open** in the dialog. + +You only need to do this for the installer. Once installed, Resolve runs OpenBeat without further prompts. + +### Windows + +1. Your browser may say the file isn't commonly downloaded. In Edge, open the download's **...** menu and choose **Keep**, then **Show more > Keep anyway**. In Chrome, choose **Keep**. +2. When you run the installer, Microsoft Defender SmartScreen shows "Windows protected your PC". Click **More info**, then **Run anyway**. + +If Windows 11 says **Smart App Control** blocked the installer, there is no "Run anyway" option. Smart App Control can block unsigned apps that Microsoft's reputation service doesn't know yet, which may include a new OpenBeat release, and it has no per-app exception. You can turn it off in **Windows Security > App & browser control > Smart App Control settings**. On an up-to-date Windows 11 you can turn it back on there later; older versions only let you turn it back on by resetting Windows. Signed Windows installers are planned. + ## Update Install the newer package over the old one, then restart Resolve. The installer replaces the OpenBeat script and module folders, but it does not remove your project markers, generated click tracks, generated subtitle files, or analysis cache. diff --git a/docs/release-checklist.md b/docs/release-checklist.md index 1ce7ec2..4ef5eae 100644 --- a/docs/release-checklist.md +++ b/docs/release-checklist.md @@ -8,6 +8,7 @@ Use this checklist before publishing an OpenBeat release. - Update `version` in `pyproject.toml`. - Update `__version__` in `openbeat/__init__.py`. - Confirm the release tag will be `v`. +- Add the release date to the version's heading in `CHANGELOG.md`. ## Local Checks @@ -38,6 +39,7 @@ lua -e 'assert(loadfile("resolve/Fusion/Modules/OpenBeat/OpenBeatCommon.lua"))' On macOS, on an Apple silicon Mac and, when one is available, an Intel Mac: +- Download the `.pkg` with a browser, so it is quarantined like a user's download, and confirm the Gatekeeper steps in [install.md](install.md#first-install-warnings) still match what macOS shows. - Run the `.pkg` installer. On Apple silicon it should not ask to install Rosetta. - In Installer's log (**Window > Installer Log**), confirm the postinstall reports installing the `arm64` runtime on Apple silicon and the `x86_64` runtime on Intel. - Restart Resolve. @@ -46,6 +48,7 @@ On macOS, on an Apple silicon Mac and, when one is available, an Intel Mac: On Windows: +- Download the installer with Edge and confirm the download and SmartScreen steps in [install.md](install.md#first-install-warnings) still match what Windows shows. - Run the installer executable. - Restart Resolve. - Confirm `Workspace > Scripts > OpenBeat` appears. @@ -58,6 +61,7 @@ For both platforms: - Verify clip marker creation. - Verify click-track WAV generation. - Verify subtitle SRT generation. +- Run an action on an `.m4a` or `.mov` clip and confirm Resolve shows the unsupported-format message. - Treat automatic click-track and subtitle timeline placement as best-effort only. ## Publish GitHub Release diff --git a/openbeat/__init__.py b/openbeat/__init__.py index 9e9975d..a05eb9a 100644 --- a/openbeat/__init__.py +++ b/openbeat/__init__.py @@ -1,3 +1,3 @@ __all__ = ["__version__"] -__version__ = "0.0.2" +__version__ = "0.1.0" diff --git a/pyproject.toml b/pyproject.toml index aea9144..b9aabe0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openbeat" -version = "0.0.2" +version = "0.1.0" description = "Free and open-source beat editing helpers for DaVinci Resolve Free." readme = "README.md" license = "MIT"