SUMMARY OpenTimelineIO adapters are listed only if they have the read and write feature enabled. We should have a separate list for import and export, as read is only required for import, and write for export. Or maybe just allow any file extensions there, and let OTIO decide if it can import them? STEPS TO REPRODUCE 1. Set-up a read-only adapter in OTIO, such as https://github.com/gilou/otio-drp-adapter 2. Run KDEnlive, and select import OBSERVED RESULT drp adapter and its suffixes are not considered as candidates. EXPECTED RESULT Allow importing if only read feature is exposed (and exporting if only write is exposed) SOFTWARE/OS VERSIONS Linux/KDE Plasma: Ubuntu 20.04 KDE Frameworks Version: KDE Frameworks 5.68.0 Qt Version: 5.12.8 ADDITIONAL INFORMATION This will require to separate m_adapters either in two lists, or to make the read/write feature available there to filter import/export suffixes in kdenlive/src/utils/otioconvertions.cpp I'm not familiar with KDEnlive code and my C++ is a bit rusty, but I guess one could use the python condition in getOtioConverters() to create something like m_import_adapters and m_export_adapters strings maybe?
Git commit 06c14aee3191536c866040f614e7df25fc229ac3 by Julius Künzel. Committed on 16/01/2022 at 20:14. Pushed by jlskuz into branch 'master'. [OTIO] Differentiate between read and write adapters M +4 -3 data/scripts/checkpackages.py M +36 -4 data/scripts/otiointerface.py M +10 -6 src/pythoninterfaces/otioconvertions.cpp M +2 -1 src/pythoninterfaces/otioconvertions.h https://invent.kde.org/multimedia/kdenlive/commit/06c14aee3191536c866040f614e7df25fc229ac3
(In reply to Julius Künzel from comment #1) > Git commit 06c14aee3191536c866040f614e7df25fc229ac3 by Julius Künzel. > Committed on 16/01/2022 at 20:14. > Pushed by jlskuz into branch 'master'. > > [OTIO] Differentiate between read and write adapters > > M +4 -3 data/scripts/checkpackages.py > M +36 -4 data/scripts/otiointerface.py > M +10 -6 src/pythoninterfaces/otioconvertions.cpp > M +2 -1 src/pythoninterfaces/otioconvertions.h > > https://invent.kde.org/multimedia/kdenlive/commit/ > 06c14aee3191536c866040f614e7df25fc229ac3 That is... impressive. And it seems, an elegant way to solve the issue. I tried it, and it works, so… well done!