Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Xcode
#
# gitignore contributors: add more if needed

CLAUDE.md

## User settings
xcuserdata/
Expand Down
12 changes: 8 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
# AGENT.md

Behavioral guidelines to reduce common LLM coding mistakes. Merge with project-specific instructions as needed.
## 0. Be brief

**Tradeoff:** These guidelines bias toward caution over speed. For trivial tasks, use judgment.
**Short answers. No filler.**

- Default to the shortest response that fully answers the question.
- No preambles, summaries or sign-offs
- No restating what the user just said
- Code speaks for itself - don't explain what's obvious
- If the answer is one line - give one line

## 1. Think Before Coding

Expand Down Expand Up @@ -67,8 +73,6 @@ Strong success criteria let you loop independently. Weak criteria ("make it work

---

**These guidelines are working if:** fewer unnecessary changes in diffs, fewer rewrites due to overcomplication, and clarifying questions come before implementation rather than after mistakes.

## Core instructions

- Target macOS 15.2 or later.
Expand Down
2 changes: 1 addition & 1 deletion BetterCapture.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

/* Begin PBXBuildFile section */
6C5C123D2F3893FE0082CE23 /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = 6C0990E12F2BE0C200D48100 /* Sparkle */; };
6CA1B0012F8700000082CE23 /* KeyboardShortcuts in Frameworks */ = {isa = PBXBuildFile; productRef = 6CA1B0002F8700000082CE23 /* KeyboardShortcuts */; };
6C7AABCC2F783CC3006496CE /* BetterCapture.xctestplan in Resources */ = {isa = PBXBuildFile; fileRef = 6C7AABCB2F783CC3006496CE /* BetterCapture.xctestplan */; };
6CA1B0012F8700000082CE23 /* KeyboardShortcuts in Frameworks */ = {isa = PBXBuildFile; productRef = 6CA1B0002F8700000082CE23 /* KeyboardShortcuts */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand Down
14 changes: 8 additions & 6 deletions BetterCapture/Model/SettingsStore.swift
Original file line number Diff line number Diff line change
Expand Up @@ -160,13 +160,15 @@
}
}

/// The effective frame rate in Hz for encoding calculations (e.g. bitrate).
/// The frame rate in Hz the recording is captured and written at.
///
/// For explicit rates this returns the selected value. For `.native` it
/// returns 60 as a practical upper bound. Although `CaptureEngine` sets a
/// minimum interval of 1/120s, ScreenCaptureKit only delivers frames when
/// content changes, so actual rates are typically well below 120. Using 60
/// avoids inflating the bitrate budget beyond what the encoder will use.
/// For explicit rates this returns the selected value. `.native` resolves to
/// 60: ScreenCaptureKit only delivers frames when content changes, so a
/// higher ceiling produced a heavily variable frame rate that broke
/// concatenation and upload tools without adding useful frames.
///
/// `CaptureEngine` uses this for `minimumFrameInterval`, `AssetWriter` uses it
/// as the constant frame rate grid, and both use it for the bitrate budget.
var effectiveFrameRate: Double {
switch self {
case .native: 60.0
Expand Down Expand Up @@ -237,7 +239,7 @@
/// Persists user preferences using UserDefaults
@MainActor
@Observable
final class SettingsStore {

Check warning on line 242 in BetterCapture/Model/SettingsStore.swift

View workflow job for this annotation

GitHub Actions / Lint

Class body should span 300 lines or less excluding comments and whitespace: currently spans 395 lines (type_body_length)

// MARK: - Dependencies

Expand Down Expand Up @@ -745,4 +747,4 @@
func generateOutputURL() -> URL {
outputDirectory.appending(path: generateFilename())
}
}

Check warning on line 750 in BetterCapture/Model/SettingsStore.swift

View workflow job for this annotation

GitHub Actions / Lint

File should contain 500 lines or less: currently contains 750 (file_length)
Loading
Loading