SourceCodeSyntaxHighlight icon indicating copy to clipboard operation
SourceCodeSyntaxHighlight copied to clipboard

Conflicting file associations

Open Nbelles opened this issue 3 years ago • 5 comments

Hello,

I've been using Syntax Highlight for a couple months now and have been loving the integrations for some of the coding file types it supports. I promise this is related but, each year I help run an event that uses a presentation software called ProPresenter and as the event was coming up soon I started trying to use the program again. I've used ProPresenter for years and never had any issues with it but recently started having issues with the software being unable to open files that it created. After many hours of back and forth with their support team we figured out that it was because I had Syntax Highlight installed on my computer. ProPresenter stores its presentation files with the .pro file extension (which is not the same as the IDL format that Syntax Highlight uses and is also not a text-based file) and because Syntax Highlight associates files with the .pro file extension as being an IDL test file it interferes with ProPresenter being able to open the files. It can see that the files are there and can list the files in a folder but opening their contents isn't possible. I'm just a user of Syntax Highlight and a user of ProPresenter so I'm not particularly knowledgable about how these file associations work and how they impact programs that have their own suggested file associations but I would like to be able to continue using both of these programs. To me, it doesn't make sense that a quicklook generator like Syntax Highlight would create any conflicts with any another program being able to just open a file but I'm not the ones working on these programs.

I'm posting here because I'm curious what happens in macOS when there are two file types that have different uses for different programs and how that could be handled in my case. I'm also curious if someone specifically had requested that the .pro file extension be associated with IDL test file or if it was something that was just added because it was in a generic set of text-based file types that could be displayed by Syntax Highlight. I'm also curious if there is any information that you might be able to provide regarding what I could potentially pass along to their support team so that they could better handle these scenarios (although I doubt they will do anything about it because they will just blame it on Syntax Highlight and not change anything). If I can provide them an intelligent enough answer as to what they could change, maybe they would listen to what I have to say and attempt to make that change.

I have attached the Info.plist for ProPresenter below so you can see what the file associations for this program are if you are curious. I also have shown a screenshot of the Inquire file option of Syntax Highlight and a screenshot of the Get Info window of macOS for one of the files when Syntax Highlight is installed and one when it is not installed. Let me know if I can give you anything that might be useful, happy to help!

Thanks!

Inquire file: image

With syntax highlight: image

Without syntax highlight: image

ProPresenter Info.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>BuildMachineOSBuild</key>
        <string>21F79</string>
        <key>CFBundleDevelopmentRegion</key>
        <string>en</string>
        <key>CFBundleDisplayName</key>
        <string>ProPresenter</string>
        <key>CFBundleDocumentTypes</key>
        <array>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>presentationIcon</string>
                <key>CFBundleTypeIconSystemGenerated</key>
                <integer>1</integer>
                <key>CFBundleTypeName</key>
                <string>ProPresenter Presentation</string>
                <key>CFBundleTypeRole</key>
                <string>Editor</string>
                <key>LSHandlerRank</key>
                <string>Default</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.pro.presentation</string>
                </array>
                <key>LSTypeIsPackage</key>
                <false />
                <key>NSDocumentClass</key>
                <string>ProPresenter.ProPresentationDocument</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>proBundle</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>bundleIcon</string>
                <key>CFBundleTypeIconSystemGenerated</key>
                <integer>1</integer>
                <key>CFBundleTypeMIMETypes</key>
                <array />
                <key>CFBundleTypeName</key>
                <string>ProPresenter Presentation Bundle</string>
                <key>CFBundleTypeRole</key>
                <string>Editor</string>
                <key>LSHandlerRank</key>
                <string>Default</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.pro.presentation.bundle</string>
                </array>
                <key>LSTypeIsPackage</key>
                <false />
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>proTheme</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>themeIcon</string>
                <key>CFBundleTypeIconSystemGenerated</key>
                <integer>1</integer>
                <key>CFBundleTypeName</key>
                <string>ProPresenter Theme Bundle</string>
                <key>CFBundleTypeRole</key>
                <string>Editor</string>
                <key>LSHandlerRank</key>
                <string>Default</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.pro.theme.bundle</string>
                </array>
                <key>LSTypeIsPackage</key>
                <false />
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>proPlaylist</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>playlistIcon</string>
                <key>CFBundleTypeIconSystemGenerated</key>
                <integer>1</integer>
                <key>CFBundleTypeName</key>
                <string>ProPresenter Playlist Bundle</string>
                <key>CFBundleTypeRole</key>
                <string>Editor</string>
                <key>LSHandlerRank</key>
                <string>Default</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.pro.playlist.bundle</string>
                </array>
                <key>LSTypeIsPackage</key>
                <false />
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro6</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro6File</string>
                <key>CFBundleTypeMIMETypes</key>
                <array>
                    <string>text/xml</string>
                </array>
                <key>CFBundleTypeName</key>
                <string>ProPresenter6 Document</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter6.document</string>
                </array>
                <key>LSTypeIsPackage</key>
                <false />
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro6pl</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro6Playlist</string>
                <key>CFBundleTypeMIMETypes</key>
                <array>
                    <string>text/xml</string>
                </array>
                <key>CFBundleTypeName</key>
                <string>ProPresenter6 Playlist Document</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter6.playlist.presentation</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro6Template</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro6Template</string>
                <key>CFBundleTypeMIMETypes</key>
                <array>
                    <string>text/xml</string>
                </array>
                <key>CFBundleTypeName</key>
                <string>ProPresenter6 Template Document</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter6.template</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro6x</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro6File</string>
                <key>CFBundleTypeName</key>
                <string>ProPresenter6 Bundle</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter6.document.bundle</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro6TemplateBundle</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro6Template</string>
                <key>CFBundleTypeMIMETypes</key>
                <array />
                <key>CFBundleTypeName</key>
                <string>ProPresenter6 Template Bundle</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter6.template.bundle</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro6plx</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro6Playlist</string>
                <key>CFBundleTypeName</key>
                <string>ProPresenter6 Playlist Bundle</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter6.playlist.bundle</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro5</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro5File</string>
                <key>CFBundleTypeMIMETypes</key>
                <array>
                    <string>text/xml</string>
                </array>
                <key>CFBundleTypeName</key>
                <string>ProPresenter5 Document</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter5.document</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro5x</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro5File</string>
                <key>CFBundleTypeName</key>
                <string>ProPresenter5 Bundle</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter5.document.bundle</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro5plx</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro5Playlist</string>
                <key>CFBundleTypeName</key>
                <string>ProPresenter5 Playlist Bundle</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter5.playlist.bundle</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro5pl</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro5Playlist</string>
                <key>CFBundleTypeMIMETypes</key>
                <array>
                    <string>text/xml</string>
                </array>
                <key>CFBundleTypeName</key>
                <string>ProPresenter5 Playlist Document</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter5.playlist</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro5Template</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro5File</string>
                <key>CFBundleTypeMIMETypes</key>
                <array>
                    <string>text/xml</string>
                </array>
                <key>CFBundleTypeName</key>
                <string>ProPresenter5 Template Document</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter5.template</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro4</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro4File</string>
                <key>CFBundleTypeMIMETypes</key>
                <array>
                    <string>text/xml</string>
                </array>
                <key>CFBundleTypeName</key>
                <string>ProPresenter4 Document</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter4.document</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro4x</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro4File</string>
                <key>CFBundleTypeName</key>
                <string>ProPresenter4 Bundle</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter4.document.bundle</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>1</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro4plx</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro4Playlist</string>
                <key>CFBundleTypeName</key>
                <string>ProPresenter4 Playlist Bundle</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter4.playlist.bundle</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>1</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>pro4pl</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>pro4Playlist</string>
                <key>CFBundleTypeName</key>
                <string>ProPresenter4 Playlist Document</string>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.propresenter4.playlist.presentation</string>
                </array>
                <key>LSTypeIsPackage</key>
                <integer>0</integer>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ImportingFileHandler</string>
            </dict>
            <dict>
                <key>CFBundleTypeIconSystemGenerated</key>
                <integer>1</integer>
                <key>CFBundleTypeName</key>
                <string>ProPresenter Theme</string>
                <key>CFBundleTypeRole</key>
                <string>Editor</string>
                <key>LSHandlerRank</key>
                <string>Default</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.pro.theme</string>
                </array>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ProTemplateDocument</string>
            </dict>
            <dict>
                <key>CFBundleTypeIconSystemGenerated</key>
                <integer>1</integer>
                <key>CFBundleTypeName</key>
                <string>ProPresenter Playlist</string>
                <key>CFBundleTypeRole</key>
                <string>Editor</string>
                <key>LSHandlerRank</key>
                <string>Default</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>com.renewedvision.pro.playlist</string>
                </array>
                <key>NSDocumentClass</key>
                <string>ProPresenter.ProPlaylistDocument</string>
            </dict>
        </array>
        <key>CFBundleExecutable</key>
        <string>ProPresenter</string>
        <key>CFBundleIconFile</key>
        <string>AppIcon</string>
        <key>CFBundleIconName</key>
        <string>AppIcon</string>
        <key>CFBundleIdentifier</key>
        <string>com.renewedvision.propresenter</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>7.0</string>
        <key>CFBundleName</key>
        <string>ProPresenter</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <string>7.9.2</string>
        <key>CFBundleSignature</key>
        <string>Pr6P</string>
        <key>CFBundleSupportedPlatforms</key>
        <array>
            <string>MacOSX</string>
        </array>
        <key>CFBundleURLTypes</key>
        <array>
            <dict>
                <key>CFBundleTypeRole</key>
                <string>Editor</string>
                <key>CFBundleURLName</key>
                <string>ProPresenter URL</string>
                <key>CFBundleURLSchemes</key>
                <array>
                    <string>pro</string>
                </array>
            </dict>
        </array>
        <key>CFBundleVersion</key>
        <string>118030852</string>
        <key>DTCompiler</key>
        <string>com.apple.compilers.llvm.clang.1_0</string>
        <key>DTPlatformBuild</key>
        <string>13F17a</string>
        <key>DTPlatformName</key>
        <string>macosx</string>
        <key>DTPlatformVersion</key>
        <string>12.3</string>
        <key>DTSDKBuild</key>
        <string>21E226</string>
        <key>DTSDKName</key>
        <string>macosx12.3</string>
        <key>DTXcode</key>
        <string>1340</string>
        <key>DTXcodeBuild</key>
        <string>13F17a</string>
        <key>GitCommit</key>
        <string>0a90300dd2</string>
        <key>LSApplicationCategoryType</key>
        <string>public.app-category.video</string>
        <key>LSMinimumSystemVersion</key>
        <string>10.14</string>
        <key>LSMultipleInstancesProhibited</key>
        <true />
        <key>NSAppTransportSecurity</key>
        <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true />
        </dict>
        <key>NSAppleEventsUsageDescription</key>
        <string>"ProPresenter uses AppleEvents to import PowerPoint documents"</string>
        <key>NSCameraUsageDescription</key>
        <string>"ProPresenter uses the camera as a source for video input"</string>
        <key>NSHumanReadableCopyright</key>
        <string>Copyright © 2022 Renewed Vision LLC. All rights reserved.</string>
        <key>NSMainNibFile</key>
        <string>MainMenu</string>
        <key>NSMicrophoneUsageDescription</key>
        <string>"ProPresenter uses the microphone as a source for video input audio"</string>
        <key>NSPrincipalClass</key>
        <string>ProPresenter.ProApplication</string>
        <key>SMPrivilegedExecutables</key>
        <dict>
            <key>com.renewedvision.Helper</key>
            <string>identifier "com.renewedvision.Helper" and anchor apple generic and (certificate leaf[field.1.2.840.113635.100.6.1.9] or certificate 1[field.1.2.840.113635.100.6.2.6] and certificate leaf[field.1.2.840.113635.100.6.1.13] and certificate leaf[subject.OU] = "97GAAZ6CPX")</string>
        </dict>
        <key>SUAllowsAutomaticUpdates</key>
        <false />
        <key>SUEnableAutomaticChecks</key>
        <false />
        <key>SUFeedURL</key>
        <string>https://api.renewedvision.com/v1/pro/upgrade</string>
        <key>SUScheduledCheckInterval</key>
        <string>0</string>
        <key>UTExportedTypeDeclarations</key>
        <array>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.presentation</string>
                    <string>public.data</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter Presentation</string>
                <key>UTTypeIconFile</key>
                <string>presentationIcon</string>
                <key>UTTypeIcons</key>
                <dict>
                    <key>UTTypeIconBadgeName</key>
                    <string>PresentationIcon-Image</string>
                    <key>UTTypeIconText</key>
                    <string>Pro</string>
                </dict>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.pro.presentation</string>
                <key>UTTypeReferenceURL</key>
                <string>https://www.renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.data</string>
                    <string>public.audiovisual-content</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter Presentation Bundle</string>
                <key>UTTypeIconFile</key>
                <string>bundleIcon</string>
                <key>UTTypeIcons</key>
                <dict>
                    <key>UTTypeIconBackgroundName</key>
                    <string>PresentationBundleIcon-Fill</string>
                    <key>UTTypeIconBadgeName</key>
                    <string>PresentationBundleIcon-Image</string>
                    <key>UTTypeIconText</key>
                    <string>Bundle</string>
                </dict>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.pro.presentation.bundle</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>proBundle</string>
                    </array>
                    <key>public.mime-type</key>
                    <array />
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.data</string>
                    <string>public.audiovisual-content</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter Playlist Bundle</string>
                <key>UTTypeIconFile</key>
                <string>playlistIcon</string>
                <key>UTTypeIcons</key>
                <dict>
                    <key>UTTypeIconBadgeName</key>
                    <string>PlaylistIcon-Image</string>
                    <key>UTTypeIconText</key>
                    <string>Playlist</string>
                </dict>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.pro.playlist.bundle</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>proPlaylist</string>
                    </array>
                    <key>public.mime-type</key>
                    <array />
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.data</string>
                    <string>public.audiovisual-content</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter Theme Bundle</string>
                <key>UTTypeIconFile</key>
                <string>themeIcon</string>
                <key>UTTypeIcons</key>
                <dict>
                    <key>UTTypeIconBackgroundName</key>
                    <string>ThemeIcon-Background</string>
                    <key>UTTypeIconBadgeName</key>
                    <string>ThemeIcon-Image</string>
                    <key>UTTypeIconText</key>
                    <string>Theme</string>
                </dict>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.pro.theme.bundle</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>proTheme</string>
                    </array>
                    <key>public.mime-type</key>
                    <array />
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.data</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter Playlist</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.pro.playlist</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array />
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.data</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter Theme</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.pro.theme</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict />
            </dict>
        </array>
        <key>UTImportedTypeDeclarations</key>
        <array>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.xml</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter 6 Presentation</string>
                <key>UTTypeIconFile</key>
                <string>pro6File</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter6.document</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro6</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.xml</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter 6 Playlist</string>
                <key>UTTypeIconFile</key>
                <string>pro6Playlist</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter6.playlist.presentation</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro6pl</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.xml</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter 6 Template</string>
                <key>UTTypeIconFile</key>
                <string>pro6Template</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter6.template</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro6Template</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.audiovisual-content</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter 6 Playlist Bundle</string>
                <key>UTTypeIconFile</key>
                <string>pro6Playlist</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter6.playlist.bundle</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro6plx</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.audiovisual-content</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter 6 Template Bundle</string>
                <key>UTTypeIconFile</key>
                <string>pro6Template</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter6.template.bundle</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro6TemplateBundle</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>text/xml</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter 5 Document</string>
                <key>UTTypeIconFile</key>
                <string>pro5File</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter5.document</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro5</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeDescription</key>
                <string>ProPresenter 5 Bundle</string>
                <key>UTTypeIconFile</key>
                <string>pro5File</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter5.document.bundle</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro5x</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array />
                <key>UTTypeDescription</key>
                <string>ProPresenter 5 Playlist Bundle</string>
                <key>UTTypeIconFile</key>
                <string>pro5Playlist</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter5.playlist</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro5pl</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>text/xml</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter 5 Template Document</string>
                <key>UTTypeIconFile</key>
                <string>pro5File</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter5.template</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro5Template</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>text/xml</string>
                </array>
                <key>UTTypeDescription</key>
                <string>ProPresenter 4 Document</string>
                <key>UTTypeIconFile</key>
                <string>pro4File</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter4.document</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro4</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeDescription</key>
                <string>ProPresenter 4 Bundle</string>
                <key>UTTypeIconFile</key>
                <string>pro4File</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter4.document.bundle</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro4x</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeDescription</key>
                <string>ProPresenter 4 Playlist Bundle</string>
                <key>UTTypeIconFile</key>
                <string>pro4Playlist</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter4.playlist.bundle</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro4plx</string>
                    </array>
                </dict>
            </dict>
            <dict>
                <key>UTTypeDescription</key>
                <string>ProPresenter 4 Playlist Document</string>
                <key>UTTypeIconFile</key>
                <string>pro4Playlist</string>
                <key>UTTypeIdentifier</key>
                <string>com.renewedvision.propresenter4.playlist.presentation</string>
                <key>UTTypeReferenceURL</key>
                <string>https://renewedvision.com</string>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pro4pl</string>
                    </array>
                </dict>
            </dict>
        </array>
    </dict>
</plist>

Nbelles avatar Jul 21 '22 16:07 Nbelles

Each application can define the UTIs it manages. Each UTI is defined on the basis of the list of associated extensions (also can handle the mime format). The application can also declare its role for a UTI (Editor or Viewer). If a file extension is used in several UTI, it is not clear how precedence is established.

The management of the extension .pro is historical, inherited from the project that I inspired me. I have no idea if it is correct, it is a language that I have never used.

My application never manages the UTI that defines (or import), but uses them only for the Quick Time preview. From the "get info" file it is always possible to indicate the application to be used to open a file. Instead, it is not possible to choose which preview engine should be used. Generally the operating system gives priority to extension embedded inside the application to open the file, then to extension who use the new API, and finally the old quicklook generators.

sbarex avatar Aug 03 '22 18:08 sbarex

I would like to make a request that the .pro file extension be removed from this program so that other programs can use this file extension properly.

Nbelles avatar Sep 03 '22 15:09 Nbelles

@nbelles It looks more to me like ProPresenter should stop depending on QuickLook information to open the files it needs. That's a very strange road block to drop in the way of their application's functionality. Have you raised the issue with them?

AlecKinnear avatar Sep 05 '22 03:09 AlecKinnear

@AlecKinnear Please read the above conversation.

Yes, I have brought it up with them but of course being a large company, they are not interested in spending the engineering hours to make changes to their program to accommodate the needs of the one and only person (me) encountering this issue.

Nbelles avatar Sep 05 '22 16:09 Nbelles

@Nbelles Well I'm uncertain why a solo developer should have to code around the very poor macOS practices of ProPresenter. Have you offered to pay @sbarex for the custom modification?

AlecKinnear avatar Sep 06 '22 20:09 AlecKinnear