| 236 | }, [showSpeedPopup, showSubtitlePopup, showAudioPopup, showChapterPopup]) |
| 237 | |
| 238 | const initState = async () => { |
| 239 | const saved = await window.ipcRenderer.invoke("get-state") |
| 240 | if (saved.speed !== undefined) { |
| 241 | setSpeed(Number(saved.speed)) |
| 242 | if (videoRef.current) videoRef.current.playbackRate = Number(saved.speed) |
| 243 | } |
| 244 | if (saved.preservesPitch !== undefined) { |
| 245 | setPreservesPitch(Boolean(saved.preservesPitch)) |
| 246 | if (videoRef.current) videoRef.current.preservesPitch = Boolean(saved.preservesPitch) |
| 247 | } |
| 248 | if (saved.volume !== undefined) { |
| 249 | setVolume(Number(saved.volume)) |
| 250 | if (videoRef.current) videoRef.current.volume = Number(saved.volume) |
| 251 | } |
| 252 | if (saved.loop !== undefined) { |
| 253 | setLoop(Boolean(saved.loop)) |
| 254 | if (videoRef.current) videoRef.current.loop = Boolean(saved.loop) |
| 255 | } |
| 256 | if (saved.subtitleColor !== undefined) { |
| 257 | setSubtitleColor(saved.subtitleColor) |
| 258 | } |
| 259 | if (saved.subtitleSize !== undefined) { |
| 260 | setSubtitleSize(Number(saved.subtitleSize)) |
| 261 | } |
| 262 | if (saved.outlineColor !== undefined) { |
| 263 | setOutlineColor(saved.outlineColor) |
| 264 | } |
| 265 | if (saved.outlineThickness !== undefined) { |
| 266 | setOutlineThickness(Number(saved.outlineThickness)) |
| 267 | } |
| 268 | if (saved.originalStyle !== undefined) { |
| 269 | setOriginalStyle(Boolean(saved.originalStyle)) |
| 270 | } |
| 271 | } |
| 272 | |
| 273 | useEffect(() => { |
| 274 | if (!videoRef.current) return |