elliotttate / elliotttate/SpliceKit
Bug: timeline.directAction("newProject") uses a non-existent selector
- Dominant language
- Objective-C
- Stars
- 144
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
Hi SpliceKit team,
I noticed that the built-in RPC `timeline.directAction` fails when called with action `newProject`.
### Steps to reproduce
```json
{
"method": "timeline.directAction",
"params": {
"action": "newProject",
"name": "TestProject"
}
}
```
### Expected behavior
Create a new empty project named `TestProject` without opening the New Project dialog.
### Actual behavior
It throws an Objective-C runtime error:
```text
-[FFAnchoredTimelineModule actionNewProject:name:sequence:actionName:error:]:
unrecognized selector sent to instance 0x...
```
### Analysis
The selector `actionNewProject:name:sequence:actionName:error:` does not exist on `FFAnchoredTimelineModule`. However, the menu command **File → New → Project** resolves to the correct selector `newProject:` (confirmed via `menu.execute`).
So it appears that `timeline.directAction` is mapping the `newProject` action name to the wrong selector.
### Workaround
I implemented a workaround in my plugin by generating an empty FCPXML and importing it via `fcpxml.import` with `internal=true`, then opening the project via `project.open`. But it would be much cleaner if the built-in `directAction` API worked correctly.
### Request
Please fix the selector mapping for `newProject` so that `timeline.directAction("newProject", { name: "..." })` creates a project silently.
Thanks!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the timeline.directAction entry point and trace how the newProject action is mapped to an Objective-C selector. Compare that resolution with menu.execute for File → New → Project, then verify that the RPC creates the named empty project without opening the dialog.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- objective-c
- Domain
- api
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100