elliotttate / elliotttate/SpliceKit

Bug: timeline.directAction("newProject") uses a non-existent selector

Open Beginner friendly
#81 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.