Skip to content

Commit 5b72b32

Browse files
authored
Merge pull request #122 from mahdyarief/main
feat: Advanced Video Editor Implementation, Native WGC Integration, and AI Auto-Captions
2 parents e87d275 + f9364eb commit 5b72b32

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+3271
-918
lines changed

.gitignore

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,45 @@ logs
33
*.log
44
npm-debug.log*
55
yarn-debug.log*
6-
yarn-error.log*
7-
pnpm-debug.log*
8-
lerna-debug.log*
9-
10-
node_modules
11-
dist
12-
dist-electron
13-
dist-ssr
14-
*.local
15-
16-
# Editor directories and files
17-
.vscode/*
18-
!.vscode/extensions.json
19-
.idea
20-
.DS_Store
21-
*.suo
22-
*.ntvs*
23-
*.njsproj
24-
*.sln
25-
*.sw?
26-
release/**
27-
*.kiro/
28-
# npx electron-builder --mac --win
29-
.tmp/
30-
.history/
31-
*.tsbuildinfo
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-electron
13+
dist-ssr
14+
*.local
15+
16+
# Editor directories and files
17+
.vscode/*
18+
!.vscode/extensions.json
19+
.idea
20+
.DS_Store
21+
*.suo
22+
*.ntvs*
23+
*.njsproj
24+
*.sln
25+
*.sw?
26+
release/**
27+
*.kiro/
28+
# npx electron-builder --mac --win
29+
.tmp/
30+
.history/
31+
*.tsbuildinfo
3232
vite.config.js
3333
vite.config.d.ts
3434

3535
# Native capture build artifacts
3636
electron/native/wgc-capture/build/
3737
electron/native/cursor-monitor/build/
3838

39+
# Local build tools and caches
40+
.cache/
41+
.cmake_ext/
42+
ebcache/
43+
docs/
44+
3945
# Local debug helpers
4046
tmp-*.ps1
4147
.tmp-*.ps1

electron-builder.json5

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"electron/native/**"
1010
],
1111
"productName": "Recordly",
12+
"copyright": "Copyright (c) 2026 webadderall",
1213
"npmRebuild": true,
1314
"buildDependenciesFromSource": true,
1415
"compression": "normal",
@@ -62,9 +63,8 @@
6263
"target": [
6364
"nsis"
6465
],
65-
"icon": "icons/icons/win/icon.ico"
66-
,
67-
"artifactName": "Recordly.exe"
66+
"icon": "icons/icons/win/icon.ico",
67+
"executableName": "Recordly",
68+
"artifactName": "Recordly.${ext}"
6869
}
69-
}
70-
70+
}

electron/electron-env.d.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,23 +147,28 @@ interface Window {
147147
canceled?: boolean;
148148
error?: string;
149149
}>;
150-
getWhisperSmallModelStatus: () => Promise<{
150+
getWhisperModelStatus: (
151+
modelName: string,
152+
) => Promise<{
151153
success: boolean;
152154
exists: boolean;
153155
path?: string | null;
154156
error?: string;
155157
}>;
156-
downloadWhisperSmallModel: () => Promise<{
158+
downloadWhisperModel: (
159+
modelName: string,
160+
) => Promise<{
157161
success: boolean;
158162
path?: string;
159163
alreadyDownloaded?: boolean;
160164
error?: string;
161165
}>;
162-
deleteWhisperSmallModel: () => Promise<{ success: boolean; error?: string }>;
163-
onWhisperSmallModelDownloadProgress: (
166+
deleteWhisperModel: (modelName: string) => Promise<{ success: boolean; error?: string }>;
167+
onWhisperModelDownloadProgress: (
164168
callback: (state: {
165169
status: "idle" | "downloading" | "downloaded" | "error";
166170
progress: number;
171+
model: string;
167172
path?: string | null;
168173
error?: string;
169174
}) => void,
@@ -173,9 +178,11 @@ interface Window {
173178
whisperExecutablePath?: string;
174179
whisperModelPath: string;
175180
language?: string;
181+
durationMs?: number;
182+
startTimeMs?: number;
176183
}) => Promise<{
177184
success: boolean;
178-
cues?: AutoCaptionCue[];
185+
cues?: CaptionCue[];
179186
message?: string;
180187
error?: string;
181188
}>;
@@ -297,6 +304,8 @@ interface Window {
297304
startCountdown: (seconds: number) => Promise<{ success: boolean; cancelled?: boolean }>;
298305
cancelCountdown: () => Promise<{ success: boolean }>;
299306
getActiveCountdown: () => Promise<{ success: boolean; seconds: number | null }>;
307+
onAutoCaptionProgress: (callback: (payload: { progress: number }) => void) => () => void;
308+
onAutoCaptionChunk: (callback: (payload: { cues: CaptionCue[] }) => void) => () => void;
300309
onCountdownTick: (callback: (seconds: number) => void) => () => void;
301310
};
302311
}
@@ -338,7 +347,7 @@ interface SystemCursorAsset {
338347
height: number;
339348
}
340349

341-
interface AutoCaptionCue {
350+
interface CaptionCue {
342351
id: string;
343352
startMs: number;
344353
endMs: number;

0 commit comments

Comments
 (0)