mipops / dvrescue

Archivist-made software that supports data migration from DV tapes into digital files suitable for long-term preservation. Snapshot daily builds are at https://mediaarea.net/download/snapshots/binary/dvrescue/.
BSD 3-Clause "New" or "Revised" License
82 stars 19 forks source link

Add macOS permissions for USB-Serial and DeckLink devices #865

Open g-maxime opened 3 weeks ago

g-maxime commented 3 weeks ago

Fixes #841

Untested, please test from GUI

Snapshot

dericed commented 2 weeks ago

hmm, not working for me.

I installed the gui and cli from that date:

$ dvrescue --list_devices
84:160a010c:00000000: UltraStudio HD Mini [DeckLink]

$ /Applications/dvrescue.app/Contents/MacOS/dvrescue --log
appDirPath:  "/Applications/dvrescue.app/Contents/MacOS"
enable file logging...
Checking for log folder existence: /Users/drice/Library/Containers/net.MediaArea.dvrescue.mac-gui/Data/dvrescue-gui_logs
existing log QFileInfo(/Users/drice/Library/Containers/net.MediaArea.dvrescue.mac-gui/Data/dvrescue-gui_logs/dvrescue-gui.log) has been removed
[2024:06:10 15:40:40 -04:00] [warning] [thread 25865462] [qt.qpa.fonts] Populating font family aliases took 147 ms. Replace uses of missing font family "Roboto" with one that exists to avoid this cost. 
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/PackagePage.qml:338:25: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/PackageFileView.qml:85:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/PackageFileView.qml:59:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/MergeFileView.qml:87:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/MergeFileView.qml:61:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/AnalysePage.qml:622:17: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/AnalyseFileView.qml:84:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/AnalyseFileView.qml:58:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/AnalysePage.qml:263:17: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/AnalysePage.qml:256:17: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/PlotsView.qml:389:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/PlotsView.qml:80:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/AnalysePage.qml:242:17: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] qrc:/PlayerView.qml:184:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] Both point size and pixel size set. Using pixel size.
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] Both point size and pixel size set. Using pixel size.
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] Both point size and pixel size set. Using pixel size.
[2024:06:10 15:40:43 -04:00] [warning] [thread 25865053] Both point size and pixel size set. Using pixel size.
2024-06-10 15:40:43.860 dvrescue[65645:25865053] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.

log from gui https://gist.github.com/dericed/cc523714f052ac8a5a9c80efa638bf94

dericed commented 2 weeks ago

btw here is the same log when I build off main. It opens and shows the decklink input. https://gist.github.com/dericed/e4b579c1b9577c6fbf5f8c71091ec2b4

dericed commented 2 weeks ago

Snapshot after latest commit?

g-maxime commented 2 weeks ago

Snapshot after latest commit?

https://mediaarea.net/download/snapshots/binary/dvrescue-gui/20240611-2/

dericed commented 2 weeks ago

@g-maxime unfortunately still not there, https://gist.github.com/dericed/d330257c357293d62e8f946540ff33cb.

$ dvrescue --version
DVRescue v.22.12.20240611 (MediaInfoLib v.24.05) by MIPoPS.
drice:BlueSCSI-v2 drice$ dvrescue --list_devices
84:160a010c:00000000: UltraStudio HD Mini [DeckLink]
drice:BlueSCSI-v2 drice$ /Applications/dvrescue.app/Contents/MacOS/dvrescue --log
appDirPath:  "/Applications/dvrescue.app/Contents/MacOS"
enable file logging...
Checking for log folder existence: /Users/drice/Library/Containers/net.MediaArea.dvrescue.mac-gui/Data/dvrescue-gui_logs
existing log QFileInfo(/Users/drice/Library/Containers/net.MediaArea.dvrescue.mac-gui/Data/dvrescue-gui_logs/dvrescue-gui.log) has been removed
[2024:06:13 21:59:21 -04:00] [warning] [thread 14364] [qt.qpa.fonts] Populating font family aliases took 206 ms. Replace uses of missing font family "Roboto" with one that exists to avoid this cost. 
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/PackagePage.qml:338:25: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/PackageFileView.qml:85:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/PackageFileView.qml:59:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/MergeFileView.qml:87:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/MergeFileView.qml:61:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/AnalysePage.qml:622:17: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/AnalyseFileView.qml:84:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/AnalyseFileView.qml:58:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/AnalysePage.qml:263:17: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/AnalysePage.qml:256:17: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/PlotsView.qml:389:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/PlotsView.qml:80:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/AnalysePage.qml:242:17: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] qrc:/PlayerView.qml:184:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] Both point size and pixel size set. Using pixel size.
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] Both point size and pixel size set. Using pixel size.
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] Both point size and pixel size set. Using pixel size.
[2024:06:13 21:59:24 -04:00] [warning] [thread 12404] Both point size and pixel size set. Using pixel size.
2024-06-13 21:59:25.333 dvrescue[1393:12404] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.

Shall I set up remote access to a test station?

g-maxime commented 1 week ago

With latest version DeckLink detection and playing works.

Serial control is still not working.

JeromeMartinez commented 1 week ago

Warning, doc says "Because library validation is such an important security-hardening feature, Gatekeeper runs extra security checks on programs that have it disabled." so I guess that this is a good "hotfix" but I bet that at some point Apple will forbid that.

dericed commented 1 week ago

@JeromeMartinez see page 12 on https://documents.blackmagicdesign.com/UserManuals/DesktopVideoManual.pdf. Blackmagic already requires reduced security policy with their hardware. Related?

JeromeMartinez commented 1 week ago

Related?

I guess so.

JeromeMartinez commented 1 week ago

Blackmagic already requires reduced security policy with their hardware.

But "From Desktop Video 12.2 or later, it is no longer necessary to have ‘reduced security’ enabled", so maybe we'll be able to configure it without that, but @g-maxime succeeds to have the GUI working with ‘reduced security’ enabled is already a good first step and we see later for a better solution.