Commit d3b37a82 authored by Felix Paul Kühne's avatar Felix Paul Kühne

macosx: add basic addon manager

no fancy UI, but it works

Needs further UX improvements
parent ca3e0cb5
...@@ -118,6 +118,7 @@ EXTRA_DIST += \ ...@@ -118,6 +118,7 @@ EXTRA_DIST += \
extras/package/macosx/VLC.entitlements \ extras/package/macosx/VLC.entitlements \
extras/package/macosx/Resources/dsa_pub.pem \ extras/package/macosx/Resources/dsa_pub.pem \
extras/package/macosx/Resources/English.lproj/About.xib \ extras/package/macosx/Resources/English.lproj/About.xib \
extras/package/macosx/Resources/English.lproj/AddonManager.xib \
extras/package/macosx/Resources/English.lproj/AudioEffects.xib \ extras/package/macosx/Resources/English.lproj/AudioEffects.xib \
extras/package/macosx/Resources/English.lproj/Bookmarks.xib \ extras/package/macosx/Resources/English.lproj/Bookmarks.xib \
extras/package/macosx/Resources/English.lproj/ConvertAndSave.xib \ extras/package/macosx/Resources/English.lproj/ConvertAndSave.xib \
......
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">12F45</string>
<string key="IBDocument.InterfaceBuilderVersion">851</string>
<string key="IBDocument.AppKitVersion">1187.40</string>
<string key="IBDocument.HIToolboxVersion">626.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">851</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="6"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSCustomObject" id="1001">
<string key="NSClassName">NSObject</string>
</object>
<object class="NSCustomObject" id="1003">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="1004">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="1005">
<int key="NSWindowStyleMask">15</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{196, 194}, {584, 316}}</string>
<int key="NSWTFlags">544735232</int>
<string key="NSWindowTitle">Window</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMaxSize">{1.7976931348623157e+308, 1.7976931348623157e+308}</string>
<object class="NSView" key="NSWindowView" id="1006">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSScrollView" id="935828197">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSClipView" id="243276057">
<reference key="NSNextResponder" ref="935828197"/>
<int key="NSvFlags">2304</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableView" id="534114873">
<reference key="NSNextResponder" ref="243276057"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<string key="NSFrameSize">{542, 228}</string>
<reference key="NSSuperview" ref="243276057"/>
<string key="NSReuseIdentifierKey">_NS:1843</string>
<bool key="NSEnabled">YES</bool>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<bool key="NSControlAllowsExpansionToolTips">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="61244517">
<reference key="NSNextResponder" ref="30886916"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<string key="NSFrameSize">{542, 17}</string>
<reference key="NSSuperview" ref="30886916"/>
<string key="NSReuseIdentifierKey">_NS:1845</string>
<reference key="NSTableView" ref="534114873"/>
</object>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 0}, {16, 17}}</string>
<string key="NSReuseIdentifierKey">_NS:1848</string>
</object>
<object class="NSMutableArray" key="NSTableColumns">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableColumn" id="381593339">
<string key="NSIdentifier">installed</string>
<double key="NSWidth">97</double>
<double key="NSMinWidth">10</double>
<double key="NSMaxWidth">3.4028234663852886e+38</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75497536</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Installed</string>
<object class="NSFont" key="NSSupport" id="26">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
<int key="NSfFlags">3088</int>
</object>
<object class="NSColor" key="NSBackgroundColor" id="574683561">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">headerColor</string>
<object class="NSColor" key="NSColor" id="336123713">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="828772994">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">headerTextColor</string>
<object class="NSColor" key="NSColor" id="414666870">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
</object>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="220579646">
<int key="NSCellFlags">337641536</int>
<int key="NSCellFlags2">134219776</int>
<string key="NSContents">Text Cell</string>
<object class="NSFont" key="NSSupport" id="204814687">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1040</int>
</object>
<reference key="NSControlView" ref="534114873"/>
<object class="NSColor" key="NSBackgroundColor" id="91317641">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlBackgroundColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="930655848">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlTextColor</string>
<reference key="NSColor" ref="414666870"/>
</object>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="534114873"/>
</object>
<object class="NSTableColumn" id="124874019">
<string key="NSIdentifier">name</string>
<double key="NSWidth">120.26953125</double>
<double key="NSMinWidth">40</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75497536</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Name</string>
<reference key="NSSupport" ref="26"/>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
</object>
<reference key="NSTextColor" ref="828772994"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="434664558">
<int key="NSCellFlags">337641536</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string>
<reference key="NSSupport" ref="204814687"/>
<reference key="NSControlView" ref="534114873"/>
<reference key="NSBackgroundColor" ref="91317641"/>
<reference key="NSTextColor" ref="930655848"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="534114873"/>
</object>
<object class="NSTableColumn" id="834906084">
<string key="NSIdentifier">author</string>
<double key="NSWidth">134.63671875</double>
<double key="NSMinWidth">10</double>
<double key="NSMaxWidth">3.4028234663852886e+38</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75497536</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Author</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="574683561"/>
<reference key="NSTextColor" ref="828772994"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="695788846">
<int key="NSCellFlags">337641536</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string>
<reference key="NSSupport" ref="204814687"/>
<reference key="NSControlView" ref="534114873"/>
<reference key="NSBackgroundColor" ref="91317641"/>
<reference key="NSTextColor" ref="930655848"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="534114873"/>
</object>
<object class="NSTableColumn" id="299590599">
<string key="NSIdentifier">type</string>
<double key="NSWidth">178</double>
<double key="NSMinWidth">10</double>
<double key="NSMaxWidth">3.4028234663852886e+38</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75497536</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Type</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="574683561"/>
<reference key="NSTextColor" ref="828772994"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="1039534267">
<int key="NSCellFlags">337641536</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string>
<reference key="NSSupport" ref="204814687"/>
<reference key="NSControlView" ref="534114873"/>
<reference key="NSBackgroundColor" ref="91317641"/>
<reference key="NSTextColor" ref="930655848"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="534114873"/>
</object>
</object>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<reference key="NSBackgroundColor" ref="336123713"/>
<object class="NSColor" key="NSGridColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">gridColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
<double key="NSRowHeight">17</double>
<int key="NSTvFlags">-692060160</int>
<reference key="NSDelegate"/>
<reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
<int key="NSTableViewGroupRowStyle">1</int>
</object>
</object>
<string key="NSFrame">{{1, 17}, {542, 228}}</string>
<reference key="NSSuperview" ref="935828197"/>
<reference key="NSNextKeyView" ref="534114873"/>
<string key="NSReuseIdentifierKey">_NS:1841</string>
<reference key="NSDocView" ref="534114873"/>
<reference key="NSBGColor" ref="91317641"/>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="522020982">
<reference key="NSNextResponder" ref="935828197"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 17}, {15, 102}}</string>
<reference key="NSSuperview" ref="935828197"/>
<string key="NSReuseIdentifierKey">_NS:1860</string>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<reference key="NSTarget" ref="935828197"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">37</double>
<double key="NSPercent">0.1947367936372757</double>
</object>
<object class="NSScroller" id="613824760">
<reference key="NSNextResponder" ref="935828197"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, 229}, {542, 16}}</string>
<reference key="NSSuperview" ref="935828197"/>
<string key="NSReuseIdentifierKey">_NS:1862</string>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="935828197"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.88998357963875208</double>
</object>
<object class="NSClipView" id="30886916">
<reference key="NSNextResponder" ref="935828197"/>
<int key="NSvFlags">2304</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="61244517"/>
</object>
<string key="NSFrame">{{1, 0}, {542, 17}}</string>
<reference key="NSSuperview" ref="935828197"/>
<reference key="NSNextKeyView" ref="61244517"/>
<string key="NSReuseIdentifierKey">_NS:1846</string>
<reference key="NSDocView" ref="61244517"/>
<reference key="NSBGColor" ref="91317641"/>
<int key="NScvFlags">4</int>
</object>
</object>
<string key="NSFrame">{{20, 23}, {544, 246}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSNextKeyView" ref="243276057"/>
<string key="NSReuseIdentifierKey">_NS:1839</string>
<int key="NSsFlags">133682</int>
<reference key="NSVScroller" ref="522020982"/>
<reference key="NSHScroller" ref="613824760"/>
<reference key="NSContentView" ref="243276057"/>
<reference key="NSHeaderClipView" ref="30886916"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
<double key="NSMinMagnification">0.25</double>
<double key="NSMaxMagnification">4</double>
<double key="NSMagnification">1</double>
</object>
<object class="NSPopUpButton" id="642757678">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 275}, {227.61328125, 26}}</string>
<reference key="NSSuperview" ref="1006"/>
<string key="NSReuseIdentifierKey">_NS:791</string>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="798928989">
<int key="NSCellFlags">-2076180416</int>
<int key="NSCellFlags2">2048</int>
<reference key="NSSupport" ref="204814687"/>
<string key="NSCellIdentifier">_NS:791</string>
<reference key="NSControlView" ref="642757678"/>
<int key="NSButtonFlags">109199360</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
<object class="NSMenuItem" key="NSMenuItem" id="789683844">
<reference key="NSMenu" ref="669725325"/>
<string key="NSTitle">Item 1</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<int key="NSState">1</int>
<object class="NSCustomResource" key="NSOnImage" id="102994963">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSMenuCheckmark</string>
</object>
<object class="NSCustomResource" key="NSMixedImage" id="388099486">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSMenuMixedState</string>
</object>
<string key="NSAction">_popUpItemAction:</string>
<reference key="NSTarget" ref="798928989"/>
</object>
<bool key="NSMenuItemRespectAlignment">YES</bool>
<object class="NSMenu" key="NSMenu" id="669725325">
<string key="NSTitle">OtherViews</string>
<object class="NSMutableArray" key="NSMenuItems">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="789683844"/>
<object class="NSMenuItem" id="161674973">
<reference key="NSMenu" ref="669725325"/>
<string key="NSTitle">Item 2</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="102994963"/>
<reference key="NSMixedImage" ref="388099486"/>
<string key="NSAction">_popUpItemAction:</string>
<reference key="NSTarget" ref="798928989"/>
</object>
<object class="NSMenuItem" id="624868396">
<reference key="NSMenu" ref="669725325"/>
<string key="NSTitle">Item 3</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="102994963"/>
<reference key="NSMixedImage" ref="388099486"/>
<string key="NSAction">_popUpItemAction:</string>
<reference key="NSTarget" ref="798928989"/>
</object>
</object>
<reference key="NSMenuFont" ref="204814687"/>
</object>
<int key="NSPreferredEdge">1</int>
<bool key="NSUsesItemFromMenu">YES</bool>
<bool key="NSAltersState">YES</bool>
<int key="NSArrowPosition">2</int>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSButton" id="646621222">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{397.2109375, 280}, {168.7890625, 18}}</string>
<reference key="NSSuperview" ref="1006"/>
<string key="NSReuseIdentifierKey">_NS:682</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="465550475">
<int key="NSCellFlags">-2080374784</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Check</string>
<reference key="NSSupport" ref="204814687"/>
<string key="NSCellIdentifier">_NS:682</string>
<reference key="NSControlView" ref="646621222"/>
<int key="NSButtonFlags">1211912448</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSSwitch</string>
</object>
<object class="NSButtonImageSource" key="NSAlternateImage">
<string key="NSImageName">NSSwitch</string>
</object>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSProgressIndicator" id="231868942">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{276, 130}, {32, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<string key="NSReuseIdentifierKey">_NS:4186</string>
<int key="NSpiFlags">28682</int>
<double key="NSMaxValue">100</double>
</object>
</object>
<string key="NSFrameSize">{584, 316}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
<string key="NSMaxSize">{1.7976931348623157e+308, 1.7976931348623157e+308}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
<object class="NSCustomObject" id="102915137">
<string key="NSClassName">VLCAddonManager</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">_window</string>
<reference key="source" ref="102915137"/>
<reference key="destination" ref="1005"/>
</object>
<int key="connectionID">21</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">_addonsTable</string>
<reference key="source" ref="102915137"/>
<reference key="destination" ref="534114873"/>
</object>
<int key="connectionID">22</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="534114873"/>
<reference key="destination" ref="102915137"/>
</object>
<int key="connectionID">23</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="534114873"/>
<reference key="destination" ref="102915137"/>
</object>
<int key="connectionID">24</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">_localAddonsOnlyCheckbox</string>
<reference key="source" ref="102915137"/>
<reference key="destination" ref="646621222"/>
</object>
<int key="connectionID">25</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">switchType:</string>
<reference key="source" ref="102915137"/>
<reference key="destination" ref="642757678"/>
</object>
<int key="connectionID">28</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">_typeSwitcher</string>
<reference key="source" ref="102915137"/>
<reference key="destination" ref="642757678"/>
</object>
<int key="connectionID">29</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleLocalCheckbox:</string>
<reference key="source" ref="102915137"/>
<reference key="destination" ref="646621222"/>
</object>
<int key="connectionID">30</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">_spinner</string>
<reference key="source" ref="102915137"/>
<reference key="destination" ref="231868942"/>
</object>
<int key="connectionID">32</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">tableAction:</string>
<reference key="source" ref="102915137"/>
<reference key="destination" ref="534114873"/>
</object>
<int key="connectionID">39</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1001"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1003"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1004"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="1005"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="1006"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="1006"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="642757678"/>
<reference ref="935828197"/>
<reference ref="231868942"/>
<reference ref="646621222"/>
</object>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="935828197"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="522020982"/>
<reference ref="613824760"/>
<reference ref="534114873"/>
<reference ref="61244517"/>
</object>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="522020982"/>
<reference key="parent" ref="935828197"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="613824760"/>
<reference key="parent" ref="935828197"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="534114873"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="124874019"/>
<reference ref="834906084"/>
<reference ref="299590599"/>
<reference ref="381593339"/>
</object>
<reference key="parent" ref="935828197"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="61244517"/>
<reference key="parent" ref="935828197"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="124874019"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="434664558"/>
</object>
<reference key="parent" ref="534114873"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">11</int>
<reference key="object" ref="434664558"/>
<reference key="parent" ref="124874019"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">12</int>
<reference key="object" ref="642757678"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="798928989"/>
</object>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">13</int>
<reference key="object" ref="798928989"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="669725325"/>
</object>
<reference key="parent" ref="642757678"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">14</int>
<reference key="object" ref="669725325"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="789683844"/>
<reference ref="161674973"/>
<reference ref="624868396"/>
</object>
<reference key="parent" ref="798928989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">15</int>
<reference key="object" ref="789683844"/>
<reference key="parent" ref="669725325"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">16</int>
<reference key="object" ref="161674973"/>
<reference key="parent" ref="669725325"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">17</int>
<reference key="object" ref="624868396"/>
<reference key="parent" ref="669725325"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">18</int>
<reference key="object" ref="646621222"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="465550475"/>
</object>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="465550475"/>
<reference key="parent" ref="646621222"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">20</int>
<reference key="object" ref="102915137"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">31</int>
<reference key="object" ref="231868942"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">33</int>
<reference key="object" ref="834906084"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="695788846"/>
</object>
<reference key="parent" ref="534114873"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">34</int>
<reference key="object" ref="695788846"/>
<reference key="parent" ref="834906084"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">35</int>
<reference key="object" ref="299590599"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="1039534267"/>
</object>
<reference key="parent" ref="534114873"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">36</int>
<reference key="object" ref="1039534267"/>
<reference key="parent" ref="299590599"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">37</int>
<reference key="object" ref="381593339"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="220579646"/>
</object>
<reference key="parent" ref="534114873"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">38</int>
<reference key="object" ref="220579646"/>
<reference key="parent" ref="381593339"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.IBPluginDependency</string>
<string>-2.IBPluginDependency</string>
<string>-3.IBPluginDependency</string>
<string>1.IBEditorWindowLastContentRect</string>
<string>1.IBPluginDependency</string>
<string>1.IBWindowTemplateEditedContentRect</string>
<string>1.NSWindowTemplate.visibleAtLaunch</string>
<string>1.WindowOrigin</string>
<string>1.editorWindowContentRectSynchronizationRect</string>
<string>11.IBPluginDependency</string>
<string>12.IBPluginDependency</string>
<string>12.IBViewBoundsToFrameTransform</string>
<string>13.IBPluginDependency</string>
<string>14.IBPluginDependency</string>
<string>15.IBPluginDependency</string>
<string>16.IBPluginDependency</string>
<string>17.IBPluginDependency</string>
<string>18.IBPluginDependency</string>
<string>18.IBViewBoundsToFrameTransform</string>
<string>19.IBPluginDependency</string>
<string>2.IBPluginDependency</string>
<string>20.IBPluginDependency</string>
<string>3.IBPluginDependency</string>
<string>3.IBViewBoundsToFrameTransform</string>
<string>31.IBPluginDependency</string>
<string>31.IBViewBoundsToFrameTransform</string>
<string>4.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>6.IBPluginDependency</string>
<string>7.IBPluginDependency</string>
<string>8.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{102, 300}, {584, 316}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{102, 300}, {584, 316}}</string>
<integer value="1"/>
<string>{196, 240}</string>
<string>{{357, 418}, {480, 270}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABBiAAAw5cAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABD+4AAw5QAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABC9AAAw08AAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDjgAAw1EAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">39</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.1+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">VLCAddonManager</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>switchType:</string>
<string>tableAction:</string>
<string>toggleLocalCheckbox:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>switchType:</string>
<string>tableAction:</string>
<string>toggleLocalCheckbox:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">switchType:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">tableAction:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleLocalCheckbox:</string>
<string key="candidateClassName">id</string>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>_addonsTable</string>
<string>_localAddonsOnlyCheckbox</string>
<string>_spinner</string>
<string>_typeSwitcher</string>
<string>_window</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSTableView</string>
<string>NSButton</string>
<string>NSProgressIndicator</string>
<string>NSPopUpButton</string>
<string>NSWindow</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>_addonsTable</string>
<string>_localAddonsOnlyCheckbox</string>
<string>_spinner</string>
<string>_typeSwitcher</string>
<string>_window</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">_addonsTable</string>
<string key="candidateClassName">NSTableView</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">_localAddonsOnlyCheckbox</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">_spinner</string>
<string key="candidateClassName">NSProgressIndicator</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">_typeSwitcher</string>
<string key="candidateClassName">NSPopUpButton</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">_window</string>
<string key="candidateClassName">NSWindow</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBDocumentRelativeSource</string>
<string key="minorKey">../../../../../modules/gui/macosx/AddonManager.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<nil key="IBDocument.LastKnownRelativeProjectPath"/>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSMenuCheckmark</string>
<string>NSMenuMixedState</string>
<string>NSSwitch</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>{11, 11}</string>
<string>{10, 3}</string>
<string>{15, 15}</string>
</object>
</object>
</data>
</archive>
...@@ -12,10 +12,10 @@ ...@@ -12,10 +12,10 @@
</object> </object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
<integer value="5132"/> <integer value="5547"/>
<integer value="2730"/> <integer value="2730"/>
<integer value="57"/>
<integer value="2461"/> <integer value="2461"/>
<integer value="5547"/>
</object> </object>
<object class="NSArray" key="IBDocument.PluginDependencies"> <object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
...@@ -122,6 +122,14 @@ ...@@ -122,6 +122,14 @@
</object> </object>
</object> </object>
</object> </object>
<object class="NSMenuItem" id="403409371">
<reference key="NSMenu" ref="151826058"/>
<string key="NSTitle">Addon Manager</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
<object class="NSMenuItem" id="113902940"> <object class="NSMenuItem" id="113902940">
<reference key="NSMenu" ref="151826058"/> <reference key="NSMenu" ref="151826058"/>
<bool key="NSIsDisabled">YES</bool> <bool key="NSIsDisabled">YES</bool>
...@@ -4464,6 +4472,22 @@ ...@@ -4464,6 +4472,22 @@
</object> </object>
<int key="connectionID">5612</int> <int key="connectionID">5612</int>
</object> </object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">openAddonManager:</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="403409371"/>
</object>
<int key="connectionID">5614</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_mi_addonManager</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="403409371"/>
</object>
<int key="connectionID">5615</int>
</object>
</object> </object>
<object class="IBMutableOrderedSet" key="objectRecords"> <object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects"> <object class="NSArray" key="orderedObjects">
...@@ -4546,6 +4570,7 @@ ...@@ -4546,6 +4570,7 @@
<reference ref="354414928"/> <reference ref="354414928"/>
<reference ref="113902940"/> <reference ref="113902940"/>
<reference ref="266980466"/> <reference ref="266980466"/>
<reference ref="403409371"/>
</object> </object>
<reference key="parent" ref="1012086926"/> <reference key="parent" ref="1012086926"/>
</object> </object>
...@@ -6208,6 +6233,11 @@ ...@@ -6208,6 +6233,11 @@
<reference key="object" ref="526748719"/> <reference key="object" ref="526748719"/>
<reference key="parent" ref="1050252183"/> <reference key="parent" ref="1050252183"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">5613</int>
<reference key="object" ref="403409371"/>
<reference key="parent" ref="151826058"/>
</object>
</object> </object>
</object> </object>
<object class="NSMutableDictionary" key="flattenedProperties"> <object class="NSMutableDictionary" key="flattenedProperties">
...@@ -6658,6 +6688,7 @@ ...@@ -6658,6 +6688,7 @@
<string>5606.IBPluginDependency</string> <string>5606.IBPluginDependency</string>
<string>5609.IBPluginDependency</string> <string>5609.IBPluginDependency</string>
<string>5609.ImportedFromIB2</string> <string>5609.ImportedFromIB2</string>
<string>5613.IBPluginDependency</string>
<string>57.IBEditorWindowLastContentRect</string> <string>57.IBEditorWindowLastContentRect</string>
<string>57.IBPluginDependency</string> <string>57.IBPluginDependency</string>
<string>57.ImportedFromIB2</string> <string>57.ImportedFromIB2</string>
...@@ -6857,7 +6888,7 @@ ...@@ -6857,7 +6888,7 @@
<boolean value="YES"/> <boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>{{836, 453}, {243, 283}}</string> <string>{{707, 453}, {243, 283}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
...@@ -6894,7 +6925,7 @@ ...@@ -6894,7 +6925,7 @@
<string>{{1009, 788}, {64, 6}}</string> <string>{{1009, 788}, {64, 6}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>{{807, 533}, {161, 223}}</string> <string>{{678, 533}, {161, 223}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
...@@ -6931,7 +6962,7 @@ ...@@ -6931,7 +6962,7 @@
<boolean value="YES"/> <boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>{{373, 736}, {595, 20}}</string> <string>{{244, 736}, {595, 20}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
...@@ -7003,14 +7034,14 @@ ...@@ -7003,14 +7034,14 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{596, 363}, {64, 6}}</string> <string>{{523, 650}, {64, 6}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>{{567, 353}, {222, 383}}</string> <string>{{438, 353}, {222, 383}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
...@@ -7139,7 +7170,8 @@ ...@@ -7139,7 +7170,8 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>{{329, 186}, {267, 263}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{256, 453}, {267, 283}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/> <boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
...@@ -7181,7 +7213,7 @@ ...@@ -7181,7 +7213,7 @@
</object> </object>
</object> </object>
<nil key="sourceID"/> <nil key="sourceID"/>
<int key="maxID">5612</int> <int key="maxID">5615</int>
</object> </object>
<object class="IBClassDescriber" key="IBDocument.Classes"> <object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="NSMutableArray" key="referencedPartialClassDescriptions">
...@@ -9955,6 +9987,1558 @@ ...@@ -9955,6 +9987,1558 @@
<reference key="sourceIdentifier" ref="724014817"/> <reference key="sourceIdentifier" ref="724014817"/>
</object> </object>
</object> </object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.1+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">VLCMainMenu</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>addSubtitleFile:</string>
<string>createVideoSnapshot:</string>
<string>floatOnTop:</string>
<string>intfOpenCapture:</string>
<string>intfOpenDisc:</string>
<string>intfOpenFile:</string>
<string>intfOpenFileGeneric:</string>
<string>intfOpenNet:</string>
<string>openAddonManager:</string>
<string>openDocumentation:</string>
<string>openDonate:</string>
<string>openForum:</string>
<string>openReadMe:</string>
<string>openWebsite:</string>
<string>quitAfterPlayback:</string>
<string>resizeVideoWindow:</string>
<string>savePlaylist:</string>
<string>setPlaybackRate:</string>
<string>showAudioEffects:</string>
<string>showBookmarks:</string>
<string>showConvertAndSave:</string>
<string>showInformationPanel:</string>
<string>showLicense:</string>
<string>showMainWindow:</string>
<string>showMessagesPanel:</string>
<string>showPlaylist:</string>
<string>showTrackSynchronization:</string>
<string>showVideoEffects:</string>
<string>showWizard:</string>
<string>switchSubtitleBackgroundOpacity:</string>
<string>switchSubtitleOption:</string>
<string>telxNavLink:</string>
<string>telxTransparent:</string>
<string>toggleAtoBloop:</string>
<string>toggleAudioDevice:</string>
<string>toggleEffectsButton:</string>
<string>toggleFullscreen:</string>
<string>toggleFullscreenDevice:</string>
<string>toggleJumpButtons:</string>
<string>togglePlaylistColumnTable:</string>
<string>togglePlaymodeButtons:</string>
<string>toggleRecord:</string>
<string>toggleSidebar:</string>
<string>toggleVar:</string>
<string>viewAbout:</string>
<string>viewErrorsAndWarnings:</string>
<string>viewHelp:</string>
<string>viewPreferences:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>addSubtitleFile:</string>
<string>createVideoSnapshot:</string>
<string>floatOnTop:</string>
<string>intfOpenCapture:</string>
<string>intfOpenDisc:</string>
<string>intfOpenFile:</string>
<string>intfOpenFileGeneric:</string>
<string>intfOpenNet:</string>
<string>openAddonManager:</string>
<string>openDocumentation:</string>
<string>openDonate:</string>
<string>openForum:</string>
<string>openReadMe:</string>
<string>openWebsite:</string>
<string>quitAfterPlayback:</string>
<string>resizeVideoWindow:</string>
<string>savePlaylist:</string>
<string>setPlaybackRate:</string>
<string>showAudioEffects:</string>
<string>showBookmarks:</string>
<string>showConvertAndSave:</string>
<string>showInformationPanel:</string>
<string>showLicense:</string>
<string>showMainWindow:</string>
<string>showMessagesPanel:</string>
<string>showPlaylist:</string>
<string>showTrackSynchronization:</string>
<string>showVideoEffects:</string>
<string>showWizard:</string>
<string>switchSubtitleBackgroundOpacity:</string>
<string>switchSubtitleOption:</string>
<string>telxNavLink:</string>
<string>telxTransparent:</string>
<string>toggleAtoBloop:</string>
<string>toggleAudioDevice:</string>
<string>toggleEffectsButton:</string>
<string>toggleFullscreen:</string>
<string>toggleFullscreenDevice:</string>
<string>toggleJumpButtons:</string>
<string>togglePlaylistColumnTable:</string>
<string>togglePlaymodeButtons:</string>
<string>toggleRecord:</string>
<string>toggleSidebar:</string>
<string>toggleVar:</string>
<string>viewAbout:</string>
<string>viewErrorsAndWarnings:</string>
<string>viewHelp:</string>
<string>viewPreferences:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">addSubtitleFile:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">createVideoSnapshot:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">floatOnTop:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">intfOpenCapture:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">intfOpenDisc:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">intfOpenFile:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">intfOpenFileGeneric:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">intfOpenNet:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">openAddonManager:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">openDocumentation:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">openDonate:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">openForum:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">openReadMe:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">openWebsite:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">quitAfterPlayback:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">resizeVideoWindow:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">savePlaylist:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">setPlaybackRate:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showAudioEffects:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showBookmarks:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showConvertAndSave:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showInformationPanel:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showLicense:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showMainWindow:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showMessagesPanel:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showPlaylist:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showTrackSynchronization:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showVideoEffects:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showWizard:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">switchSubtitleBackgroundOpacity:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">switchSubtitleOption:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">telxNavLink:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">telxTransparent:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleAtoBloop:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleAudioDevice:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleEffectsButton:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleFullscreen:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleFullscreenDevice:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleJumpButtons:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">togglePlaylistColumnTable:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">togglePlaymodeButtons:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleRecord:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleSidebar:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleVar:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">viewAbout:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">viewErrorsAndWarnings:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">viewHelp:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">viewPreferences:</string>
<string key="candidateClassName">id</string>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>o_about</string>
<string>o_audioeffects</string>
<string>o_bookmarks</string>
<string>o_convertandsave</string>
<string>o_dmi_mute</string>
<string>o_dmi_next</string>
<string>o_dmi_play</string>
<string>o_dmi_previous</string>
<string>o_dmi_stop</string>
<string>o_extMgr</string>
<string>o_mi_AtoBloop</string>
<string>o_mi_about</string>
<string>o_mi_add_intf</string>
<string>o_mi_addonManager</string>
<string>o_mi_aspect_ratio</string>
<string>o_mi_audioeffects</string>
<string>o_mi_audiotrack</string>
<string>o_mi_bookmarks</string>
<string>o_mi_bring_atf</string>
<string>o_mi_bwd</string>
<string>o_mi_channels</string>
<string>o_mi_chapter</string>
<string>o_mi_checkForUpdate</string>
<string>o_mi_clear</string>
<string>o_mi_close_window</string>
<string>o_mi_controller</string>
<string>o_mi_convertandsave</string>
<string>o_mi_copy</string>
<string>o_mi_crop</string>
<string>o_mi_cut</string>
<string>o_mi_deinterlace</string>
<string>o_mi_deinterlace_mode</string>
<string>o_mi_device</string>
<string>o_mi_documentation</string>
<string>o_mi_donation</string>
<string>o_mi_double_window</string>
<string>o_mi_errorsAndWarnings</string>
<string>o_mi_extensions</string>
<string>o_mi_ffmpeg_pp</string>
<string>o_mi_fittoscreen</string>
<string>o_mi_floatontop</string>
<string>o_mi_forum</string>
<string>o_mi_fullscreen</string>
<string>o_mi_fwd</string>
<string>o_mi_half_window</string>
<string>o_mi_help</string>
<string>o_mi_hide</string>
<string>o_mi_hide_others</string>
<string>o_mi_info</string>
<string>o_mi_license</string>
<string>o_mi_loop</string>
<string>o_mi_messages</string>
<string>o_mi_minimize</string>
<string>o_mi_mute</string>
<string>o_mi_next</string>
<string>o_mi_normal_window</string>
<string>o_mi_openSubtitleFile</string>
<string>o_mi_open_capture</string>
<string>o_mi_open_disc</string>
<string>o_mi_open_file</string>
<string>o_mi_open_generic</string>
<string>o_mi_open_net</string>
<string>o_mi_open_recent</string>
<string>o_mi_open_wizard</string>
<string>o_mi_paste</string>
<string>o_mi_play</string>
<string>o_mi_player</string>
<string>o_mi_playlist</string>
<string>o_mi_playlistTableColumns</string>
<string>o_mi_prefs</string>
<string>o_mi_previous</string>
<string>o_mi_program</string>
<string>o_mi_quit</string>
<string>o_mi_quitAfterPB</string>
<string>o_mi_random</string>
<string>o_mi_rate</string>
<string>o_mi_rate_faster_lbl</string>
<string>o_mi_rate_fld</string>
<string>o_mi_rate_lbl</string>
<string>o_mi_rate_lbl_gray</string>
<string>o_mi_rate_normal_lbl</string>
<string>o_mi_rate_sld</string>
<string>o_mi_rate_slower_lbl</string>
<string>o_mi_rate_view</string>
<string>o_mi_readme</string>
<string>o_mi_record</string>
<string>o_mi_repeat</string>
<string>o_mi_save_playlist</string>
<string>o_mi_screen</string>
<string>o_mi_select_all</string>
<string>o_mi_services</string>
<string>o_mi_show_all</string>
<string>o_mi_snapshot</string>
<string>o_mi_stop</string>
<string>o_mi_subtitle_bgcolor</string>
<string>o_mi_subtitle_bgopacity</string>
<string>o_mi_subtitle_bgopacity_lbl</string>
<string>o_mi_subtitle_bgopacity_lbl_gray</string>
<string>o_mi_subtitle_bgopacity_sld</string>
<string>o_mi_subtitle_bgopacity_view</string>
<string>o_mi_subtitle_outlinethickness</string>
<string>o_mi_subtitle_size</string>
<string>o_mi_subtitle_textcolor</string>
<string>o_mi_subtitle_track</string>
<string>o_mi_teletext</string>
<string>o_mi_teletext_blue</string>
<string>o_mi_teletext_green</string>
<string>o_mi_teletext_index</string>
<string>o_mi_teletext_red</string>
<string>o_mi_teletext_transparent</string>
<string>o_mi_teletext_yellow</string>
<string>o_mi_title</string>
<string>o_mi_toggleEffectsButton</string>
<string>o_mi_toggleJumpButtons</string>
<string>o_mi_togglePlaymodeButtons</string>
<string>o_mi_toggleSidebar</string>
<string>o_mi_trackSynchronization</string>
<string>o_mi_videoeffects</string>
<string>o_mi_videotrack</string>
<string>o_mi_visual</string>
<string>o_mi_vol_down</string>
<string>o_mi_vol_up</string>
<string>o_mi_website</string>
<string>o_mi_zoom_window</string>
<string>o_mu_add_intf</string>
<string>o_mu_aspect_ratio</string>
<string>o_mu_audio</string>
<string>o_mu_audiotrack</string>
<string>o_mu_channels</string>
<string>o_mu_chapter</string>
<string>o_mu_controls</string>
<string>o_mu_crop</string>
<string>o_mu_deinterlace</string>
<string>o_mu_deinterlace_mode</string>
<string>o_mu_device</string>
<string>o_mu_edit</string>
<string>o_mu_extensions</string>
<string>o_mu_ffmpeg_pp</string>
<string>o_mu_file</string>
<string>o_mu_help</string>
<string>o_mu_playlistTableColumns</string>
<string>o_mu_program</string>
<string>o_mu_screen</string>
<string>o_mu_subtitle_bgcolor</string>
<string>o_mu_subtitle_outlinethickness</string>
<string>o_mu_subtitle_size</string>
<string>o_mu_subtitle_textcolor</string>
<string>o_mu_subtitle_tracks</string>
<string>o_mu_subtitles</string>
<string>o_mu_title</string>
<string>o_mu_video</string>
<string>o_mu_videotrack</string>
<string>o_mu_view</string>
<string>o_mu_visual</string>
<string>o_mu_window</string>
<string>o_trackSynchronization</string>
<string>o_videoeffects</string>
<string>o_vmi_fullscreen</string>
<string>o_vmi_mute</string>
<string>o_vmi_next</string>
<string>o_vmi_play</string>
<string>o_vmi_prev</string>
<string>o_vmi_snapshot</string>
<string>o_vmi_stop</string>
<string>o_vmi_voldown</string>
<string>o_vmi_volup</string>
<string>o_vout_menu</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>id</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>NSView</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>NSView</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>id</string>
<string>id</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenu</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>o_about</string>
<string>o_audioeffects</string>
<string>o_bookmarks</string>
<string>o_convertandsave</string>
<string>o_dmi_mute</string>
<string>o_dmi_next</string>
<string>o_dmi_play</string>
<string>o_dmi_previous</string>
<string>o_dmi_stop</string>
<string>o_extMgr</string>
<string>o_mi_AtoBloop</string>
<string>o_mi_about</string>
<string>o_mi_add_intf</string>
<string>o_mi_addonManager</string>
<string>o_mi_aspect_ratio</string>
<string>o_mi_audioeffects</string>
<string>o_mi_audiotrack</string>
<string>o_mi_bookmarks</string>
<string>o_mi_bring_atf</string>
<string>o_mi_bwd</string>
<string>o_mi_channels</string>
<string>o_mi_chapter</string>
<string>o_mi_checkForUpdate</string>
<string>o_mi_clear</string>
<string>o_mi_close_window</string>
<string>o_mi_controller</string>
<string>o_mi_convertandsave</string>
<string>o_mi_copy</string>
<string>o_mi_crop</string>
<string>o_mi_cut</string>
<string>o_mi_deinterlace</string>
<string>o_mi_deinterlace_mode</string>
<string>o_mi_device</string>
<string>o_mi_documentation</string>
<string>o_mi_donation</string>
<string>o_mi_double_window</string>
<string>o_mi_errorsAndWarnings</string>
<string>o_mi_extensions</string>
<string>o_mi_ffmpeg_pp</string>
<string>o_mi_fittoscreen</string>
<string>o_mi_floatontop</string>
<string>o_mi_forum</string>
<string>o_mi_fullscreen</string>
<string>o_mi_fwd</string>
<string>o_mi_half_window</string>
<string>o_mi_help</string>
<string>o_mi_hide</string>
<string>o_mi_hide_others</string>
<string>o_mi_info</string>
<string>o_mi_license</string>
<string>o_mi_loop</string>
<string>o_mi_messages</string>
<string>o_mi_minimize</string>
<string>o_mi_mute</string>
<string>o_mi_next</string>
<string>o_mi_normal_window</string>
<string>o_mi_openSubtitleFile</string>
<string>o_mi_open_capture</string>
<string>o_mi_open_disc</string>
<string>o_mi_open_file</string>
<string>o_mi_open_generic</string>
<string>o_mi_open_net</string>
<string>o_mi_open_recent</string>
<string>o_mi_open_wizard</string>
<string>o_mi_paste</string>
<string>o_mi_play</string>
<string>o_mi_player</string>
<string>o_mi_playlist</string>
<string>o_mi_playlistTableColumns</string>
<string>o_mi_prefs</string>
<string>o_mi_previous</string>
<string>o_mi_program</string>
<string>o_mi_quit</string>
<string>o_mi_quitAfterPB</string>
<string>o_mi_random</string>
<string>o_mi_rate</string>
<string>o_mi_rate_faster_lbl</string>
<string>o_mi_rate_fld</string>
<string>o_mi_rate_lbl</string>
<string>o_mi_rate_lbl_gray</string>
<string>o_mi_rate_normal_lbl</string>
<string>o_mi_rate_sld</string>
<string>o_mi_rate_slower_lbl</string>
<string>o_mi_rate_view</string>
<string>o_mi_readme</string>
<string>o_mi_record</string>
<string>o_mi_repeat</string>
<string>o_mi_save_playlist</string>
<string>o_mi_screen</string>
<string>o_mi_select_all</string>
<string>o_mi_services</string>
<string>o_mi_show_all</string>
<string>o_mi_snapshot</string>
<string>o_mi_stop</string>
<string>o_mi_subtitle_bgcolor</string>
<string>o_mi_subtitle_bgopacity</string>
<string>o_mi_subtitle_bgopacity_lbl</string>
<string>o_mi_subtitle_bgopacity_lbl_gray</string>
<string>o_mi_subtitle_bgopacity_sld</string>
<string>o_mi_subtitle_bgopacity_view</string>
<string>o_mi_subtitle_outlinethickness</string>
<string>o_mi_subtitle_size</string>
<string>o_mi_subtitle_textcolor</string>
<string>o_mi_subtitle_track</string>
<string>o_mi_teletext</string>
<string>o_mi_teletext_blue</string>
<string>o_mi_teletext_green</string>
<string>o_mi_teletext_index</string>
<string>o_mi_teletext_red</string>
<string>o_mi_teletext_transparent</string>
<string>o_mi_teletext_yellow</string>
<string>o_mi_title</string>
<string>o_mi_toggleEffectsButton</string>
<string>o_mi_toggleJumpButtons</string>
<string>o_mi_togglePlaymodeButtons</string>
<string>o_mi_toggleSidebar</string>
<string>o_mi_trackSynchronization</string>
<string>o_mi_videoeffects</string>
<string>o_mi_videotrack</string>
<string>o_mi_visual</string>
<string>o_mi_vol_down</string>
<string>o_mi_vol_up</string>
<string>o_mi_website</string>
<string>o_mi_zoom_window</string>
<string>o_mu_add_intf</string>
<string>o_mu_aspect_ratio</string>
<string>o_mu_audio</string>
<string>o_mu_audiotrack</string>
<string>o_mu_channels</string>
<string>o_mu_chapter</string>
<string>o_mu_controls</string>
<string>o_mu_crop</string>
<string>o_mu_deinterlace</string>
<string>o_mu_deinterlace_mode</string>
<string>o_mu_device</string>
<string>o_mu_edit</string>
<string>o_mu_extensions</string>
<string>o_mu_ffmpeg_pp</string>
<string>o_mu_file</string>
<string>o_mu_help</string>
<string>o_mu_playlistTableColumns</string>
<string>o_mu_program</string>
<string>o_mu_screen</string>
<string>o_mu_subtitle_bgcolor</string>
<string>o_mu_subtitle_outlinethickness</string>
<string>o_mu_subtitle_size</string>
<string>o_mu_subtitle_textcolor</string>
<string>o_mu_subtitle_tracks</string>
<string>o_mu_subtitles</string>
<string>o_mu_title</string>
<string>o_mu_video</string>
<string>o_mu_videotrack</string>
<string>o_mu_view</string>
<string>o_mu_visual</string>
<string>o_mu_window</string>
<string>o_trackSynchronization</string>
<string>o_videoeffects</string>
<string>o_vmi_fullscreen</string>
<string>o_vmi_mute</string>
<string>o_vmi_next</string>
<string>o_vmi_play</string>
<string>o_vmi_prev</string>
<string>o_vmi_snapshot</string>
<string>o_vmi_stop</string>
<string>o_vmi_voldown</string>
<string>o_vmi_volup</string>
<string>o_vout_menu</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">o_about</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_audioeffects</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_bookmarks</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_convertandsave</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_dmi_mute</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_dmi_next</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_dmi_play</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_dmi_previous</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_dmi_stop</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_extMgr</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_AtoBloop</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_about</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_add_intf</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_addonManager</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_aspect_ratio</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_audioeffects</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_audiotrack</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_bookmarks</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_bring_atf</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_bwd</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_channels</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_chapter</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_checkForUpdate</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_clear</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_close_window</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_controller</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_convertandsave</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_copy</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_crop</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_cut</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_deinterlace</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_deinterlace_mode</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_device</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_documentation</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_donation</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_double_window</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_errorsAndWarnings</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_extensions</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_ffmpeg_pp</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_fittoscreen</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_floatontop</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_forum</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_fullscreen</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_fwd</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_half_window</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_help</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_hide</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_hide_others</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_info</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_license</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_loop</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_messages</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_minimize</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_mute</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_next</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_normal_window</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_openSubtitleFile</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_open_capture</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_open_disc</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_open_file</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_open_generic</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_open_net</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_open_recent</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_open_wizard</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_paste</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_play</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_player</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_playlist</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_playlistTableColumns</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_prefs</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_previous</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_program</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_quit</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_quitAfterPB</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_random</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_rate</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_rate_faster_lbl</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_rate_fld</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_rate_lbl</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_rate_lbl_gray</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_rate_normal_lbl</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_rate_sld</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_rate_slower_lbl</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_rate_view</string>
<string key="candidateClassName">NSView</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_readme</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_record</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_repeat</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_save_playlist</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_screen</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_select_all</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_services</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_show_all</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_snapshot</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_stop</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_subtitle_bgcolor</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_subtitle_bgopacity</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_subtitle_bgopacity_lbl</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_subtitle_bgopacity_lbl_gray</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_subtitle_bgopacity_sld</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_subtitle_bgopacity_view</string>
<string key="candidateClassName">NSView</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_subtitle_outlinethickness</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_subtitle_size</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_subtitle_textcolor</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_subtitle_track</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_teletext</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_teletext_blue</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_teletext_green</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_teletext_index</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_teletext_red</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_teletext_transparent</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_teletext_yellow</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_title</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_toggleEffectsButton</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_toggleJumpButtons</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_togglePlaymodeButtons</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_toggleSidebar</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_trackSynchronization</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_videoeffects</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_videotrack</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_visual</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_vol_down</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_vol_up</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_website</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_zoom_window</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_add_intf</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_aspect_ratio</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_audio</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_audiotrack</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_channels</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_chapter</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_controls</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_crop</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_deinterlace</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_deinterlace_mode</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_device</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_edit</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_extensions</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_ffmpeg_pp</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_file</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_help</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_playlistTableColumns</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_program</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_screen</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_subtitle_bgcolor</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_subtitle_outlinethickness</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_subtitle_size</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_subtitle_textcolor</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_subtitle_tracks</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_subtitles</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_title</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_video</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_videotrack</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_view</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_visual</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_window</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_trackSynchronization</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_videoeffects</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_vmi_fullscreen</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_vmi_mute</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_vmi_next</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_vmi_play</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_vmi_prev</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_vmi_snapshot</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_vmi_stop</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_vmi_voldown</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_vmi_volup</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_vout_menu</string>
<string key="candidateClassName">NSMenu</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBDocumentRelativeSource</string>
<string key="minorKey">../../../../../modules/gui/macosx/MainMenu.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription"> <object class="IBPartialClassDescription">
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
7D8BB0B71830311300FAE9B7 /* DebugMessageVisualizer.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D8BB0B51830311300FAE9B7 /* DebugMessageVisualizer.xib */; }; 7D8BB0B71830311300FAE9B7 /* DebugMessageVisualizer.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D8BB0B51830311300FAE9B7 /* DebugMessageVisualizer.xib */; };
7D8BB0BA1830367200FAE9B7 /* PlaylistMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D8BB0B81830367200FAE9B7 /* PlaylistMenu.xib */; }; 7D8BB0BA1830367200FAE9B7 /* PlaylistMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D8BB0B81830367200FAE9B7 /* PlaylistMenu.xib */; };
7D8BB0C01830393300FAE9B7 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D8BB0BE1830393300FAE9B7 /* MainWindow.xib */; }; 7D8BB0C01830393300FAE9B7 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D8BB0BE1830393300FAE9B7 /* MainWindow.xib */; };
7DB65D5618ABD6490053B874 /* AddonManager.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7DB65D5418ABD6490053B874 /* AddonManager.xib */; };
7DE88F2A1831396A00CD9DA2 /* PlaylistAccessoryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7DE88F281831396A00CD9DA2 /* PlaylistAccessoryView.xib */; }; 7DE88F2A1831396A00CD9DA2 /* PlaylistAccessoryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7DE88F281831396A00CD9DA2 /* PlaylistAccessoryView.xib */; };
7DFFA16C16124F38001AF89F /* effects-one-button-pressed-dark.png in Resources */ = {isa = PBXBuildFile; fileRef = 7DFFA16A16124F38001AF89F /* effects-one-button-pressed-dark.png */; }; 7DFFA16C16124F38001AF89F /* effects-one-button-pressed-dark.png in Resources */ = {isa = PBXBuildFile; fileRef = 7DFFA16A16124F38001AF89F /* effects-one-button-pressed-dark.png */; };
7DFFA16D16124F38001AF89F /* effects-one-button-pressed-dark@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7DFFA16B16124F38001AF89F /* effects-one-button-pressed-dark@2x.png */; }; 7DFFA16D16124F38001AF89F /* effects-one-button-pressed-dark@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7DFFA16B16124F38001AF89F /* effects-one-button-pressed-dark@2x.png */; };
...@@ -481,6 +482,9 @@ ...@@ -481,6 +482,9 @@
7D8BB0B61830311300FAE9B7 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/DebugMessageVisualizer.xib; sourceTree = "<group>"; }; 7D8BB0B61830311300FAE9B7 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/DebugMessageVisualizer.xib; sourceTree = "<group>"; };
7D8BB0B91830367200FAE9B7 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/PlaylistMenu.xib; sourceTree = "<group>"; }; 7D8BB0B91830367200FAE9B7 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/PlaylistMenu.xib; sourceTree = "<group>"; };
7D8BB0BF1830393300FAE9B7 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/MainWindow.xib; sourceTree = "<group>"; }; 7D8BB0BF1830393300FAE9B7 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/MainWindow.xib; sourceTree = "<group>"; };
7DB65D5218ABD6380053B874 /* AddonManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AddonManager.h; path = ../../../modules/gui/macosx/AddonManager.h; sourceTree = "<group>"; };
7DB65D5318ABD6380053B874 /* AddonManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AddonManager.m; path = ../../../modules/gui/macosx/AddonManager.m; sourceTree = "<group>"; };
7DB65D5518ABD6490053B874 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/AddonManager.xib; sourceTree = "<group>"; };
7DE88F291831396A00CD9DA2 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/PlaylistAccessoryView.xib; sourceTree = "<group>"; }; 7DE88F291831396A00CD9DA2 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/PlaylistAccessoryView.xib; sourceTree = "<group>"; };
7DFFA16A16124F38001AF89F /* effects-one-button-pressed-dark.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "effects-one-button-pressed-dark.png"; path = "Resources/mainwindow_dark/effects-one-button-pressed-dark.png"; sourceTree = "<group>"; }; 7DFFA16A16124F38001AF89F /* effects-one-button-pressed-dark.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "effects-one-button-pressed-dark.png"; path = "Resources/mainwindow_dark/effects-one-button-pressed-dark.png"; sourceTree = "<group>"; };
7DFFA16B16124F38001AF89F /* effects-one-button-pressed-dark@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "effects-one-button-pressed-dark@2x.png"; path = "Resources/mainwindow_dark/effects-one-button-pressed-dark@2x.png"; sourceTree = "<group>"; }; 7DFFA16B16124F38001AF89F /* effects-one-button-pressed-dark@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "effects-one-button-pressed-dark@2x.png"; path = "Resources/mainwindow_dark/effects-one-button-pressed-dark@2x.png"; sourceTree = "<group>"; };
...@@ -1095,6 +1099,8 @@ ...@@ -1095,6 +1099,8 @@
5CCED71114C0D4A90057F8D1 /* ExtensionsDialogProvider.m */, 5CCED71114C0D4A90057F8D1 /* ExtensionsDialogProvider.m */,
5CCED71214C0D4A90057F8D1 /* ExtensionsManager.h */, 5CCED71214C0D4A90057F8D1 /* ExtensionsManager.h */,
5CCED71314C0D4A90057F8D1 /* ExtensionsManager.m */, 5CCED71314C0D4A90057F8D1 /* ExtensionsManager.m */,
7DB65D5218ABD6380053B874 /* AddonManager.h */,
7DB65D5318ABD6380053B874 /* AddonManager.m */,
5CCED71414C0D4A90057F8D1 /* VLCUIWidgets.h */, 5CCED71414C0D4A90057F8D1 /* VLCUIWidgets.h */,
5CCED71514C0D4A90057F8D1 /* VLCUIWidgets.m */, 5CCED71514C0D4A90057F8D1 /* VLCUIWidgets.m */,
8E6BC6FA041684EC0059A3A7 /* controls.h */, 8E6BC6FA041684EC0059A3A7 /* controls.h */,
...@@ -1811,6 +1817,7 @@ ...@@ -1811,6 +1817,7 @@
7D8BB0BE1830393300FAE9B7 /* MainWindow.xib */, 7D8BB0BE1830393300FAE9B7 /* MainWindow.xib */,
7DE88F281831396A00CD9DA2 /* PlaylistAccessoryView.xib */, 7DE88F281831396A00CD9DA2 /* PlaylistAccessoryView.xib */,
7D3F6523188051F2005776C4 /* BWQuincyMain.xib */, 7D3F6523188051F2005776C4 /* BWQuincyMain.xib */,
7DB65D5418ABD6490053B874 /* AddonManager.xib */,
); );
name = xibs; name = xibs;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -1870,6 +1877,7 @@ ...@@ -1870,6 +1877,7 @@
files = ( files = (
CC8062641021F8790021EB9A /* dsa_pub.pem in Resources */, CC8062641021F8790021EB9A /* dsa_pub.pem in Resources */,
CC402EB80E00ABBB006A4BA4 /* InfoPlist.strings in Resources */, CC402EB80E00ABBB006A4BA4 /* InfoPlist.strings in Resources */,
7DB65D5618ABD6490053B874 /* AddonManager.xib in Resources */,
CC402EB90E00ABBB006A4BA4 /* vlc.scriptSuite in Resources */, CC402EB90E00ABBB006A4BA4 /* vlc.scriptSuite in Resources */,
CC402EBA0E00ABBB006A4BA4 /* vlc.scriptTerminology in Resources */, CC402EBA0E00ABBB006A4BA4 /* vlc.scriptTerminology in Resources */,
CC402EBB0E00ABBB006A4BA4 /* README.MacOSX.rtf in Resources */, CC402EBB0E00ABBB006A4BA4 /* README.MacOSX.rtf in Resources */,
...@@ -2329,6 +2337,14 @@ ...@@ -2329,6 +2337,14 @@
name = MainWindow.xib; name = MainWindow.xib;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
7DB65D5418ABD6490053B874 /* AddonManager.xib */ = {
isa = PBXVariantGroup;
children = (
7DB65D5518ABD6490053B874 /* English */,
);
name = AddonManager.xib;
sourceTree = "<group>";
};
7DE88F281831396A00CD9DA2 /* PlaylistAccessoryView.xib */ = { 7DE88F281831396A00CD9DA2 /* PlaylistAccessoryView.xib */ = {
isa = PBXVariantGroup; isa = PBXVariantGroup;
children = ( children = (
......
/*****************************************************************************
* AddonManager.h: Addons manager for the Mac
****************************************************************************
* Copyright (C) 2014 VideoLAN and authors
* Author: Felix Paul Kühne <fkuehne # videolan.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import <Cocoa/Cocoa.h>
@interface VLCAddonManager : NSObject <NSTableViewDataSource, NSTableViewDelegate>
{
IBOutlet NSWindow *_window;
IBOutlet NSPopUpButton *_typeSwitcher;
IBOutlet NSButton *_localAddonsOnlyCheckbox;
IBOutlet NSTableView *_addonsTable;
IBOutlet NSProgressIndicator *_spinner;
}
+ (VLCAddonManager *)sharedInstance;
- (void)showWindow;
- (IBAction)switchType:(id)sender;
- (IBAction)toggleLocalCheckbox:(id)sender;
- (IBAction)tableAction:(id)sender;
@end
\ No newline at end of file
/*****************************************************************************
* AddonManager.m: Addons manager for the Mac
****************************************************************************
* Copyright (C) 2014 VideoLAN and authors
* Author: Felix Paul Kühne <fkuehne # videolan.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import "AddonManager.h"
#import <vlc_common.h>
#import <vlc_events.h>
#import <vlc_addons.h>
#import "intf.h"
@interface VLCAddonManager ()
{
addons_manager_t *_manager;
NSMutableArray *_addons;
NSArray *_displayedAddons;
}
- (void)addAddon:(addon_entry_t *)data;
- (void)discoveryEnded;
- (void)addonChanged:(addon_entry_t *)data;
@end
static void addonsEventsCallback( const vlc_event_t *, void * );
static void addonsEventsCallback( const vlc_event_t *event, void *data )
{
if (event->type == vlc_AddonFound)
[[VLCAddonManager sharedInstance] addAddon:event->u.addon_generic_event.p_entry];
else if (event->type == vlc_AddonsDiscoveryEnded)
[[VLCAddonManager sharedInstance] discoveryEnded];
else if (event->type == vlc_AddonChanged)
[[VLCAddonManager sharedInstance] addonChanged:event->u.addon_generic_event.p_entry];
}
@implementation VLCAddonManager
static VLCAddonManager *_o_sharedInstance = nil;
+ (VLCAddonManager *)sharedInstance
{
return _o_sharedInstance ? _o_sharedInstance : [[self alloc] init];
}
#pragma mark - object handling
- (id)init
{
if (_o_sharedInstance)
[self dealloc];
else {
_o_sharedInstance = [super init];
_addons = [[NSMutableArray alloc] init];
}
return _o_sharedInstance;
}
- (void)dealloc
{
[_addons release];
[_displayedAddons release];
if ( _manager )
addons_manager_Delete(_manager);
[super dealloc];
}
#pragma mark - UI handling
- (void)awakeFromNib
{
[_typeSwitcher removeAllItems];
[_typeSwitcher addItemWithTitle:_NS("All")];
[[_typeSwitcher lastItem] setTag: -1];
[_typeSwitcher addItemWithTitle:_NS("Skins")];
[[_typeSwitcher lastItem] setTag:ADDON_SKIN2];
[_typeSwitcher addItemWithTitle:_NS("Playlist parsers")];
[[_typeSwitcher lastItem] setTag:ADDON_PLAYLIST_PARSER];
[_typeSwitcher addItemWithTitle:_NS("Service discovery")];
[[_typeSwitcher lastItem] setTag:ADDON_SERVICE_DISCOVERY];
[_typeSwitcher addItemWithTitle:_NS("Extensions")];
[[_typeSwitcher lastItem] setTag:ADDON_EXTENSION];
[_localAddonsOnlyCheckbox setTitle:_NS("Show Installed Only")];
[_localAddonsOnlyCheckbox setState:NSOffState];
[_spinner setUsesThreadedAnimation:YES];
[_window setTitle:_NS("Addon Manager")];
[[[_addonsTable tableColumnWithIdentifier:@"installed"] headerCell] setStringValue:_NS("Installed")];
[[[_addonsTable tableColumnWithIdentifier:@"name"] headerCell] setStringValue:_NS("Name")];
[[[_addonsTable tableColumnWithIdentifier:@"author"] headerCell] setStringValue:_NS("Author")];
[[[_addonsTable tableColumnWithIdentifier:@"type"] headerCell] setStringValue:_NS("Type")];
_manager = addons_manager_New((vlc_object_t *)VLCIntf);
if (!_manager)
return;
vlc_event_manager_t *p_em = _manager->p_event_manager;
vlc_event_attach(p_em, vlc_AddonFound, addonsEventsCallback, self);
vlc_event_attach(p_em, vlc_AddonsDiscoveryEnded, addonsEventsCallback, self);
vlc_event_attach(p_em, vlc_AddonChanged, addonsEventsCallback, self);
}
- (void)showWindow
{
[self _findNewAddons];
[_spinner startAnimation:nil];
[_window makeKeyAndOrderFront:nil];
}
- (IBAction)switchType:(id)sender
{
[self _refactorDataModel];
}
- (IBAction)toggleLocalCheckbox:(id)sender
{
[self _refactorDataModel];
}
- (IBAction)tableAction:(id)sender
{
NSInteger clickedRow = [_addonsTable clickedRow];
if (clickedRow > _displayedAddons.count - 1 || clickedRow < 0)
return;
NSDictionary *currentItem = _displayedAddons[clickedRow];
if ([[currentItem objectForKey:@"state"] intValue] == ADDON_INSTALLED)
[self _removeAddonWithID:[[currentItem objectForKey:@"uuid"] pointerValue]];
else
[self _installAddonWithID:[[currentItem objectForKey:@"uuid"] pointerValue]];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
{
return [_displayedAddons count];
}
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
NSString *identifier = [aTableColumn identifier];
if ([identifier isEqualToString:@"installed"]) {
if ([[_displayedAddons[rowIndex] objectForKey:@"state"] intValue] == ADDON_INSTALLED)
return @"✔";
return @"✘";
} else if([identifier isEqualToString:@"type"])
return [self _getAddonType:[[_displayedAddons[rowIndex] objectForKey:@"type"] intValue]];
return [_displayedAddons[rowIndex] objectForKey:identifier];
}
#pragma mark - data handling
- (void)addAddon:(addon_entry_t *)p_entry
{
@autoreleasepool {
NSString *name = [NSString stringWithUTF8String:p_entry->psz_name ? p_entry->psz_name : ""];
if (p_entry->e_state == ADDON_INSTALLED)
name = [name stringByAppendingFormat: @" (%@)", _NS("installed")];
NSDictionary *addonProperties = [NSDictionary dictionaryWithObjectsAndKeys:
name, @"name",
[NSString stringWithUTF8String:p_entry->psz_description ? p_entry->psz_description : ""], @"description",
[NSString stringWithUTF8String:p_entry->psz_author ? p_entry->psz_author : ""], @"author",
[NSString stringWithUTF8String:p_entry->psz_source_uri ? p_entry->psz_source_uri : ""], @"uri",
[NSString stringWithUTF8String:p_entry->psz_version ? p_entry->psz_version : ""], @"version",
[NSString stringWithUTF8String:p_entry->psz_image_uri ? p_entry->psz_image_uri : ""], @"imageuri",
[NSNumber numberWithInt:p_entry->e_state], @"state",
[NSNumber numberWithInt:p_entry->e_type], @"type",
[NSValue valueWithPointer:&p_entry->uuid], @"uuid",
nil];
[_addons addObject:addonProperties];
}
}
- (void)discoveryEnded
{
[self _refactorDataModel];
[_spinner stopAnimation:nil];
}
- (void)addonChanged:(addon_entry_t *)data
{
[self _refactorDataModel];
}
#pragma mark - helpers
- (void)_refactorDataModel
{
BOOL installedOnly = _localAddonsOnlyCheckbox.state == NSOnState;
int type = [[_typeSwitcher selectedItem] tag];
NSUInteger count = _addons.count;
NSMutableArray *filteredItems = [[NSMutableArray alloc] initWithCapacity:count];
NSDictionary *currentItem;
for (NSUInteger x = 0; x < count; x++) {
currentItem = _addons[x];
if (type != -1) {
if ([[currentItem objectForKey:@"type"] intValue] == type) {
if (installedOnly) {
if ([[currentItem objectForKey:@"state"] intValue] == ADDON_INSTALLED)
[filteredItems addObject:currentItem];
} else
[filteredItems addObject:currentItem];
}
} else {
if (installedOnly) {
if ([[currentItem objectForKey:@"state"] intValue] == ADDON_INSTALLED)
[filteredItems addObject:currentItem];
} else
[filteredItems addObject:currentItem];
}
}
if (_displayedAddons)
[_displayedAddons release];
_displayedAddons = [NSArray arrayWithArray:filteredItems];
[_displayedAddons retain];
[_addonsTable reloadData];
}
- (void)_findNewAddons
{
addons_manager_Gather(_manager, NULL);
}
/* FIXME: un-used */
- (void)_findDesignatedAddon:(NSString *)uri
{
addons_manager_Gather(_manager, [uri UTF8String]);
}
/* FIXME: un-used */
- (void)_findInstalled
{
addons_manager_LoadCatalog(_manager);
}
- (void)_installAddonWithID:(addon_uuid_t)addonid
{
addons_manager_Install(_manager, addonid);
}
- (void)_removeAddonWithID:(addon_uuid_t)addonid
{
addons_manager_Remove(_manager, addonid);
}
- (NSString *)_getAddonType:(int)i_type
{
switch (i_type)
{
case ADDON_SKIN2:
return @"Skins";
case ADDON_PLAYLIST_PARSER:
return @"Playlist parsers";
case ADDON_SERVICE_DISCOVERY:
return @"Service Discovery";
case ADDON_EXTENSION:
return @"Extensions";
default:
return @"Unknown";
}
}
@end
\ No newline at end of file
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
BOOL b_nib_tracksynchro_loaded; BOOL b_nib_tracksynchro_loaded;
BOOL b_nib_bookmarks_loaded; BOOL b_nib_bookmarks_loaded;
BOOL b_nib_convertandsave_loaded; BOOL b_nib_convertandsave_loaded;
BOOL b_nib_addonmanager_loaded;
id o_about; /* VLAboutBox */ id o_about; /* VLAboutBox */
id o_videoeffects; /* VLCVideoEffects */ id o_videoeffects; /* VLCVideoEffects */
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
id o_trackSynchronization; /* VLCTrackSynchronization */ id o_trackSynchronization; /* VLCTrackSynchronization */
id o_bookmarks; /* VLCBookmarks */ id o_bookmarks; /* VLCBookmarks */
id o_convertandsave; /* VLCConvertAndSave */ id o_convertandsave; /* VLCConvertAndSave */
id o_addonManager; /* VLCAddonManager */
id o_extMgr; /* Extensions Manager */ id o_extMgr; /* Extensions Manager */
...@@ -52,6 +54,7 @@ ...@@ -52,6 +54,7 @@
IBOutlet NSMenuItem * o_mi_checkForUpdate; IBOutlet NSMenuItem * o_mi_checkForUpdate;
IBOutlet NSMenuItem * o_mi_extensions; IBOutlet NSMenuItem * o_mi_extensions;
IBOutlet NSMenu * o_mu_extensions; IBOutlet NSMenu * o_mu_extensions;
IBOutlet NSMenuItem * o_mi_addonManager;
IBOutlet NSMenuItem * o_mi_add_intf; IBOutlet NSMenuItem * o_mi_add_intf;
IBOutlet NSMenu * o_mu_add_intf; IBOutlet NSMenu * o_mu_add_intf;
IBOutlet NSMenuItem * o_mi_services; IBOutlet NSMenuItem * o_mi_services;
...@@ -237,6 +240,8 @@ ...@@ -237,6 +240,8 @@
- (void)setupExtensionsMenu; - (void)setupExtensionsMenu;
- (void)updateSidebarMenuItem; - (void)updateSidebarMenuItem;
- (IBAction)openAddonManager:(id)sender;
- (IBAction)intfOpenFile:(id)sender; - (IBAction)intfOpenFile:(id)sender;
- (IBAction)intfOpenFileGeneric:(id)sender; - (IBAction)intfOpenFileGeneric:(id)sender;
- (IBAction)intfOpenDisc:(id)sender; - (IBAction)intfOpenDisc:(id)sender;
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
#import "ExtensionsManager.h" #import "ExtensionsManager.h"
#import "ConvertAndSave.h" #import "ConvertAndSave.h"
#import "DebugMessageVisualizer.h" #import "DebugMessageVisualizer.h"
#import "AddonManager.h"
@implementation VLCMainMenu @implementation VLCMainMenu
static VLCMainMenu *_o_sharedInstance = nil; static VLCMainMenu *_o_sharedInstance = nil;
...@@ -312,6 +313,7 @@ static VLCMainMenu *_o_sharedInstance = nil; ...@@ -312,6 +313,7 @@ static VLCMainMenu *_o_sharedInstance = nil;
[o_mi_prefs setTitle: _NS("Preferences...")]; [o_mi_prefs setTitle: _NS("Preferences...")];
[o_mi_extensions setTitle: _NS("Extensions")]; [o_mi_extensions setTitle: _NS("Extensions")];
[o_mu_extensions setTitle: _NS("Extensions")]; [o_mu_extensions setTitle: _NS("Extensions")];
[o_mi_addonManager setTitle: _NS("Addon Manager")];
[o_mi_add_intf setTitle: _NS("Add Interface")]; [o_mi_add_intf setTitle: _NS("Add Interface")];
[o_mu_add_intf setTitle: _NS("Add Interface")]; [o_mu_add_intf setTitle: _NS("Add Interface")];
[o_mi_services setTitle: _NS("Services")]; [o_mi_services setTitle: _NS("Services")];
...@@ -1126,6 +1128,17 @@ static VLCMainMenu *_o_sharedInstance = nil; ...@@ -1126,6 +1128,17 @@ static VLCMainMenu *_o_sharedInstance = nil;
[[[VLCMain sharedInstance] simplePreferences] showSimplePrefsWithLevel:i_level]; [[[VLCMain sharedInstance] simplePreferences] showSimplePrefsWithLevel:i_level];
} }
- (IBAction)openAddonManager:(id)sender
{
if (!o_addonManager)
o_addonManager = [[VLCAddonManager alloc] init];
if (!b_nib_addonmanager_loaded)
b_nib_addonmanager_loaded = [NSBundle loadNibNamed:@"AddonManager" owner:NSApp];
[o_addonManager showWindow];
}
- (IBAction)showMessagesPanel:(id)showMessagesPanel - (IBAction)showMessagesPanel:(id)showMessagesPanel
{ {
[[VLCDebugMessageVisualizer sharedInstance] showPanel]; [[VLCDebugMessageVisualizer sharedInstance] showPanel];
......
...@@ -20,6 +20,8 @@ SOURCES_macosx = \ ...@@ -20,6 +20,8 @@ SOURCES_macosx = \
ExtensionsManager.m \ ExtensionsManager.m \
ExtensionsDialogProvider.h \ ExtensionsDialogProvider.h \
ExtensionsDialogProvider.m \ ExtensionsDialogProvider.m \
AddonManager.h \
AddonManager.m \
VLCUIWidgets.h \ VLCUIWidgets.h \
VLCUIWidgets.m \ VLCUIWidgets.m \
about.h \ about.h \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment