mirror of
https://github.com/zakk4223/CocoaSplit.git
synced 2026-05-21 06:46:14 -06:00
Added support for non-h264 compressors. First addition: Apple ProRes.
Some rearrangement internally of configuration interfaces, compressor classes and how libavformat muxers are created. Quicktime MOV muxing may still have some quirks...
This commit is contained in:
parent
4952335ece
commit
71410c620a
49 changed files with 1205 additions and 740 deletions
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -48,6 +48,13 @@
|
|||
34348C2A19BDBDC000A122C2 /* PluginManagerWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34348C2819BDBDC000A122C2 /* PluginManagerWindowController.m */; };
|
||||
34348C2B19BDBDC000A122C2 /* PluginManagerWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34348C2919BDBDC000A122C2 /* PluginManagerWindowController.xib */; };
|
||||
34348C3919BDC0D800A122C2 /* PluginManagerWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34348C2819BDBDC000A122C2 /* PluginManagerWindowController.m */; };
|
||||
3434CB281CA8615A001B3DF9 /* AppleProResCompressor.m in Sources */ = {isa = PBXBuildFile; fileRef = 3434CB271CA8615A001B3DF9 /* AppleProResCompressor.m */; };
|
||||
3434CB2D1CA90D28001B3DF9 /* CSx264CompressorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3434CB2B1CA90D28001B3DF9 /* CSx264CompressorViewController.m */; };
|
||||
3434CB2E1CA90D28001B3DF9 /* CSx264CompressorViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3434CB2C1CA90D28001B3DF9 /* CSx264CompressorViewController.xib */; };
|
||||
3434CB321CA91D99001B3DF9 /* CSAppleH264CompressorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3434CB301CA91D99001B3DF9 /* CSAppleH264CompressorViewController.m */; };
|
||||
3434CB331CA91D99001B3DF9 /* CSAppleH264CompressorViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3434CB311CA91D99001B3DF9 /* CSAppleH264CompressorViewController.xib */; };
|
||||
3434CB381CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3434CB361CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.m */; };
|
||||
3434CB391CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3434CB371CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.xib */; };
|
||||
3435E396188B902C0015CC01 /* 420v.fgsh in Resources */ = {isa = PBXBuildFile; fileRef = 3435E395188B902C0015CC01 /* 420v.fgsh */; };
|
||||
3435E39B188B93150015CC01 /* passthrough.vtsh in Resources */ = {isa = PBXBuildFile; fileRef = 3435E39A188B93150015CC01 /* passthrough.vtsh */; };
|
||||
3435E39D188BD8250015CC01 /* passthrough.fgsh in CopyFiles */ = {isa = PBXBuildFile; fileRef = 3435E399188B90900015CC01 /* passthrough.fgsh */; };
|
||||
|
|
@ -620,6 +627,18 @@
|
|||
34348C2719BDBDC000A122C2 /* PluginManagerWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginManagerWindowController.h; sourceTree = "<group>"; };
|
||||
34348C2819BDBDC000A122C2 /* PluginManagerWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PluginManagerWindowController.m; sourceTree = "<group>"; };
|
||||
34348C2919BDBDC000A122C2 /* PluginManagerWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PluginManagerWindowController.xib; path = Interface/PluginManagerWindowController.xib; sourceTree = "<group>"; };
|
||||
3434CB261CA8615A001B3DF9 /* AppleProResCompressor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppleProResCompressor.h; path = Compressor/AppleProResCompressor.h; sourceTree = "<group>"; };
|
||||
3434CB271CA8615A001B3DF9 /* AppleProResCompressor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppleProResCompressor.m; path = Compressor/AppleProResCompressor.m; sourceTree = "<group>"; };
|
||||
3434CB2A1CA90D28001B3DF9 /* CSx264CompressorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CSx264CompressorViewController.h; path = Interface/CSx264CompressorViewController.h; sourceTree = "<group>"; };
|
||||
3434CB2B1CA90D28001B3DF9 /* CSx264CompressorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CSx264CompressorViewController.m; path = Interface/CSx264CompressorViewController.m; sourceTree = "<group>"; };
|
||||
3434CB2C1CA90D28001B3DF9 /* CSx264CompressorViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CSx264CompressorViewController.xib; path = Interface/CSx264CompressorViewController.xib; sourceTree = "<group>"; };
|
||||
3434CB2F1CA91D99001B3DF9 /* CSAppleH264CompressorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CSAppleH264CompressorViewController.h; path = Interface/CSAppleH264CompressorViewController.h; sourceTree = "<group>"; };
|
||||
3434CB301CA91D99001B3DF9 /* CSAppleH264CompressorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CSAppleH264CompressorViewController.m; path = Interface/CSAppleH264CompressorViewController.m; sourceTree = "<group>"; };
|
||||
3434CB311CA91D99001B3DF9 /* CSAppleH264CompressorViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CSAppleH264CompressorViewController.xib; path = Interface/CSAppleH264CompressorViewController.xib; sourceTree = "<group>"; };
|
||||
3434CB341CA933B3001B3DF9 /* CSCompressorViewControllerProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CSCompressorViewControllerProtocol.h; path = Interface/CSCompressorViewControllerProtocol.h; sourceTree = "<group>"; };
|
||||
3434CB351CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CSAppleProResCompressorViewController.h; path = Interface/CSAppleProResCompressorViewController.h; sourceTree = "<group>"; };
|
||||
3434CB361CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CSAppleProResCompressorViewController.m; path = Interface/CSAppleProResCompressorViewController.m; sourceTree = "<group>"; };
|
||||
3434CB371CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CSAppleProResCompressorViewController.xib; path = Interface/CSAppleProResCompressorViewController.xib; sourceTree = "<group>"; };
|
||||
3435E395188B902C0015CC01 /* 420v.fgsh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = 420v.fgsh; path = Shaders/420v.fgsh; sourceTree = "<group>"; };
|
||||
3435E399188B90900015CC01 /* passthrough.fgsh */ = {isa = PBXFileReference; lastKnownFileType = text; name = passthrough.fgsh; path = Shaders/passthrough.fgsh; sourceTree = "<group>"; };
|
||||
3435E39A188B93150015CC01 /* passthrough.vtsh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = passthrough.vtsh; path = Shaders/passthrough.vtsh; sourceTree = "<group>"; };
|
||||
|
|
@ -914,7 +933,7 @@
|
|||
34F5140F16FD6E4F00BA894D /* x264Compressor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = x264Compressor.m; path = Compressor/x264Compressor.m; sourceTree = "<group>"; };
|
||||
34F5141016FD6E4F00BA894D /* AppleVTCompressor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppleVTCompressor.h; path = Compressor/AppleVTCompressor.h; sourceTree = "<group>"; };
|
||||
34F5141116FD6E4F00BA894D /* AppleVTCompressor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppleVTCompressor.m; path = Compressor/AppleVTCompressor.m; sourceTree = "<group>"; };
|
||||
34F5141416FD6E5D00BA894D /* h264Compressor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = h264Compressor.h; path = Compressor/h264Compressor.h; sourceTree = "<group>"; };
|
||||
34F5141416FD6E5D00BA894D /* VideoCompressor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VideoCompressor.h; path = Compressor/VideoCompressor.h; sourceTree = "<group>"; };
|
||||
34F52A241BC1CE2700662911 /* CSLayoutCollectionItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CSLayoutCollectionItem.h; path = Interface/CSLayoutCollectionItem.h; sourceTree = "<group>"; };
|
||||
34F52A251BC1CE2700662911 /* CSLayoutCollectionItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CSLayoutCollectionItem.m; path = Interface/CSLayoutCollectionItem.m; sourceTree = "<group>"; };
|
||||
34F52A261BC1CE2700662911 /* CSLayoutCollectionItem.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CSLayoutCollectionItem.xib; path = Interface/CSLayoutCollectionItem.xib; sourceTree = "<group>"; };
|
||||
|
|
@ -1179,6 +1198,23 @@
|
|||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3434CB291CA90C3D001B3DF9 /* Compressor */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3434CB2A1CA90D28001B3DF9 /* CSx264CompressorViewController.h */,
|
||||
3434CB2B1CA90D28001B3DF9 /* CSx264CompressorViewController.m */,
|
||||
3434CB2C1CA90D28001B3DF9 /* CSx264CompressorViewController.xib */,
|
||||
3434CB2F1CA91D99001B3DF9 /* CSAppleH264CompressorViewController.h */,
|
||||
3434CB301CA91D99001B3DF9 /* CSAppleH264CompressorViewController.m */,
|
||||
3434CB311CA91D99001B3DF9 /* CSAppleH264CompressorViewController.xib */,
|
||||
3434CB341CA933B3001B3DF9 /* CSCompressorViewControllerProtocol.h */,
|
||||
3434CB351CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.h */,
|
||||
3434CB361CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.m */,
|
||||
3434CB371CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.xib */,
|
||||
);
|
||||
name = Compressor;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3435E398188B90610015CC01 /* Shaders */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -1202,13 +1238,15 @@
|
|||
3441338C18667F280059B686 /* Compressor */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
34F5141416FD6E5D00BA894D /* h264Compressor.h */,
|
||||
34F5141416FD6E5D00BA894D /* VideoCompressor.h */,
|
||||
34F5140E16FD6E4F00BA894D /* x264Compressor.h */,
|
||||
34F5140F16FD6E4F00BA894D /* x264Compressor.m */,
|
||||
34213E18196680880054E238 /* CompressorBase.h */,
|
||||
34213E19196680880054E238 /* CompressorBase.m */,
|
||||
34F5141016FD6E4F00BA894D /* AppleVTCompressor.h */,
|
||||
34F5141116FD6E4F00BA894D /* AppleVTCompressor.m */,
|
||||
3434CB261CA8615A001B3DF9 /* AppleProResCompressor.h */,
|
||||
3434CB271CA8615A001B3DF9 /* AppleProResCompressor.m */,
|
||||
);
|
||||
name = Compressor;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -1225,6 +1263,7 @@
|
|||
3441338E18667FE40059B686 /* Interface */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3434CB291CA90C3D001B3DF9 /* Compressor */,
|
||||
34ABEF3B17C0C2CB00AA5E62 /* advancedPrefPanel.xib */,
|
||||
344825E41B253D6900AF9EAC /* CAMultiAudioMatrixCell.h */,
|
||||
344825E51B253D6900AF9EAC /* CAMultiAudioMatrixCell.m */,
|
||||
|
|
@ -2072,14 +2111,17 @@
|
|||
34F1EB931BCCA41F00B38E6C /* CSLayoutEditWindowController.xib in Resources */,
|
||||
342B33B61980771200492CB7 /* line.vtsh in Resources */,
|
||||
34938EEF1AE4D24200F3B1CF /* CSFilterChooserWindowController.xib in Resources */,
|
||||
3434CB2E1CA90D28001B3DF9 /* CSx264CompressorViewController.xib in Resources */,
|
||||
3435E39B188B93150015CC01 /* passthrough.vtsh in Resources */,
|
||||
34B5FCE119BF1C3F00F67D19 /* CreateLayoutViewController.xib in Resources */,
|
||||
3479A9971A9007DD00A524F0 /* CocoaSplit.sdef in Resources */,
|
||||
340D8C971959C7C100BE5144 /* CompressionSettingsPanel.xib in Resources */,
|
||||
3434CB331CA91D99001B3DF9 /* CSAppleH264CompressorViewController.xib in Resources */,
|
||||
344988131893CF0500044259 /* LogWindow.xib in Resources */,
|
||||
34D696FC1871B8F700B50EB6 /* Defaults.plist in Resources */,
|
||||
34348C2B19BDBDC000A122C2 /* PluginManagerWindowController.xib in Resources */,
|
||||
34ABEF3C17C0C2CB00AA5E62 /* advancedPrefPanel.xib in Resources */,
|
||||
3434CB391CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.xib in Resources */,
|
||||
3435E396188B902C0015CC01 /* 420v.fgsh in Resources */,
|
||||
343ED9421BCAC1C80061FC4B /* EditBuiltinLayoutView.xib in Resources */,
|
||||
3415CED31AE257DA002F11F5 /* CSTextCaptureBaseView.xib in Resources */,
|
||||
|
|
@ -2149,6 +2191,8 @@
|
|||
34ED8C9D1B07371C002C0674 /* MIKMIDIProgramChangeCommand.m in Sources */,
|
||||
34ED8C731B07371C002C0674 /* MIKMIDIMappingXMLParser.m in Sources */,
|
||||
34BD1E631B2481C20015CBEC /* CAMultiAudioMatrixMixerWindowController.m in Sources */,
|
||||
3434CB381CA93BCD001B3DF9 /* CSAppleProResCompressorViewController.m in Sources */,
|
||||
3434CB321CA91D99001B3DF9 /* CSAppleH264CompressorViewController.m in Sources */,
|
||||
34F52A271BC1CE2700662911 /* CSLayoutCollectionItem.m in Sources */,
|
||||
347277FD1A5A2758008801A9 /* CSIOSurfaceLayer.m in Sources */,
|
||||
344825E61B253D6900AF9EAC /* CAMultiAudioMatrixCell.m in Sources */,
|
||||
|
|
@ -2165,6 +2209,7 @@
|
|||
34ED8CBC1B07763F002C0674 /* CSMidiWrapper.m in Sources */,
|
||||
34DA1D3E1BF823E700132486 /* CSNewOutputWindowController.m in Sources */,
|
||||
34ED8C691B07371C002C0674 /* MIKMIDIInputPort.m in Sources */,
|
||||
3434CB281CA8615A001B3DF9 /* AppleProResCompressor.m in Sources */,
|
||||
34ED8C531B07371C002C0674 /* MIKMIDICommandThrottler.m in Sources */,
|
||||
345F8B611A161552009A81E3 /* CAMultiAudioAVCapturePlayer.m in Sources */,
|
||||
34ED8CAD1B07371C002C0674 /* MIKMIDIUtilities.m in Sources */,
|
||||
|
|
@ -2210,6 +2255,7 @@
|
|||
3498D94F1A9472BD00906532 /* CSAudioSwitchControl.m in Sources */,
|
||||
3400A0621BD44DF0003E1828 /* CSInputLibraryItem.m in Sources */,
|
||||
34ED8C831B07371C002C0674 /* MIKMIDIMetaSequenceEvent.m in Sources */,
|
||||
3434CB2D1CA90D28001B3DF9 /* CSx264CompressorViewController.m in Sources */,
|
||||
34ED8C6D1B07371C002C0674 /* MIKMIDIMapping.m in Sources */,
|
||||
34F1EB921BCCA41F00B38E6C /* CSLayoutEditWindowController.m in Sources */,
|
||||
34ED8CA31B07371C002C0674 /* MIKMIDISourceEndpoint.m in Sources */,
|
||||
|
|
|
|||
|
|
@ -32,10 +32,11 @@
|
|||
#import "CSInputLibraryItem.h"
|
||||
#import "CSNewOutputWindowController.h"
|
||||
#import "CompressionSettingsPanelController.h"
|
||||
#import "AppleProResCompressor.h"
|
||||
|
||||
|
||||
@class FFMpegTask;
|
||||
@protocol h264Compressor;
|
||||
@protocol VideoCompressor;
|
||||
@class OutputDestination;
|
||||
@class InputSource;
|
||||
@class SourceLayout;
|
||||
|
|
|
|||
|
|
@ -1130,14 +1130,14 @@
|
|||
-(void) migrateDefaultCompressor:(NSMutableDictionary *)saveRoot
|
||||
{
|
||||
|
||||
if (self.compressors[@"x264"] && self.compressors[@"AppleVT"])
|
||||
if (self.compressors[@"x264"] && self.compressors[@"AppleVT"] && self.compressors[@"AppleProRes"])
|
||||
{
|
||||
//We already migrated, or the user did it for us?
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
id <h264Compressor> defaultCompressor = self.compressors[@"default"];
|
||||
id <VideoCompressor> defaultCompressor = self.compressors[@"default"];
|
||||
if (defaultCompressor)
|
||||
{
|
||||
[self.compressors removeObjectForKey:@"default"];
|
||||
|
|
@ -1174,6 +1174,16 @@
|
|||
self.compressors[@"AppleVT"] = newCompressor;
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:CSNotificationCompressorAdded object:newCompressor];
|
||||
}
|
||||
|
||||
if (!self.compressors[@"AppleProRes"])
|
||||
{
|
||||
AppleProResCompressor *newCompressor = [[AppleProResCompressor alloc] init];
|
||||
newCompressor.name = @"AppleProRes".mutableCopy;
|
||||
self.compressors[@"AppleProRes"] = newCompressor;
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:CSNotificationCompressorAdded object:newCompressor];
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1599,7 +1609,7 @@
|
|||
|
||||
for (id cKey in self.compressors)
|
||||
{
|
||||
id <h264Compressor> tmpcomp = self.compressors[cKey];
|
||||
id <VideoCompressor> tmpcomp = self.compressors[cKey];
|
||||
tmpcomp.settingsController = self;
|
||||
}
|
||||
|
||||
|
|
@ -1698,7 +1708,7 @@
|
|||
|
||||
for (id cKey in self.compressors)
|
||||
{
|
||||
id <h264Compressor> ctmp = self.compressors[cKey];
|
||||
id <VideoCompressor> ctmp = self.compressors[cKey];
|
||||
if (ctmp)
|
||||
{
|
||||
[ctmp reset];
|
||||
|
|
@ -1796,7 +1806,7 @@
|
|||
for(id cKey in self.compressors)
|
||||
{
|
||||
|
||||
id <h264Compressor> compressor;
|
||||
id <VideoCompressor> compressor;
|
||||
compressor = self.compressors[cKey];
|
||||
[compressor addAudioData:sampleBuffer];
|
||||
|
||||
|
|
@ -2191,7 +2201,7 @@
|
|||
newFrameData.frameTime = _frame_time;
|
||||
newFrameData.videoFrame = videoFrame;
|
||||
|
||||
id <h264Compressor> compressor;
|
||||
id <VideoCompressor> compressor;
|
||||
compressor = self.compressors[cKey];
|
||||
[compressor compressFrame:newFrameData];
|
||||
|
||||
|
|
|
|||
33
CocoaSplit/Compressor/AppleProResCompressor.h
Normal file
33
CocoaSplit/Compressor/AppleProResCompressor.h
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
//
|
||||
// AppleProResCompressor.h
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 3/27/16.
|
||||
// Copyright © 2016 Zakk. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "CaptureController.h"
|
||||
#import "CompressorBase.h"
|
||||
|
||||
#import <VideoToolbox/VideoToolbox.h>
|
||||
#import <VideoToolbox/VTVideoEncoderList.h>
|
||||
|
||||
@interface AppleProResCompressor : CompressorBase <VideoCompressor, NSCoding>
|
||||
{
|
||||
|
||||
VTCompressionSessionRef _compression_session;
|
||||
VTPixelTransferSessionRef _vtpt_ref;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//@property (strong) id<ControllerProtocol> settingsController;
|
||||
//@property (strong) id<ControllerProtocol> outputDelegate;
|
||||
|
||||
@property (strong) NSNumber *proResType;
|
||||
|
||||
|
||||
-(bool)compressFrame:(CapturedFrameData *)frameData;
|
||||
|
||||
@end
|
||||
315
CocoaSplit/Compressor/AppleProResCompressor.m
Normal file
315
CocoaSplit/Compressor/AppleProResCompressor.m
Normal file
|
|
@ -0,0 +1,315 @@
|
|||
//
|
||||
// AppleProResCompressor.m
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 3/27/16.
|
||||
// Copyright © 2016 Zakk. All rights reserved.
|
||||
//
|
||||
|
||||
#import "AppleProResCompressor.h"
|
||||
#import "OutputDestination.h"
|
||||
#import "CSAppleProResCompressorViewController.h"
|
||||
|
||||
@implementation AppleProResCompressor
|
||||
|
||||
- (id)copyWithZone:(NSZone *)zone
|
||||
{
|
||||
AppleProResCompressor *copy = [[[self class] allocWithZone:zone] init];
|
||||
|
||||
copy.settingsController = self.settingsController;
|
||||
|
||||
copy.isNew = self.isNew;
|
||||
|
||||
copy.name = self.name;
|
||||
|
||||
copy.compressorType = self.compressorType;
|
||||
|
||||
copy.width = self.width;
|
||||
copy.height = self.height;
|
||||
copy.working_width = self.width;
|
||||
copy.working_height = self.height;
|
||||
|
||||
copy.resolutionOption = self.resolutionOption;
|
||||
|
||||
copy.proResType = self.proResType;
|
||||
|
||||
return copy;
|
||||
}
|
||||
|
||||
|
||||
-(void) encodeWithCoder:(NSCoder *)aCoder
|
||||
{
|
||||
|
||||
|
||||
[aCoder encodeObject:self.name forKey:@"name"];
|
||||
[aCoder encodeInteger:self.width forKey:@"videoWidth"];
|
||||
[aCoder encodeInteger:self.height forKey:@"videoHeight"];
|
||||
|
||||
[aCoder encodeObject:self.resolutionOption forKey:@"resolutionOption"];
|
||||
[aCoder encodeObject:self.proResType forKey:@"proResType"];
|
||||
|
||||
}
|
||||
|
||||
-(id) initWithCoder:(NSCoder *)aDecoder
|
||||
{
|
||||
if (self = [self init])
|
||||
{
|
||||
self.name = [aDecoder decodeObjectForKey:@"name"];
|
||||
self.width = (int)[aDecoder decodeIntegerForKey:@"videoWidth"];
|
||||
self.height = (int)[aDecoder decodeIntegerForKey:@"videoHeight"];
|
||||
if ([aDecoder containsValueForKey:@"resolutionOption"])
|
||||
{
|
||||
self.resolutionOption = [aDecoder decodeObjectForKey:@"resolutionOption"];
|
||||
}
|
||||
|
||||
self.proResType = [aDecoder decodeObjectForKey:@"proResType"];
|
||||
|
||||
if (!self.proResType)
|
||||
{
|
||||
self.proResType = @(kCMVideoCodecType_AppleProRes422);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
-(id)init
|
||||
{
|
||||
if (self = [super init])
|
||||
{
|
||||
|
||||
|
||||
|
||||
self.compressorType = @"AppleProResCompressor";
|
||||
self.codec_id = AV_CODEC_ID_PRORES;
|
||||
self.proResType = @(kCMVideoCodecType_AppleProRes422);
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
-(void) reset
|
||||
{
|
||||
|
||||
|
||||
self.errored = NO;
|
||||
VTCompressionSessionInvalidate(_compression_session);
|
||||
if (_compression_session)
|
||||
{
|
||||
CFRelease(_compression_session);
|
||||
}
|
||||
|
||||
_compression_session = nil;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
[self reset];
|
||||
}
|
||||
|
||||
|
||||
|
||||
-(NSString *)description
|
||||
{
|
||||
|
||||
return @"Apple ProRes Compressor";
|
||||
|
||||
}
|
||||
|
||||
|
||||
void __ProResPixelBufferRelease( void *releaseRefCon, const void *baseAddress )
|
||||
{
|
||||
free((int *)baseAddress);
|
||||
}
|
||||
|
||||
|
||||
|
||||
-(bool)compressFrame:(CapturedFrameData *)frameData
|
||||
{
|
||||
|
||||
|
||||
if (![self hasOutputs])
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
if (!_compression_session)
|
||||
{
|
||||
|
||||
if (![self setupCompressor:frameData.videoFrame])
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
return NO;
|
||||
}
|
||||
|
||||
|
||||
|
||||
CFMutableDictionaryRef frameProperties;
|
||||
|
||||
/*
|
||||
if (isKeyFrame)
|
||||
{
|
||||
|
||||
frameProperties = CFDictionaryCreateMutable(NULL, 0, &kCFCopyStringDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
|
||||
CFDictionaryAddValue(frameProperties, kVTEncodeFrameOptionKey_ForceKeyFrame, kCFBooleanTrue);
|
||||
} else {
|
||||
*/
|
||||
frameProperties = NULL;
|
||||
//}
|
||||
|
||||
if (!_vtpt_ref)
|
||||
{
|
||||
VTPixelTransferSessionCreate(kCFAllocatorDefault, &_vtpt_ref);
|
||||
VTSessionSetProperty(_vtpt_ref, kVTPixelTransferPropertyKey_ScalingMode, kVTScalingMode_Letterbox);
|
||||
}
|
||||
CVPixelBufferRef converted_frame;
|
||||
|
||||
CVImageBufferRef imageBuffer = frameData.videoFrame;
|
||||
CVPixelBufferRetain(imageBuffer);
|
||||
|
||||
CVPixelBufferCreate(kCFAllocatorDefault, self.working_width, self.working_height, kCVPixelFormatType_420YpCbCr8Planar, 0, &converted_frame);
|
||||
|
||||
VTPixelTransferSessionTransferImage(_vtpt_ref, imageBuffer, converted_frame);
|
||||
|
||||
//set it to nil since this is our private copy and this will force the frameData instance to release the video data
|
||||
|
||||
frameData.videoFrame = nil;
|
||||
frameData.encoderData = converted_frame;
|
||||
|
||||
|
||||
CVPixelBufferRelease(imageBuffer);
|
||||
|
||||
[self setAudioData:frameData syncObj:self];
|
||||
|
||||
VTCompressionSessionEncodeFrame(_compression_session, converted_frame, frameData.videoPTS, frameData.videoDuration, frameProperties, (__bridge_retained void *)(frameData), NULL);
|
||||
|
||||
if (frameProperties)
|
||||
{
|
||||
CFRelease(frameProperties);
|
||||
}
|
||||
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
- (bool)setupCompressor:(CVPixelBufferRef)videoFrame
|
||||
{
|
||||
OSStatus status;
|
||||
|
||||
if (!self.settingsController)
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
[self setupResolution:videoFrame];
|
||||
|
||||
if (!self.working_height || !self.working_width)
|
||||
{
|
||||
self.errored = YES;
|
||||
return NO;
|
||||
}
|
||||
|
||||
NSDictionary *encoderSpec = @{
|
||||
};
|
||||
|
||||
_compression_session = NULL;
|
||||
NSLog(@"PRORES TYPE %@", self.proResType);
|
||||
|
||||
status = VTCompressionSessionCreate(NULL, self.working_width, self.working_height, self.proResType.intValue, (__bridge CFDictionaryRef)encoderSpec, NULL, NULL, __ProResVideoCompressorReceiveFrame, (__bridge void *)self, &_compression_session);
|
||||
|
||||
//CFDictionaryRef props;
|
||||
//VTCompressionSessionCopySupportedPropertyDictionary(_compression_session, &props);
|
||||
|
||||
if (status != noErr || !_compression_session)
|
||||
{
|
||||
NSLog(@"COMPRESSOR SETUP ERROR");
|
||||
self.errored = YES;
|
||||
return NO;
|
||||
}
|
||||
|
||||
_audioBuffer = [[NSMutableArray alloc] init];
|
||||
return YES;
|
||||
|
||||
}
|
||||
|
||||
|
||||
void __ProResVideoCompressorReceiveFrame(void *VTref, void *VTFrameRef, OSStatus status, VTEncodeInfoFlags infoFlags, CMSampleBufferRef sampleBuffer)
|
||||
{
|
||||
|
||||
/*
|
||||
if (VTFrameRef)
|
||||
{
|
||||
CVPixelBufferRelease(VTFrameRef);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
//@autoreleasepool {
|
||||
|
||||
|
||||
|
||||
if(!sampleBuffer)
|
||||
return;
|
||||
|
||||
|
||||
|
||||
CFRetain(sampleBuffer);
|
||||
|
||||
CapturedFrameData *frameData;
|
||||
|
||||
|
||||
frameData = (__bridge_transfer CapturedFrameData *)(VTFrameRef);
|
||||
|
||||
|
||||
if (!frameData)
|
||||
{
|
||||
//What?
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
CVPixelBufferRelease(frameData.encoderData);
|
||||
|
||||
|
||||
//frameData.videoFrame = nil;
|
||||
frameData.encodedSampleBuffer = sampleBuffer;
|
||||
|
||||
|
||||
AppleVTCompressor *selfobj = (__bridge AppleVTCompressor *)VTref;
|
||||
|
||||
|
||||
|
||||
|
||||
for (id dKey in selfobj.outputs)
|
||||
{
|
||||
|
||||
OutputDestination *dest = selfobj.outputs[dKey];
|
||||
|
||||
[dest writeEncodedData:frameData];
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
CFRelease(sampleBuffer);
|
||||
//}
|
||||
}
|
||||
|
||||
-(id <CSCompressorViewControllerProtocol>)getConfigurationView
|
||||
{
|
||||
return [[CSAppleProResCompressorViewController alloc] init];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
#import <VideoToolbox/VideoToolbox.h>
|
||||
#import <VideoToolbox/VTVideoEncoderList.h>
|
||||
|
||||
@interface AppleVTCompressor : CompressorBase <h264Compressor, NSCoding>
|
||||
@interface AppleVTCompressor : CompressorBase <VideoCompressor, NSCoding>
|
||||
{
|
||||
|
||||
VTCompressionSessionRef _compression_session;
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#import "AppleVTCompressor.h"
|
||||
#import "OutputDestination.h"
|
||||
#import "CSAppleH264CompressorViewController.h"
|
||||
|
||||
OSStatus VTCompressionSessionCopySupportedPropertyDictionary(VTCompressionSessionRef, CFDictionaryRef *);
|
||||
|
||||
|
|
@ -443,5 +444,10 @@ void VideoCompressorReceiveFrame(void *VTref, void *VTFrameRef, OSStatus status,
|
|||
//}
|
||||
}
|
||||
|
||||
-(id <CSCompressorViewControllerProtocol>)getConfigurationView
|
||||
{
|
||||
return [[CSAppleH264CompressorViewController alloc] init];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -7,12 +7,13 @@
|
|||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "h264Compressor.h"
|
||||
#import "VideoCompressor.h"
|
||||
#import "CSCompressorViewControllerProtocol.h"
|
||||
|
||||
|
||||
@class captureController;
|
||||
|
||||
@interface CompressorBase : NSObject <h264Compressor, NSCoding>
|
||||
@interface CompressorBase : NSObject <VideoCompressor, NSCoding>
|
||||
{
|
||||
NSMutableArray *_audioBuffer;
|
||||
}
|
||||
|
|
@ -38,6 +39,7 @@
|
|||
@property (strong) NSMutableString *name;
|
||||
@property (assign) bool errored;
|
||||
@property (assign) bool active;
|
||||
@property (assign) enum AVCodecID codec_id;
|
||||
|
||||
|
||||
|
||||
|
|
@ -46,6 +48,7 @@
|
|||
-(BOOL) setupResolution:(CVImageBufferRef)withFrame;
|
||||
-(void) addAudioData:(CMSampleBufferRef)audioData;
|
||||
-(void) setAudioData:(CapturedFrameData *)forFrame syncObj:(id)syncObj;
|
||||
-(id <CSCompressorViewControllerProtocol>)getConfigurationView;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@
|
|||
|
||||
self.resolutionOption = @"Use Source";
|
||||
|
||||
self.codec_id = AV_CODEC_ID_H264;
|
||||
|
||||
self.outputs = [[NSMutableDictionary alloc] init];
|
||||
_audioBuffer = [[NSMutableArray alloc] init];
|
||||
|
||||
|
|
@ -132,11 +134,13 @@
|
|||
|
||||
-(id) initWithCoder:(NSCoder *)aDecoder
|
||||
{
|
||||
self.codec_id = AV_CODEC_ID_H264;
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
-(bool) compressFrame:(CapturedFrameData *)imageBuffer
|
||||
{
|
||||
return YES;
|
||||
|
|
@ -217,6 +221,10 @@
|
|||
|
||||
return YES;
|
||||
}
|
||||
-(id <CSCompressorViewControllerProtocol>)getConfigurationView
|
||||
{
|
||||
return nil;
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// h264Compressor.h
|
||||
// VideoCompressor.h
|
||||
// streamOutput
|
||||
//
|
||||
// Created by Zakk on 3/17/13.
|
||||
|
|
@ -9,6 +9,8 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
#import <CoreMedia/CoreMedia.h>
|
||||
#import "CapturedFrameData.h"
|
||||
#import "libavformat/avformat.h"
|
||||
#import "CSCompressorViewControllerProtocol.h"
|
||||
|
||||
//#import "OutputDestination.h"
|
||||
|
||||
|
|
@ -18,7 +20,7 @@
|
|||
@protocol ControllerProtocol;
|
||||
|
||||
|
||||
@protocol h264Compressor <NSObject,NSCoding,NSCopying>
|
||||
@protocol VideoCompressor <NSObject,NSCoding,NSCopying>
|
||||
|
||||
//compressFrame is expected to be non-blocking. Create a serial dispatch queue if the underlying compressor
|
||||
//is blocking
|
||||
|
|
@ -40,6 +42,7 @@
|
|||
@property (strong) NSString *resolutionOption;
|
||||
@property (assign) bool errored;
|
||||
@property (assign) bool active;
|
||||
@property (assign) enum AVCodecID codec_id;
|
||||
|
||||
-(void) addOutput:(id)destination;
|
||||
-(void) removeOutput:(id)destination;
|
||||
|
|
@ -47,6 +50,7 @@
|
|||
-(void) reset;
|
||||
-(bool) validate:(NSError **)therror;
|
||||
-(void) addAudioData:(CMSampleBufferRef)audioData;
|
||||
-(id <CSCompressorViewControllerProtocol>)getConfigurationView;
|
||||
|
||||
|
||||
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
#import "libavcodec/avcodec.h"
|
||||
#import "libswscale/swscale.h"
|
||||
#import <CoreVideo/CoreVideo.h>
|
||||
#import "h264Compressor.h"
|
||||
#import "VideoCompressor.h"
|
||||
#import "CaptureController.h"
|
||||
#import <VideoToolbox/VideoToolbox.h>
|
||||
#import "CapturedFrameData.h"
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
#import "x264Compressor.h"
|
||||
#import "OutputDestination.h"
|
||||
#import <libavutil/opt.h>
|
||||
#import "CSx264CompressorViewController.h"
|
||||
|
||||
|
||||
|
||||
|
|
@ -562,6 +563,10 @@
|
|||
[super setNilValueForKey:key];
|
||||
}
|
||||
|
||||
-(id <CSCompressorViewControllerProtocol>)getConfigurationView
|
||||
{
|
||||
return [[CSx264CompressorViewController alloc] init];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
#import "libavformat/avformat.h"
|
||||
#import "CapturedFrameData.h"
|
||||
#import <AppKit/AppKit.h>
|
||||
#import "h264Compressor.h"
|
||||
#import "VideoCompressor.h"
|
||||
#import "InputSource.h"
|
||||
|
||||
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
@property (assign) int maxOutputPending;
|
||||
@property (assign) int maxOutputDropped;
|
||||
@property (strong) id <h264Compressor> selectedCompressor;
|
||||
@property (strong) id <VideoCompressor> selectedCompressor;
|
||||
@property (strong) NSMutableDictionary *compressors;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@
|
|||
#import "libavformat/avformat.h"
|
||||
#import "CapturedFrameData.h"
|
||||
#import "CaptureController.h"
|
||||
#import "libavutil/opt.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -75,6 +77,8 @@
|
|||
@property (assign) double output_bitrate;
|
||||
@property (assign) int dropped_frame_count;
|
||||
@property (assign) BOOL errored;
|
||||
@property (assign) enum AVCodecID video_codec_id;
|
||||
|
||||
|
||||
|
||||
@property (strong) CaptureController *settingsController;
|
||||
|
|
|
|||
|
|
@ -278,6 +278,24 @@ void getAudioExtradata(char *cookie, char **buffer, size_t *size)
|
|||
}
|
||||
}
|
||||
|
||||
-(void) setVideoFormatOptions:(AVFormatContext *)ctx
|
||||
{
|
||||
|
||||
AVOutputFormat *ofmt = ctx->oformat;
|
||||
|
||||
if (!ofmt)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
const char *fmt_name = ofmt->name;
|
||||
|
||||
if (!strcasecmp(fmt_name, "mov"))
|
||||
{
|
||||
av_opt_set_int(ctx->priv_data, "frag_duration", 10000000, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-(bool) createAVFormatOut:(CMSampleBufferRef)theBuffer codec_ctx:(AVCodecContext *)codec_ctx
|
||||
{
|
||||
|
|
@ -299,7 +317,10 @@ void getAudioExtradata(char *cookie, char **buffer, size_t *size)
|
|||
}
|
||||
|
||||
|
||||
[self setVideoFormatOptions:_av_fmt_ctx];
|
||||
|
||||
av_out_fmt = _av_fmt_ctx->oformat;
|
||||
|
||||
_av_video_stream = avformat_new_stream(_av_fmt_ctx, 0);
|
||||
|
||||
if (!_av_video_stream)
|
||||
|
|
@ -312,7 +333,7 @@ void getAudioExtradata(char *cookie, char **buffer, size_t *size)
|
|||
AVCodecContext *c_ctx = _av_video_stream->codec;
|
||||
|
||||
c_ctx->codec_type = AVMEDIA_TYPE_VIDEO;
|
||||
c_ctx->codec_id = AV_CODEC_ID_H264;
|
||||
c_ctx->codec_id = self.video_codec_id;
|
||||
_av_video_stream->time_base.num = 1000000;
|
||||
_av_video_stream->time_base.den = self.framerate*1000000;
|
||||
|
||||
|
|
@ -332,8 +353,8 @@ void getAudioExtradata(char *cookie, char **buffer, size_t *size)
|
|||
a_ctx->codec_type = AVMEDIA_TYPE_AUDIO;
|
||||
a_ctx->codec_id = AV_CODEC_ID_AAC;
|
||||
|
||||
_av_audio_stream->time_base.num = 1000000;
|
||||
_av_audio_stream->time_base.den = self.framerate*1000000;
|
||||
_av_audio_stream->time_base.num = 100000;
|
||||
_av_audio_stream->time_base.den = self.framerate*100000;
|
||||
a_ctx->sample_rate = _samplerate;
|
||||
a_ctx->bit_rate = _audio_bitrate;
|
||||
a_ctx->channels = 2;
|
||||
|
|
@ -360,7 +381,8 @@ void getAudioExtradata(char *cookie, char **buffer, size_t *size)
|
|||
|
||||
atoms = CMFormatDescriptionGetExtension(fmt, kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms);
|
||||
avccKey = CFSTR("avcC");
|
||||
NSLog(@"ATOMS %@", atoms);
|
||||
if (atoms)
|
||||
{
|
||||
avcc_data = CFDictionaryGetValue(atoms, avccKey);
|
||||
avcc_size = CFDataGetLength(avcc_data);
|
||||
c_ctx->extradata = malloc(avcc_size);
|
||||
|
|
@ -368,6 +390,7 @@ void getAudioExtradata(char *cookie, char **buffer, size_t *size)
|
|||
CFDataGetBytes(avcc_data, CFRangeMake(0,avcc_size), c_ctx->extradata);
|
||||
|
||||
c_ctx->extradata_size = (int)avcc_size;
|
||||
}
|
||||
} else if (codec_ctx) {
|
||||
self.width = codec_ctx->width;
|
||||
self.height = codec_ctx->height;
|
||||
|
|
@ -536,7 +559,6 @@ void getAudioExtradata(char *cookie, char **buffer, size_t *size)
|
|||
NSLog(@"INTERLEAVED WRITE FRAME FAILED FOR %@ frame number %lld", self.stream_output, frameData.frameNumber);
|
||||
}
|
||||
|
||||
|
||||
//av_free_packet(p);
|
||||
//av_free(p);
|
||||
_output_framecnt++;
|
||||
|
|
@ -652,6 +674,7 @@ void getAudioExtradata(char *cookie, char **buffer, size_t *size)
|
|||
pkt.size = (int)buffer_length;
|
||||
|
||||
|
||||
|
||||
pkt.dts = av_rescale_q(CMSampleBufferGetDecodeTimeStamp(theBuffer).value, (AVRational) {1.0, CMSampleBufferGetDecodeTimeStamp(theBuffer).timescale}, _av_video_stream->time_base);
|
||||
|
||||
pkt.pts = av_rescale_q(CMSampleBufferGetPresentationTimeStamp(theBuffer).value, (AVRational) {1.0, CMSampleBufferGetPresentationTimeStamp(theBuffer).timescale}, _av_video_stream->time_base);
|
||||
|
|
@ -680,14 +703,15 @@ void getAudioExtradata(char *cookie, char **buffer, size_t *size)
|
|||
}
|
||||
|
||||
_output_framecnt++;
|
||||
_output_bytes += pkt.size;
|
||||
_output_bytes += buffer_length;
|
||||
//CMSampleBufferInvalidate(theBuffer);
|
||||
CFRelease(theBuffer);
|
||||
|
||||
@synchronized(self)
|
||||
{
|
||||
_pending_frame_count--;
|
||||
_pending_frame_size -= pkt.size;
|
||||
_pending_frame_size -= buffer_length;
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
19
CocoaSplit/Interface/CSAppleH264CompressorViewController.h
Normal file
19
CocoaSplit/Interface/CSAppleH264CompressorViewController.h
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
//
|
||||
// CSAppleH264CompressorViewController.h
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 3/28/16.
|
||||
// Copyright © 2016 Zakk. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "AppleVTCompressor.h"
|
||||
#import "CSCompressorViewControllerProtocol.h"
|
||||
|
||||
@interface CSAppleH264CompressorViewController : NSViewController <CSCompressorViewControllerProtocol>
|
||||
|
||||
@property (strong) AppleVTCompressor *compressor;
|
||||
@property (strong) NSObjectController *compressorController;
|
||||
@property (strong) NSArray *profiles;
|
||||
|
||||
@end
|
||||
23
CocoaSplit/Interface/CSAppleH264CompressorViewController.m
Normal file
23
CocoaSplit/Interface/CSAppleH264CompressorViewController.m
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// CSAppleH264CompressorViewController.m
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 3/28/16.
|
||||
// Copyright © 2016 Zakk. All rights reserved.
|
||||
//
|
||||
|
||||
#import "CSAppleH264CompressorViewController.h"
|
||||
|
||||
@interface CSAppleH264CompressorViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation CSAppleH264CompressorViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
self.profiles = @[[NSNull null], @"Baseline", @"Main", @"High"];
|
||||
[super viewDidLoad];
|
||||
// Do view setup here.
|
||||
}
|
||||
|
||||
@end
|
||||
138
CocoaSplit/Interface/CSAppleH264CompressorViewController.xib
Normal file
138
CocoaSplit/Interface/CSAppleH264CompressorViewController.xib
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15E65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="CSAppleH264CompressorViewController">
|
||||
<connections>
|
||||
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customView id="Hz6-mo-xeY">
|
||||
<rect key="frame" x="0.0" y="0.0" width="499" height="304"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="i6H-NQ-OLu">
|
||||
<rect key="frame" x="-2" y="268" width="73" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Avg Bitrate" id="g0w-Hc-Je6">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vfh-gp-gJT">
|
||||
<rect key="frame" x="-2" y="243" width="75" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Max Bitrate" id="L5k-eu-J1g">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7bI-b1-MNc">
|
||||
<rect key="frame" x="-2" y="218" width="101" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Keyframe every" id="QtW-dt-3MN">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="K3q-nW-Ceo">
|
||||
<rect key="frame" x="-2" y="193" width="44" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Profile" id="Sey-eY-Shp">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9Wa-2k-JSA">
|
||||
<rect key="frame" x="105" y="215" width="46" height="19"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="ZPd-6G-YY8">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" numberStyle="decimal" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="F8d-oR-7Hg"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="-2" name="value" keyPath="self.compressorController.selection.keyframe_interval" id="vCS-cB-gqn"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="c5j-Mh-UNF">
|
||||
<rect key="frame" x="105" y="240" width="46" height="19"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="kZi-vQ-EOe">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" numberStyle="decimal" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="Irb-z3-J1I"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="-2" name="value" keyPath="self.compressorController.selection.max_bitrate" id="LIY-2O-fqA"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2wx-Bv-8Iz">
|
||||
<rect key="frame" x="105" y="265" width="46" height="19"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="46" id="DQy-WC-zzj"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="di5-Ib-WHU">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="wTi-6K-IrG"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="-2" name="value" keyPath="self.compressorController.selection.average_bitrate" id="5xv-0r-yQh"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bHp-jA-429">
|
||||
<rect key="frame" x="102" y="188" width="101" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="95" id="XkB-xB-TvJ"/>
|
||||
</constraints>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Aoj-Uw-GVX" id="tf3-Ku-jyf">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<menu key="menu" title="OtherViews" id="lGM-Gr-3o1">
|
||||
<items>
|
||||
<menuItem title="Item 1" state="on" id="Aoj-Uw-GVX"/>
|
||||
<menuItem title="Item 2" id="SJs-un-qra"/>
|
||||
<menuItem title="Item 3" id="XJf-Uc-OXs"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="yzO-XB-Oba" name="content" keyPath="arrangedObjects" id="Dur-Dk-H6Z"/>
|
||||
<binding destination="-2" name="selectedObject" keyPath="self.compressorController.selection.profile" previousBinding="Dur-Dk-H6Z" id="6L0-ML-xbm"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Z92-Fj-1ta">
|
||||
<rect key="frame" x="-3" y="168" width="113" height="20"/>
|
||||
<buttonCell key="cell" type="check" title="Use CBR Mode" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="0bQ-qK-hZe">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="-2" name="value" keyPath="self.compressorController.selection.use_cbr" id="xpt-Tf-XI4"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button toolTip="Bitrate is set to 'Avg Bitrate'. 'Max Bitrate' is ignored." horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ia2-W3-v0j">
|
||||
<rect key="frame" x="116" y="165" width="25" height="25"/>
|
||||
<buttonCell key="cell" type="help" bezelStyle="helpButton" alignment="center" controlSize="small" enabled="NO" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="AOS-sj-oLL">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</subviews>
|
||||
<point key="canvasLocation" x="398.5" y="367"/>
|
||||
</customView>
|
||||
<arrayController id="yzO-XB-Oba" userLabel="Profiles Controller">
|
||||
<connections>
|
||||
<binding destination="-2" name="contentArray" keyPath="self.profiles" id="6mZ-fM-RCE"/>
|
||||
</connections>
|
||||
</arrayController>
|
||||
<userDefaultsController representsSharedInstance="YES" id="ioE-gz-bGa"/>
|
||||
</objects>
|
||||
</document>
|
||||
19
CocoaSplit/Interface/CSAppleProResCompressorViewController.h
Normal file
19
CocoaSplit/Interface/CSAppleProResCompressorViewController.h
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
//
|
||||
// CSAppleProResCompressorViewController.h
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 3/28/16.
|
||||
// Copyright © 2016 Zakk. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "AppleProResCompressor.h"
|
||||
#import "CSCompressorViewControllerProtocol.h"
|
||||
|
||||
@interface CSAppleProResCompressorViewController : NSViewController <CSCompressorViewControllerProtocol>
|
||||
|
||||
@property (strong) NSObjectController *compressorController;
|
||||
|
||||
@property (strong) NSDictionary *compressorTypes;
|
||||
|
||||
@end
|
||||
32
CocoaSplit/Interface/CSAppleProResCompressorViewController.m
Normal file
32
CocoaSplit/Interface/CSAppleProResCompressorViewController.m
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
//
|
||||
// CSAppleProResCompressorViewController.m
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 3/28/16.
|
||||
// Copyright © 2016 Zakk. All rights reserved.
|
||||
//
|
||||
|
||||
#import "CSAppleProResCompressorViewController.h"
|
||||
|
||||
@interface CSAppleProResCompressorViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation CSAppleProResCompressorViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
// Do view setup here.
|
||||
|
||||
self.compressorTypes = @{@"ProRes 4444": @(kCMVideoCodecType_AppleProRes4444),
|
||||
@"ProRes 422": @(kCMVideoCodecType_AppleProRes422),
|
||||
@"ProRes 422HQ": @(kCMVideoCodecType_AppleProRes422HQ),
|
||||
@"ProRes 422LT": @(kCMVideoCodecType_AppleProRes422LT),
|
||||
@"ProRes 422Proxy": @(kCMVideoCodecType_AppleProRes422Proxy),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15E65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="CSAppleProResCompressorViewController">
|
||||
<connections>
|
||||
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customView id="Hz6-mo-xeY">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Gj9-S2-gEQ">
|
||||
<rect key="frame" x="44" y="231" width="163" height="22"/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="qoG-nO-1YX" id="4Xe-Al-1C9">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<menu key="menu" id="G3H-Li-kb6">
|
||||
<items>
|
||||
<menuItem title="Item 1" state="on" id="qoG-nO-1YX"/>
|
||||
<menuItem title="Item 2" id="UNL-KT-j2w"/>
|
||||
<menuItem title="Item 3" id="uUE-z1-Fjp"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="0RV-3I-M34" name="content" keyPath="arrangedObjects" id="bUg-0w-Wr7"/>
|
||||
<binding destination="0RV-3I-M34" name="contentObjects" keyPath="arrangedObjects.value" previousBinding="bUg-0w-Wr7" id="FTU-7B-qzP"/>
|
||||
<binding destination="0RV-3I-M34" name="contentValues" keyPath="arrangedObjects.key" previousBinding="FTU-7B-qzP" id="JTm-um-h9X"/>
|
||||
<binding destination="-2" name="selectedObject" keyPath="self.compressorController.selection.proResType" previousBinding="JTm-um-h9X" id="Od3-JX-fy6"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LuU-bB-Mgf">
|
||||
<rect key="frame" x="-2" y="236" width="34" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Type" id="lhy-vF-975">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
</customView>
|
||||
<userDefaultsController representsSharedInstance="YES" id="Ryh-C1-fgr"/>
|
||||
<dictionaryController objectClassName="_NSDictionaryControllerKeyValuePair" id="0RV-3I-M34" userLabel="Compressor Types Controller">
|
||||
<connections>
|
||||
<binding destination="-2" name="contentDictionary" keyPath="self.compressorTypes" id="oJS-cd-mws"/>
|
||||
</connections>
|
||||
</dictionaryController>
|
||||
</objects>
|
||||
</document>
|
||||
17
CocoaSplit/Interface/CSCompressorViewControllerProtocol.h
Normal file
17
CocoaSplit/Interface/CSCompressorViewControllerProtocol.h
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// CSCompressorViewControllerProtocol.h
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 3/28/16.
|
||||
// Copyright © 2016 Zakk. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@protocol CSCompressorViewControllerProtocol <NSObject>
|
||||
|
||||
@property (strong) NSObjectController *compressorController;
|
||||
|
||||
|
||||
@end
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
@property (strong) NSString *selectedOutputType;
|
||||
@property (strong) NSObject<CSStreamServiceProtocol>*streamServiceObject;
|
||||
@property (strong) NSArray *outputTypes;
|
||||
@property (weak) IBOutlet NSView *serviceConfigView;
|
||||
@property (strong) IBOutlet NSView *serviceConfigView;
|
||||
@property (strong) NSViewController *pluginViewController;
|
||||
@property (strong) NSMutableDictionary *compressors;
|
||||
@property (strong) CompressionSettingsPanelController *compressionPanelController;
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
|
||||
if (self.outputDestination.compressor_name)
|
||||
{
|
||||
id<h264Compressor> oCompressor = self.compressors[self.outputDestination.compressor_name];
|
||||
id<VideoCompressor> oCompressor = self.compressors[self.outputDestination.compressor_name];
|
||||
if (!oCompressor)
|
||||
{
|
||||
self.outputDestination.compressor_name = nil;
|
||||
|
|
@ -62,6 +62,13 @@
|
|||
|
||||
-(void)setupServiceView
|
||||
{
|
||||
|
||||
if (!self.serviceConfigView)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!self.streamServiceObject)
|
||||
{
|
||||
if (self.pluginViewController)
|
||||
|
|
@ -124,7 +131,11 @@
|
|||
|
||||
- (void)windowDidLoad {
|
||||
[super windowDidLoad];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[self setupServiceView];
|
||||
|
||||
|
||||
});
|
||||
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
|
||||
}
|
||||
|
||||
|
|
@ -147,7 +158,7 @@
|
|||
- (IBAction)openCompressorEdit:(id)sender
|
||||
{
|
||||
|
||||
NSObject <h264Compressor>*editCompressor;
|
||||
NSObject <VideoCompressor>*editCompressor;
|
||||
|
||||
if (!self.outputDestination.compressor_name)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9060" systemVersion="15D21" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15E65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9060"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="CSNewOutputWindowController">
|
||||
|
|
@ -25,7 +25,6 @@
|
|||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="X1Y-aS-wPk">
|
||||
<rect key="frame" x="18" y="319" width="80" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Output Type" id="mtq-3G-zIa">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -34,7 +33,6 @@
|
|||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="49U-P3-kb4">
|
||||
<rect key="frame" x="101" y="313" width="127" height="22"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="o4G-X4-boY">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -54,7 +52,6 @@
|
|||
</popUpButton>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sHW-AN-BMN">
|
||||
<rect key="frame" x="14" y="13" width="65" height="32"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Add" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="z3X-JA-gdY">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
|
|
@ -66,7 +63,6 @@
|
|||
</button>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hIE-y0-gxF">
|
||||
<rect key="frame" x="79" y="13" width="82" height="32"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="xgY-lu-8JD">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
|
|
@ -80,7 +76,6 @@ Gw
|
|||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Mcc-vH-D71">
|
||||
<rect key="frame" x="18" y="346" width="40" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Name" id="rH8-ko-Oa4">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -89,7 +84,6 @@ Gw
|
|||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="t5O-yx-msN">
|
||||
<rect key="frame" x="104" y="344" width="121" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="rb0-vM-a1K">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -101,11 +95,9 @@ Gw
|
|||
</textField>
|
||||
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qkq-wQ-53P">
|
||||
<rect key="frame" x="20" y="61" width="559" height="225"/>
|
||||
<animations/>
|
||||
</customView>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cQ4-po-jZY">
|
||||
<rect key="frame" x="231" y="346" width="38" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Delay" id="X2V-vD-yFT">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -114,7 +106,6 @@ Gw
|
|||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="wSQ-MU-931">
|
||||
<rect key="frame" x="231" y="318" width="78" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Compressor" id="IYE-t9-Wmz">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -123,7 +114,6 @@ Gw
|
|||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ATx-Ew-doP">
|
||||
<rect key="frame" x="312" y="312" width="106" height="22"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Vea-CP-5AF" id="FRp-3g-z5P">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -143,7 +133,6 @@ Gw
|
|||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7Ib-9M-LVb">
|
||||
<rect key="frame" x="315" y="344" width="100" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="8PL-wV-7SC">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -155,7 +144,6 @@ Gw
|
|||
</textField>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="oiD-3K-QjB">
|
||||
<rect key="frame" x="423" y="313" width="14" height="22"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="bevel" bezelStyle="rounded" image="NSActionTemplate" imagePosition="overlaps" alignment="center" controlSize="small" imageScaling="proportionallyDown" inset="2" id="6Ac-00-ICZ">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -166,7 +154,6 @@ Gw
|
|||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="0Kx-WA-7Un">
|
||||
<rect key="frame" x="18" y="294" width="80" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Force Format" id="11G-VZ-1w4">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -175,7 +162,6 @@ Gw
|
|||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kIY-tB-Hgd">
|
||||
<rect key="frame" x="104" y="291" width="51" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="7qz-on-mHJ">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -186,7 +172,6 @@ Gw
|
|||
</connections>
|
||||
</textField>
|
||||
</subviews>
|
||||
<animations/>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
|
||||
|
|
|
|||
19
CocoaSplit/Interface/CSx264CompressorViewController.h
Normal file
19
CocoaSplit/Interface/CSx264CompressorViewController.h
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
//
|
||||
// CSx264CompressorViewController.h
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 3/28/16.
|
||||
// Copyright © 2016 Zakk. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "x264Compressor.h"
|
||||
#import "CSCompressorViewControllerProtocol.h"
|
||||
|
||||
@interface CSx264CompressorViewController : NSViewController <CSCompressorViewControllerProtocol>
|
||||
|
||||
|
||||
@property (strong) x264Compressor *compressor;
|
||||
@property (strong) NSObjectController *compressorController;
|
||||
|
||||
@end
|
||||
24
CocoaSplit/Interface/CSx264CompressorViewController.m
Normal file
24
CocoaSplit/Interface/CSx264CompressorViewController.m
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
//
|
||||
// CSx264CompressorViewController.m
|
||||
// CocoaSplit
|
||||
//
|
||||
// Created by Zakk on 3/28/16.
|
||||
// Copyright © 2016 Zakk. All rights reserved.
|
||||
//
|
||||
|
||||
#import "CSx264CompressorViewController.h"
|
||||
|
||||
@interface CSx264CompressorViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation CSx264CompressorViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
// Do view setup here.
|
||||
}
|
||||
|
||||
|
||||
|
||||
@end
|
||||
253
CocoaSplit/Interface/CSx264CompressorViewController.xib
Normal file
253
CocoaSplit/Interface/CSx264CompressorViewController.xib
Normal file
|
|
@ -0,0 +1,253 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15E65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="CSx264CompressorViewController">
|
||||
<connections>
|
||||
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customView id="Hz6-mo-xeY">
|
||||
<rect key="frame" x="0.0" y="0.0" width="533" height="348"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nKa-2B-bMK">
|
||||
<rect key="frame" x="-2" y="312" width="42" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Preset" id="bAX-4u-pXF">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="IT6-op-Ik2">
|
||||
<rect key="frame" x="-2" y="287" width="35" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Tune" id="cWL-Ak-vsF">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="f3k-aK-Akj">
|
||||
<rect key="frame" x="-2" y="262" width="44" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Profile" id="evU-ym-ukU">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Sel-dT-BWl">
|
||||
<rect key="frame" x="-2" y="237" width="83" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="VBV Maxrate" id="Zzh-oB-vKt">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zDa-NV-GVB">
|
||||
<rect key="frame" x="-2" y="212" width="70" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="VBV Buffer" id="m9q-E7-c10">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GsM-Tg-znB">
|
||||
<rect key="frame" x="-2" y="187" width="101" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Keyframe every" id="x1N-pK-BT3">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="m3C-EO-kx9">
|
||||
<rect key="frame" x="-2" y="162" width="29" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="CRF" id="o5v-ge-7Yt">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9YB-iC-AyD">
|
||||
<rect key="frame" x="105" y="184" width="46" height="19"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="GtC-Sn-Rj8">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" numberStyle="decimal" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="v2R-7J-VHo"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="-2" name="enabled" keyPath="self.compressorController.selection.active" id="shJ-UV-YtZ">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="-2" name="value" keyPath="self.compressorController.selection.keyframe_interval" id="Nzo-za-9fp"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OWE-ei-jNL">
|
||||
<rect key="frame" x="105" y="159" width="46" height="19"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="9Pe-YC-FDX">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" numberStyle="decimal" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="o3U-Gs-Q20"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="-2" name="enabled" keyPath="self.compressorController.selection.use_cbr" id="LWl-QU-O3y">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="-2" name="value" keyPath="self.compressorController.selection.crf" id="c2k-gh-zpo"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="SkS-1t-Y4E">
|
||||
<rect key="frame" x="105" y="209" width="46" height="19"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="63s-HY-Pwg">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" numberStyle="decimal" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="rch-MS-UqI"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="-2" name="value" keyPath="self.compressorController.selection.vbv_buffer" id="Vmt-Ef-XAk"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="njD-6E-RqM">
|
||||
<rect key="frame" x="105" y="234" width="46" height="19"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="46" id="cue-D3-ehc"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="tjD-NZ-hYO">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="qe6-xs-Rgb"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="-2" name="value" keyPath="self.compressorController.selection.vbv_maxrate" id="fCC-sT-2cL"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Vte-yo-2IC">
|
||||
<rect key="frame" x="102" y="257" width="101" height="22"/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="bhV-zT-vph">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<menu key="menu" title="OtherViews" id="3AX-UY-VJX">
|
||||
<items>
|
||||
<menuItem title="Item 1" state="on" id="QKn-V5-QfV"/>
|
||||
<menuItem title="Item 2" id="roI-oG-QHF"/>
|
||||
<menuItem title="Item 3" id="vZh-HH-Zvf"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="w29-j1-KJi" name="content" keyPath="arrangedObjects" id="hcE-GV-vaN"/>
|
||||
<binding destination="-2" name="enabled" keyPath="self.compressorController.selection.active" id="PzQ-xg-qiE">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="-2" name="selectedObject" keyPath="self.compressorController.selection.profile" previousBinding="hcE-GV-vaN" id="QAs-nk-AyT"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="AAu-to-WOU">
|
||||
<rect key="frame" x="102" y="282" width="101" height="22"/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="tPK-AQ-xp0" id="c9N-Vh-XH1">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<menu key="menu" title="OtherViews" id="sgL-CM-cIq">
|
||||
<items>
|
||||
<menuItem title="Item 1" state="on" id="tPK-AQ-xp0"/>
|
||||
<menuItem title="Item 2" id="8MP-8a-pmP"/>
|
||||
<menuItem title="Item 3" id="k0i-Y4-fSY"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="NEK-SK-A60" name="content" keyPath="arrangedObjects" id="tDP-Ko-Tpc"/>
|
||||
<binding destination="-2" name="enabled" keyPath="self.compressorController.selection.active" id="qab-FQ-c7Y">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="-2" name="selectedObject" keyPath="self.compressorController.selection.tune" previousBinding="tDP-Ko-Tpc" id="5g3-ht-gNI"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6TU-Te-Jyv">
|
||||
<rect key="frame" x="102" y="307" width="101" height="22"/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="vX9-Aj-ByB" id="134-Hf-FOS">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<menu key="menu" title="OtherViews" id="kex-c4-kR8">
|
||||
<items>
|
||||
<menuItem title="Item 1" state="on" id="vX9-Aj-ByB"/>
|
||||
<menuItem title="Item 2" id="4Sc-BG-q8H"/>
|
||||
<menuItem title="Item 3" id="cWs-kt-jic"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="EFf-5k-yA0" name="content" keyPath="arrangedObjects" id="GTb-Kg-qXB"/>
|
||||
<binding destination="-2" name="enabled" keyPath="self.compressorController.selection.active" id="P7n-7A-eFO">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="-2" name="selectedObject" keyPath="self.compressorController.selection.preset" previousBinding="GTb-Kg-qXB" id="f9k-gg-wvi"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fR1-ea-GMl">
|
||||
<rect key="frame" x="-3" y="137" width="113" height="20"/>
|
||||
<buttonCell key="cell" type="check" title="Use CBR Mode" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="9n0-Af-nHS">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="-2" name="value" keyPath="self.compressorController.selection.use_cbr" id="xYX-7W-eu4"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6gD-nL-fMv">
|
||||
<rect key="frame" x="344" y="212" width="66" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Advanced" id="1y1-7Y-Yn2">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Jmt-SK-Ho8">
|
||||
<rect key="frame" x="254" y="126" width="246" height="78"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="MMg-TF-8F4">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="-2" name="value" keyPath="self.compressorController.selection.advancedSettings" id="8Nn-7p-tpG"/>
|
||||
</connections>
|
||||
</textField>
|
||||
</subviews>
|
||||
<point key="canvasLocation" x="355.5" y="360"/>
|
||||
</customView>
|
||||
<arrayController id="EFf-5k-yA0" userLabel="x264PresetsController">
|
||||
<connections>
|
||||
<binding destination="-2" name="contentArray" keyPath="self.compressorController.selection.x264presets" id="rIv-ME-pcQ"/>
|
||||
</connections>
|
||||
</arrayController>
|
||||
<arrayController id="NEK-SK-A60" userLabel="x264TunesController">
|
||||
<connections>
|
||||
<binding destination="-2" name="contentArray" keyPath="self.compressorController.selection.x264tunes" id="gOm-SD-xhp"/>
|
||||
</connections>
|
||||
</arrayController>
|
||||
<arrayController id="w29-j1-KJi" userLabel="x264ProfilesController">
|
||||
<connections>
|
||||
<binding destination="-2" name="contentArray" keyPath="self.compressorController.selection.x264profiles" id="huG-qX-5FZ"/>
|
||||
</connections>
|
||||
</arrayController>
|
||||
</objects>
|
||||
</document>
|
||||
|
|
@ -1,14 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9060" systemVersion="15D21" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15E65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9060"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="CompressionSettingsPanelController">
|
||||
<connections>
|
||||
<outlet property="baseObjectController" destination="7Hy-q1-EZG" id="mxe-gH-2Z2"/>
|
||||
<outlet property="compressorObjectController" destination="TZe-4D-nmN" id="juT-BX-clP"/>
|
||||
<outlet property="compressorSettingsView" destination="ep3-e5-f7d" id="yxP-kq-3GE"/>
|
||||
<outlet property="window" destination="QvC-M9-y7g" id="a8h-bj-2SS"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
|
|
@ -25,7 +26,6 @@
|
|||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DvW-XY-xoh">
|
||||
<rect key="frame" x="18" y="386" width="34" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Type" id="aQN-xz-V04">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -34,7 +34,6 @@
|
|||
</textField>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="CaQ-qD-j6F">
|
||||
<rect key="frame" x="17" y="14" width="56" height="28"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Ok" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="e9p-FR-hyA">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -49,7 +48,6 @@
|
|||
</button>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="iCf-Vp-KaJ">
|
||||
<rect key="frame" x="71" y="14" width="79" height="28"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Delete" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="z42-Rz-RFR">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -69,7 +67,6 @@
|
|||
</button>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="EJC-JR-4GB">
|
||||
<rect key="frame" x="152" y="14" width="80" height="28"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="EQL-Yv-yZr">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -87,7 +84,6 @@ Gw
|
|||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="IHG-Lp-sax">
|
||||
<rect key="frame" x="20" y="361" width="70" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Resolution" id="hc1-mx-lew">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -96,7 +92,6 @@ Gw
|
|||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jyB-75-sNE">
|
||||
<rect key="frame" x="96" y="358" width="39" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="i95-zA-5QN">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -108,7 +103,6 @@ Gw
|
|||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="h4u-di-ZHD">
|
||||
<rect key="frame" x="162" y="358" width="39" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="LRY-oa-SSg">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -120,7 +114,6 @@ Gw
|
|||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dtW-FE-cv6">
|
||||
<rect key="frame" x="141" y="361" width="12" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="x" id="Ggl-Pt-mGd">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -129,7 +122,6 @@ Gw
|
|||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="XtC-X5-1ot">
|
||||
<rect key="frame" x="206" y="356" width="76" height="22"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="VXd-MX-rYJ" id="gwL-xf-AiW">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -153,7 +145,6 @@ Gw
|
|||
</popUpButton>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="xhw-97-4Bh">
|
||||
<rect key="frame" x="94" y="386" width="109" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="UVP-e5-vnT">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -165,7 +156,6 @@ Gw
|
|||
</textField>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="l5F-oK-OdK">
|
||||
<rect key="frame" x="230" y="14" width="102" height="28"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Save to Profile" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6AF-Q8-ZU0">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -176,7 +166,6 @@ Gw
|
|||
</button>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tAo-lz-AE8">
|
||||
<rect key="frame" x="335" y="20" width="96" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="4Ll-Zc-aMr">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -186,550 +175,34 @@ Gw
|
|||
<binding destination="7Hy-q1-EZG" name="value" keyPath="selection.saveProfileName" id="QGZ-WW-i7O"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<tabView fixedFrame="YES" drawsBackground="NO" controlSize="small" initialItem="gyg-eG-YlU" translatesAutoresizingMaskIntoConstraints="NO" id="EJA-Rc-sIZ">
|
||||
<rect key="frame" x="14" y="56" width="566" height="277"/>
|
||||
<animations/>
|
||||
<tabViewItems>
|
||||
<tabViewItem label="None" identifier="" id="gyg-eG-YlU">
|
||||
<view key="view" ambiguous="YES" id="lRi-Ns-JYI">
|
||||
<rect key="frame" x="10" y="25" width="161" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<animations/>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
<tabViewItem label="x264" identifier="1" id="I6I-nX-nIi">
|
||||
<view key="view" id="AiJ-YZ-cX2">
|
||||
<rect key="frame" x="10" y="25" width="560" height="252"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="pTs-Nw-pDR">
|
||||
<rect key="frame" x="15" y="205" width="42" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Preset" id="7Pv-xf-f1B">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9Lo-yP-Gxg">
|
||||
<rect key="frame" x="15" y="180" width="35" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Tune" id="Wde-Y8-yjc">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VfV-tz-qXn">
|
||||
<rect key="frame" x="15" y="155" width="44" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Profile" id="Y3A-cg-eIq">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6AI-RQ-Ci6">
|
||||
<rect key="frame" x="15" y="130" width="83" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="VBV Maxrate" id="mA7-EM-qSX">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Lvr-jo-frR">
|
||||
<rect key="frame" x="15" y="105" width="70" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="VBV Buffer" id="pf5-D9-DXk">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9Ii-DO-WXh">
|
||||
<rect key="frame" x="15" y="80" width="101" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Keyframe every" id="bG3-Uh-UIG">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2Dp-w8-B2f">
|
||||
<rect key="frame" x="15" y="55" width="29" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="CRF" id="V2K-4U-Y1S">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="C8M-ea-3sm">
|
||||
<rect key="frame" x="122" y="77" width="46" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="8kd-R7-qc4">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" numberStyle="decimal" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="ATI-2b-lju"/>
|
||||
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ep3-e5-f7d">
|
||||
<rect key="frame" x="20" y="47" width="540" height="279"/>
|
||||
</customView>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="A6J-tk-goi">
|
||||
<rect key="frame" x="96" y="334" width="183" height="19"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="P6o-v7-OgE">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="enabled" keyPath="selection.active" id="Uco-xa-mvd">
|
||||
<binding destination="TZe-4D-nmN" name="enabled" keyPath="selection.active" id="gGQ-5o-9tx">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.keyframe_interval" id="xWa-nf-itU">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.name" id="ClB-V6-md4"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Mrd-j9-Vau">
|
||||
<rect key="frame" x="122" y="52" width="46" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="5ZU-gJ-Hdm">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" numberStyle="decimal" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="Q6D-l0-e9y"/>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="0AR-sV-zha">
|
||||
<rect key="frame" x="20" y="337" width="37" height="14"/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Name" id="6Lz-Jx-YD7">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.crf" id="xEV-u0-L4J">
|
||||
<dictionary key="options">
|
||||
<integer key="NSNullPlaceholder" value="0"/>
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="enabled" keyPath="selection.use_cbr" id="z4t-yD-nTr">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hnh-Ur-lnw">
|
||||
<rect key="frame" x="122" y="102" width="46" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="U2r-Dm-H5f">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" numberStyle="decimal" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="WJJ-ij-OI8"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.vbv_buffer" id="oVO-iP-11f">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bVx-zD-QAw">
|
||||
<rect key="frame" x="122" y="127" width="46" height="19"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="46" id="xHh-9V-Yds"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="ArZ-85-ukI">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="ZAq-EV-heT"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.vbv_maxrate" id="pIp-DY-RbN">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9TP-kQ-Qdg">
|
||||
<rect key="frame" x="119" y="150" width="101" height="22"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="zr8-iK-sWw">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<menu key="menu" title="OtherViews" id="w20-Ph-Imn">
|
||||
<items>
|
||||
<menuItem title="Item 1" id="hhd-hw-xpk"/>
|
||||
<menuItem title="Item 2" id="tq1-Cf-OmP"/>
|
||||
<menuItem title="Item 3" id="ttf-nX-Tqt"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="8jM-xj-6eG" name="content" keyPath="arrangedObjects" id="grA-Ik-mBv">
|
||||
<dictionary key="options">
|
||||
<bool key="NSInsertsNullPlaceholder" value="YES"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="enabled" keyPath="selection.active" id="9US-Hw-ffd">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="selectedObject" keyPath="selection.profile" previousBinding="grA-Ik-mBv" id="mNL-it-lep">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LdZ-gp-IPX">
|
||||
<rect key="frame" x="119" y="175" width="101" height="22"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Aay-q2-fLb" id="JEa-Kb-0eq">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<menu key="menu" title="OtherViews" id="mcc-0A-Zvy">
|
||||
<items>
|
||||
<menuItem title="Item 1" state="on" id="Aay-q2-fLb"/>
|
||||
<menuItem title="Item 2" id="qW4-H1-H7W"/>
|
||||
<menuItem title="Item 3" id="Pud-DL-KtF"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="qsl-yE-r3J" name="content" keyPath="arrangedObjects" id="Wec-QQ-BBv">
|
||||
<dictionary key="options">
|
||||
<bool key="NSInsertsNullPlaceholder" value="YES"/>
|
||||
<string key="NSNullPlaceholder">No Value</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="enabled" keyPath="selection.active" id="hKK-o4-jJe">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="selectedObject" keyPath="selection.tune" previousBinding="Wec-QQ-BBv" id="Tzg-jo-xal">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="HRX-AI-IV1">
|
||||
<rect key="frame" x="119" y="200" width="101" height="22"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Hh2-0H-T1O" id="u2T-nK-ZHa">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<menu key="menu" title="OtherViews" id="dqi-gU-5ID">
|
||||
<items>
|
||||
<menuItem title="Item 1" state="on" id="Hh2-0H-T1O"/>
|
||||
<menuItem title="Item 2" id="7rn-KG-HYs"/>
|
||||
<menuItem title="Item 3" id="9rF-2C-pH7"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="R45-ki-5Yf" name="content" keyPath="arrangedObjects" id="762-i8-cu8">
|
||||
<dictionary key="options">
|
||||
<bool key="NSInsertsNullPlaceholder" value="YES"/>
|
||||
<string key="NSNullPlaceholder">No Value</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="enabled" keyPath="selection.active" id="tdA-Cc-UR5">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="selectedObject" keyPath="selection.preset" previousBinding="762-i8-cu8" id="U1T-Nh-n2O">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zcL-cj-J2t">
|
||||
<rect key="frame" x="174" y="80" width="55" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="seconds" id="66F-gX-HKW">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="BJS-Ym-qhX">
|
||||
<rect key="frame" x="14" y="30" width="113" height="20"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Use CBR Mode" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="8hA-E7-5Qr">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.use_cbr" id="vy7-fH-obh">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</button>
|
||||
<button toolTip="Bitrate is set to value of 'VBV Maxrate'. 'VBV Buffer' is ignored and calculated based on fps and Maxrate. CRF is ignored." horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7JK-UJ-uXM">
|
||||
<rect key="frame" x="135" y="30" width="25" height="25"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="help" bezelStyle="helpButton" alignment="center" controlSize="small" enabled="NO" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="0yh-VG-kgz">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="j1E-1Z-43E">
|
||||
<rect key="frame" x="15" y="230" width="41" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Name" id="h7S-GC-LRO">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dCi-HU-R17">
|
||||
<rect key="frame" x="121" y="227" width="96" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="yAP-a1-yWl">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="enabled" keyPath="selection.active" id="iLc-iv-JxS">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.name" id="gZ5-Cw-Fuh">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="mkc-Ve-Fm7">
|
||||
<rect key="frame" x="361" y="105" width="66" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Advanced" id="g2O-hw-6od">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ESX-nq-ivO">
|
||||
<rect key="frame" x="271" y="19" width="246" height="78"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="JUv-0t-wCP">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.advancedSettings" id="aAI-ZE-YLd">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
</subviews>
|
||||
<animations/>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
<tabViewItem label="AppleVTCompressor" identifier="2" id="dyD-Zy-azw">
|
||||
<view key="view" id="XTV-kv-85u">
|
||||
<rect key="frame" x="10" y="25" width="560" height="252"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hMc-cR-pkG">
|
||||
<rect key="frame" x="15" y="164" width="73" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Avg Bitrate" id="OcA-AP-hoB">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Lc6-5w-yhu">
|
||||
<rect key="frame" x="15" y="139" width="75" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Max Bitrate" id="NU6-XV-diA">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7U9-Mo-vul">
|
||||
<rect key="frame" x="15" y="114" width="101" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Keyframe every" id="pJr-bc-og0">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zgw-Jj-MGG">
|
||||
<rect key="frame" x="15" y="89" width="44" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Profile" id="hMW-qq-kZx">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hoO-Kk-D8d">
|
||||
<rect key="frame" x="122" y="111" width="46" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="1cM-DD-1Ll">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" numberStyle="decimal" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="yyS-tE-xrm"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.keyframe_interval" id="e1j-VP-q6W">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nRC-Eo-rgj">
|
||||
<rect key="frame" x="122" y="136" width="46" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="vZZ-4U-Tuf">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" numberStyle="decimal" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="zhy-bK-1KE"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.max_bitrate" id="Tdz-EZ-iRa">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="HSo-TK-ey0">
|
||||
<rect key="frame" x="122" y="161" width="46" height="19"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="46" id="Ame-MS-sCd"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="dks-7G-28O">
|
||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="#" negativeFormat="#" allowsFloats="NO" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" decimalSeparator="." groupingSeparator="," currencyDecimalSeparator="." plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix="" negativePrefix="-" negativeSuffix="" id="GYq-M9-Dao"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.average_bitrate" id="5hC-XX-4ol">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nAv-AT-Pjr">
|
||||
<rect key="frame" x="119" y="84" width="101" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="95" id="zj5-vk-3yq"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Fwt-rU-p9C" id="9su-cy-gN6">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<menu key="menu" title="OtherViews" id="85F-4D-3Dl">
|
||||
<items>
|
||||
<menuItem title="Item 1" state="on" id="Fwt-rU-p9C"/>
|
||||
<menuItem title="Item 2" id="liN-Wp-m2N"/>
|
||||
<menuItem title="Item 3" id="xGW-w0-CQf"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="Fq1-6t-ESc" name="content" keyPath="arrangedObjects" id="3xC-wD-R6H"/>
|
||||
<binding destination="TZe-4D-nmN" name="selectedObject" keyPath="selection.profile" previousBinding="3xC-wD-R6H" id="6a2-d2-Thf">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="72H-Xv-84L">
|
||||
<rect key="frame" x="169" y="114" width="55" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="seconds" id="B1s-Nl-eIo">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="oXO-2P-jSr">
|
||||
<rect key="frame" x="14" y="64" width="113" height="20"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Use CBR Mode" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="Fgq-LX-zJa">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.use_cbr" id="nEe-20-Ok6">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</button>
|
||||
<button toolTip="Bitrate is set to 'Avg Bitrate'. 'Max Bitrate' is ignored." horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ze1-e4-lAf">
|
||||
<rect key="frame" x="133" y="61" width="25" height="25"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="help" bezelStyle="helpButton" alignment="center" controlSize="small" enabled="NO" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="v14-Mm-4Kg">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OOx-9o-RVx">
|
||||
<rect key="frame" x="15" y="189" width="41" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Name" id="gYB-Cm-wn3">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="orx-IN-DtI">
|
||||
<rect key="frame" x="121" y="186" width="96" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Os9-Ps-RyE">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="enabled" keyPath="selection.active" id="hPm-UC-RCr">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
<binding destination="TZe-4D-nmN" name="value" keyPath="selection.name" id="gLq-F6-G8b">
|
||||
<dictionary key="options">
|
||||
<bool key="NSRaisesForNotApplicableKeys" value="NO"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
</subviews>
|
||||
<animations/>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
</tabViewItems>
|
||||
<connections>
|
||||
<binding destination="TZe-4D-nmN" name="selectedLabel" keyPath="selection.compressorType" id="wWu-mV-PFx"/>
|
||||
</connections>
|
||||
</tabView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="-2" id="eVt-IZ-DN1"/>
|
||||
|
|
|
|||
|
|
@ -7,13 +7,18 @@
|
|||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "h264Compressor.h"
|
||||
#import "VideoCompressor.h"
|
||||
#import "CSCompressorViewControllerProtocol.h"
|
||||
|
||||
|
||||
@interface CompressionSettingsPanelController : NSWindowController
|
||||
@property (weak) IBOutlet NSView *compressorSettingsView;
|
||||
@property (strong) NSViewController *compressorViewController;
|
||||
|
||||
|
||||
@property (strong) IBOutlet NSObjectController *compressorObjectController;
|
||||
|
||||
@property (strong) id <h264Compressor> compressor;
|
||||
@property (strong) id <VideoCompressor> compressor;
|
||||
@property (strong) NSArray *compressorTypes;
|
||||
@property (strong) NSString *selectedCompressorType;
|
||||
@property (strong) NSString *saveProfileName;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
{
|
||||
if (self = [self initWithWindowNibName:@"CompressionSettingsPanel"])
|
||||
{
|
||||
self.compressorTypes = @[@"x264", @"AppleVTCompressor", @"None"];
|
||||
self.compressorTypes = @[@"x264", @"AppleVTCompressor", @"AppleProResCompressor", @"None"];
|
||||
}
|
||||
|
||||
return self;
|
||||
|
|
@ -26,11 +26,43 @@
|
|||
|
||||
- (void)windowDidLoad {
|
||||
[super windowDidLoad];
|
||||
[self setupCompressorView];
|
||||
|
||||
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
|
||||
}
|
||||
|
||||
|
||||
-(void)setupCompressorView
|
||||
{
|
||||
|
||||
if (!self.compressorSettingsView)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!self.compressor)
|
||||
{
|
||||
if (self.compressorViewController)
|
||||
{
|
||||
[self.compressorViewController.view removeFromSuperview];
|
||||
self.compressorViewController = nil;
|
||||
}
|
||||
} else {
|
||||
id<CSCompressorViewControllerProtocol> compressorConfigView = [self.compressor getConfigurationView];
|
||||
if (compressorConfigView)
|
||||
{
|
||||
compressorConfigView.compressorController = self.compressorObjectController;
|
||||
|
||||
[self.compressorSettingsView addSubview:((NSViewController *)compressorConfigView).view];
|
||||
|
||||
[((NSViewController *)compressorConfigView).view setFrameOrigin:NSMakePoint(0, self.compressorSettingsView.frame.size.height - ((NSViewController *)compressorConfigView).view.frame.size.height)];
|
||||
self.compressorViewController = (NSViewController *)compressorConfigView;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-(void)saveCompressPanel
|
||||
{
|
||||
[self.compressorObjectController commitEditing];
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <AppKit/AppKit.h>
|
||||
#import "h264Compressor.h"
|
||||
#import "VideoCompressor.h"
|
||||
#import "CaptureController.h"
|
||||
|
||||
|
||||
|
|
@ -53,7 +53,7 @@
|
|||
@property (assign) int dropped_frame_count;
|
||||
@property (assign) double output_framerate;
|
||||
@property (assign) double output_bitrate;
|
||||
@property (strong) NSObject <h264Compressor> *compressor;
|
||||
@property (strong) NSObject <VideoCompressor> *compressor;
|
||||
@property (strong) NSString *compressor_name;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@
|
|||
|
||||
-(void)compressorDeleted:(NSNotification *)notification
|
||||
{
|
||||
id <h264Compressor> compressor = notification.object;
|
||||
id <VideoCompressor> compressor = notification.object;
|
||||
|
||||
if (self.compressor_name && [self.compressor_name isEqualToString:compressor.name])
|
||||
{
|
||||
|
|
@ -248,7 +248,7 @@
|
|||
NSDictionary *infoDict = notification.object;
|
||||
|
||||
NSString *oldName = infoDict[@"oldName"];
|
||||
id <h264Compressor> compressor = infoDict[@"compressor"];
|
||||
id <VideoCompressor> compressor = infoDict[@"compressor"];
|
||||
|
||||
if (self.compressor_name && [self.compressor_name isEqualToString:oldName])
|
||||
{
|
||||
|
|
@ -281,7 +281,7 @@
|
|||
}
|
||||
*/
|
||||
|
||||
|
||||
newout.video_codec_id = self.compressor.codec_id;
|
||||
newout.framerate = self.settingsController.captureFPS;
|
||||
newout.stream_output = [self.destination stringByStandardizingPath];
|
||||
newout.stream_format = self.output_format;
|
||||
|
|
@ -308,7 +308,7 @@
|
|||
return;
|
||||
}
|
||||
|
||||
NSObject <h264Compressor> *old_compressor = self.compressor;
|
||||
NSObject <VideoCompressor> *old_compressor = self.compressor;
|
||||
|
||||
if (self.compressor_name)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
_uuidMap = [NSMutableDictionary dictionary];
|
||||
|
||||
_animationQueue = dispatch_queue_create("CSAnimationQueue", NULL);
|
||||
_containedLayouts = [NSMutableArray array];
|
||||
_containedLayouts = [[NSMutableArray alloc] init];
|
||||
_noSceneTransactions = NO;
|
||||
|
||||
self.rootLayer = [self newRootLayer];
|
||||
|
|
@ -359,7 +359,7 @@
|
|||
|
||||
if ([aDecoder containsValueForKey:@"containedLayouts"])
|
||||
{
|
||||
self.containedLayouts = [aDecoder decodeObjectForKey:@"containedLayouts"];
|
||||
self.containedLayouts = [[aDecoder decodeObjectForKey:@"containedLayouts"] mutableCopy];
|
||||
//set live/staging status for each layout
|
||||
}
|
||||
|
||||
|
|
@ -546,20 +546,21 @@
|
|||
}
|
||||
//Only run animations that aren't already in the layout
|
||||
|
||||
NSMutableArray *runAnimations = [NSMutableArray array];
|
||||
NSMutableArray *runAnimations = [[NSMutableArray alloc] init];
|
||||
|
||||
for (CSAnimationItem *anim in layout.animationList)
|
||||
{
|
||||
if (![self animationForUUID:anim.uuid] && anim.onLive)
|
||||
{
|
||||
[runAnimations addObject:anim.uuid];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
[self.animationList removeAllObjects];
|
||||
//If an input exists in both lists, only remove it if the new one is different/changed
|
||||
|
||||
NSMutableArray *rList = [NSMutableArray array];
|
||||
NSMutableArray *rList = [[NSMutableArray alloc] init];
|
||||
for (InputSource *src in self.sourceList)
|
||||
{
|
||||
InputSource *nSrc = [layout inputForUUID:src.uuid];
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9060" systemVersion="15D21" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15E65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9060"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
|
||||
<capability name="Alignment constraints to the first baseline" minToolsVersion="6.0"/>
|
||||
<capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>
|
||||
</dependencies>
|
||||
|
|
@ -323,15 +323,12 @@
|
|||
<customView fixedFrame="YES" id="4Vq-5w-Nt7" customClass="PreviewView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="439" height="277"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</customView>
|
||||
<customView fixedFrame="YES" id="79f-hz-x80" customClass="PreviewView">
|
||||
<rect key="frame" x="440" y="0.0" width="434" height="277"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</customView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<holdingPriorities>
|
||||
<real value="250"/>
|
||||
<real value="250"/>
|
||||
|
|
@ -344,7 +341,6 @@
|
|||
<constraint firstItem="EvN-9x-8Di" firstAttribute="top" secondItem="2411" secondAttribute="top" constant="196" id="fVW-ll-H60"/>
|
||||
<constraint firstAttribute="bottom" secondItem="EvN-9x-8Di" secondAttribute="bottom" constant="157" id="scr-pu-Ecw"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</view>
|
||||
</subviews>
|
||||
<constraints>
|
||||
|
|
@ -353,7 +349,6 @@
|
|||
<constraint firstItem="2411" firstAttribute="top" secondItem="2369" secondAttribute="top" constant="-189" id="Wld-8d-sRz"/>
|
||||
<constraint firstItem="2411" firstAttribute="leading" secondItem="2369" secondAttribute="leading" constant="-33" id="x6e-sH-Szi"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</customView>
|
||||
<customView id="2370">
|
||||
<rect key="frame" x="0.0" y="288" width="886" height="409"/>
|
||||
|
|
@ -364,7 +359,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="279" id="Gh3-RP-Kb9"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="8gh-9A-nvZ">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -379,7 +373,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="70" id="v52-Ns-lA5"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Stream!" alternateTitle="Stop!" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="598">
|
||||
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
|
|
@ -390,7 +383,6 @@
|
|||
</button>
|
||||
<tabView initialItem="3287" translatesAutoresizingMaskIntoConstraints="NO" id="3286">
|
||||
<rect key="frame" x="13" y="35" width="860" height="360"/>
|
||||
<animations/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<tabViewItems>
|
||||
<tabViewItem label="Video" identifier="1" id="3287">
|
||||
|
|
@ -406,7 +398,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="37" id="xEB-k3-LPy"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="jdW-O6-xJB">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -421,7 +412,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="9QE-Uw-naT"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Transition" id="EEs-Ap-dp5">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -433,7 +423,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="70" id="9um-FF-WzG"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Configure" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="2mF-In-QLx">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -449,7 +438,6 @@
|
|||
</button>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="PXK-Bm-Fua">
|
||||
<rect key="frame" x="73" y="74" width="101" height="22"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Svc-mp-puA" id="Uqx-ai-jSo">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -482,7 +470,6 @@
|
|||
</popUpButton>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OgS-Yl-xu8">
|
||||
<rect key="frame" x="73" y="45" width="101" height="22"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="U9w-Ld-Wpk">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -506,7 +493,6 @@
|
|||
</popUpButton>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eJN-jc-tix">
|
||||
<rect key="frame" x="18" y="22" width="49" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Duration" id="Dcv-Mu-4bD">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -518,7 +504,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="25" id="xs6-1R-nZI"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Type" id="KS2-ym-OXG">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -530,14 +515,12 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="MHy-0o-BGB"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
|
||||
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<font key="titleFont" metaFont="system"/>
|
||||
</box>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2d4-aU-LWX">
|
||||
<rect key="frame" x="18" y="50" width="52" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Direction" id="AZy-vu-UC4">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -553,7 +536,6 @@
|
|||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="u3O-a8-VKl">
|
||||
<rect key="frame" x="118" y="19" width="61" height="20"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Layout" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="Rfa-au-neY">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -594,14 +576,12 @@
|
|||
<constraint firstItem="OgS-Yl-xu8" firstAttribute="leading" secondItem="NfO-T5-aJZ" secondAttribute="leading" id="tFh-0u-LCl"/>
|
||||
<constraint firstItem="wwd-Bm-G7P" firstAttribute="leading" secondItem="6mG-LN-iRu" secondAttribute="leading" constant="20" symbolic="YES" id="wAc-ib-RGL"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</customView>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CRm-nK-baf">
|
||||
<rect key="frame" x="12" y="287" width="95" height="28"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="85" id="c6K-yl-ECN"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="New Source" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="NS1-x6-L1C">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -616,7 +596,6 @@
|
|||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="84m-c0-kOj">
|
||||
<rect key="frame" x="105" y="287" width="85" height="28"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="New layout" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="qt9-wK-gDI">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -630,7 +609,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="116" id="nFC-YW-KvA"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Go Live" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="tpA-PI-4UQ">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -654,7 +632,6 @@
|
|||
<collectionView selectable="YES" id="MEg-xk-wZF">
|
||||
<rect key="frame" x="0.0" y="0.0" width="625" height="266"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<animations/>
|
||||
<color key="primaryBackgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<connections>
|
||||
<binding destination="816" name="content" keyPath="self.sourceLayouts" id="b0p-yC-YlM"/>
|
||||
|
|
@ -663,18 +640,14 @@
|
|||
</connections>
|
||||
</collectionView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
</clipView>
|
||||
<animations/>
|
||||
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="ASK-SC-h3C">
|
||||
<rect key="frame" x="1" y="144" width="233" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="gMp-8O-OKM">
|
||||
<rect key="frame" x="234" y="1" width="15" height="143"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
<connections>
|
||||
<outlet property="menu" destination="Wwr-bS-1EX" id="3mz-6W-mQM"/>
|
||||
|
|
@ -682,7 +655,6 @@
|
|||
</scrollView>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rzE-ZM-Eom">
|
||||
<rect key="frame" x="684" y="233" width="126" height="28"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Swap" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="XZO-uo-5LB">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -710,7 +682,6 @@
|
|||
<constraint firstItem="6mG-LN-iRu" firstAttribute="leading" secondItem="b93-ds-aBr" secondAttribute="trailing" constant="8" symbolic="YES" id="q2M-CJ-2w9"/>
|
||||
<constraint firstAttribute="bottom" secondItem="6mG-LN-iRu" secondAttribute="bottom" constant="77" id="way-tT-oOH"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
<tabViewItem label="Audio" identifier="" id="nO2-6S-J3v">
|
||||
|
|
@ -720,7 +691,6 @@
|
|||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8z2-2h-blY">
|
||||
<rect key="frame" x="15" y="176" width="84" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Stream Volume" id="Fic-Vj-b0r">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -729,7 +699,6 @@
|
|||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7eO-0V-OAu">
|
||||
<rect key="frame" x="14" y="135" width="87" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Preview volume" id="R8F-rq-pKt">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -738,7 +707,6 @@
|
|||
</textField>
|
||||
<slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mEf-SF-t25">
|
||||
<rect key="frame" x="16" y="111" width="92" height="17"/>
|
||||
<animations/>
|
||||
<sliderCell key="cell" controlSize="small" continuous="YES" state="on" alignment="left" maxValue="1" doubleValue="0.5" tickMarkPosition="above" sliderType="linear" id="qhJ-M4-Rv1"/>
|
||||
<connections>
|
||||
<binding destination="816" name="value" keyPath="self.multiAudioEngine.previewMixer.volume" id="JG2-6Y-yrP"/>
|
||||
|
|
@ -746,7 +714,6 @@
|
|||
</slider>
|
||||
<slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="blc-sB-dVi">
|
||||
<rect key="frame" x="17" y="156" width="92" height="17"/>
|
||||
<animations/>
|
||||
<sliderCell key="cell" controlSize="small" continuous="YES" alignment="left" maxValue="1" doubleValue="1" tickMarkPosition="above" sliderType="linear" id="fuA-ef-yBA"/>
|
||||
<connections>
|
||||
<binding destination="816" name="value" keyPath="self.multiAudioEngine.encodeMixer.volume" id="Lmz-wA-ZZd"/>
|
||||
|
|
@ -757,7 +724,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="57" id="G9E-RB-sPe"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Muted" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="o7r-bQ-Qqy">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -772,7 +738,6 @@
|
|||
<constraint firstAttribute="height" constant="14" id="Frx-1d-RFB"/>
|
||||
<constraint firstAttribute="width" constant="57" id="xYm-Er-5Ig"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Muted" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="i7y-Rf-ynJ">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -783,7 +748,6 @@
|
|||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eC5-ZX-z3f">
|
||||
<rect key="frame" x="14" y="249" width="65" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Samplerate" id="dk0-JE-bAT">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -792,7 +756,6 @@
|
|||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GCy-xm-MVO">
|
||||
<rect key="frame" x="87" y="269" width="45" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="0nl-IF-HNa">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -811,7 +774,6 @@
|
|||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1qG-l7-UUY">
|
||||
<rect key="frame" x="84" y="244" width="101" height="22"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="TT4-Wl-D3E" id="uza-iq-Ej1">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -838,7 +800,6 @@
|
|||
</popUpButton>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="clM-yO-jZl">
|
||||
<rect key="frame" x="137" y="271" width="62" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="kbits/sec" id="LNI-bR-1os">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -847,7 +808,6 @@
|
|||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ncg-Wx-BAa">
|
||||
<rect key="frame" x="14" y="227" width="63" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Audio Shift" id="cHe-hY-Ujl">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -856,7 +816,6 @@
|
|||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0LS-he-41I">
|
||||
<rect key="frame" x="87" y="225" width="45" height="19"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="FkJ-Kb-aYH">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -868,7 +827,6 @@
|
|||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ve7-71-NBJ">
|
||||
<rect key="frame" x="139" y="227" width="49" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="seconds" id="saE-hK-v10">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -880,7 +838,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="36" id="oF6-WM-3Nl"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Bitrate" id="hXD-qo-7FX">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -889,7 +846,6 @@
|
|||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="n1b-v9-0FC">
|
||||
<rect key="frame" x="14" y="90" width="80" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Output Device" id="Tci-6R-edk">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -898,7 +854,6 @@
|
|||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pZ4-nu-zTv">
|
||||
<rect key="frame" x="14" y="61" width="101" height="22"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="D6P-GH-mjq" id="DsM-J0-Z1J">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -933,7 +888,6 @@
|
|||
<collectionView maxNumberOfRows="1" id="pHn-OI-FOF">
|
||||
<rect key="frame" x="0.0" y="0.0" width="248" height="158"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<animations/>
|
||||
<color key="primaryBackgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<connections>
|
||||
<binding destination="FkZ-gD-QUB" name="content" keyPath="arrangedObjects" id="12z-Qn-fYH"/>
|
||||
|
|
@ -941,18 +895,14 @@
|
|||
</connections>
|
||||
</collectionView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
</clipView>
|
||||
<animations/>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="53x-1T-SIJ">
|
||||
<rect key="frame" x="1" y="144" width="233" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="eV0-IY-hvO">
|
||||
<rect key="frame" x="234" y="1" width="15" height="143"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
|
|
@ -1005,7 +955,6 @@
|
|||
<constraint firstItem="1qG-l7-UUY" firstAttribute="leading" secondItem="GCy-xm-MVO" secondAttribute="leading" id="ziN-C8-UrP"/>
|
||||
<constraint firstItem="M5T-fS-508" firstAttribute="leading" secondItem="uCc-DQ-QYH" secondAttribute="leading" constant="17" id="zq9-UL-7aX"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
<tabViewItem label="Outputs" identifier="2" id="3288">
|
||||
|
|
@ -1015,7 +964,6 @@
|
|||
<subviews>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cb9-2E-pZ7">
|
||||
<rect key="frame" x="1" y="287" width="63" height="28"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="New" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="kd9-jQ-cgF">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -1029,7 +977,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="69" id="ABg-xE-OPT"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Remove" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="jbc-Ox-5BI">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -1047,7 +994,6 @@
|
|||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" columnReordering="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" headerView="2261" id="2213">
|
||||
<rect key="frame" x="0.0" y="0.0" width="835" height="253"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -1228,23 +1174,18 @@
|
|||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</clipView>
|
||||
<animations/>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="2214">
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="2216">
|
||||
<rect key="frame" x="830" y="23" width="15" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
<tableHeaderView key="headerView" id="2261">
|
||||
<rect key="frame" x="0.0" y="0.0" width="835" height="23"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</tableHeaderView>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
|
|
@ -1253,7 +1194,6 @@
|
|||
<constraint firstItem="2212" firstAttribute="leading" secondItem="3289" secondAttribute="leading" constant="-3" id="69Q-DG-ZT4"/>
|
||||
<constraint firstAttribute="trailing" secondItem="2212" secondAttribute="trailing" constant="-3" id="zp6-4k-2l9"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
<tabViewItem label="Animate" identifier="" id="0YY-u3-82e">
|
||||
|
|
@ -1269,7 +1209,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="70" id="der-Yn-Th6"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Add" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="3Td-xt-1lJ">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -1283,7 +1222,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="XYx-wi-a1k"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Animate" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="4Mc-CH-UUi">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -1298,7 +1236,6 @@
|
|||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9kG-7c-4JT">
|
||||
<rect key="frame" x="18" y="300" width="45" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Staging" id="BeZ-O6-XB3">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -1307,7 +1244,6 @@
|
|||
</textField>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LTd-v8-sVD">
|
||||
<rect key="frame" x="136" y="236" width="80" height="28"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Delete" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="h93-32-Yxb">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -1329,7 +1265,6 @@
|
|||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" rowHeight="22" viewBased="YES" id="4PG-g3-ePP">
|
||||
<rect key="frame" x="0.0" y="0.0" width="238" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -1353,7 +1288,6 @@
|
|||
<subviews>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Aez-Zd-F7F">
|
||||
<rect key="frame" x="1" y="1" width="116" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="7Kx-iK-MM2">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -1369,7 +1303,6 @@
|
|||
<constraint firstItem="Aez-Zd-F7F" firstAttribute="leading" secondItem="8xZ-Xl-gto" secondAttribute="leading" constant="3" id="jHH-VT-KsW"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Aez-Zd-F7F" secondAttribute="trailing" constant="1" id="pGq-zt-EMh"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<connections>
|
||||
<outlet property="textField" destination="Aez-Zd-F7F" id="OeD-n3-NZM"/>
|
||||
</connections>
|
||||
|
|
@ -1395,7 +1328,6 @@
|
|||
<subviews>
|
||||
<popUpButton translatesAutoresizingMaskIntoConstraints="NO" id="bHZ-AM-hIc">
|
||||
<rect key="frame" x="0.0" y="5" width="99" height="18"/>
|
||||
<animations/>
|
||||
<popUpButtonCell key="cell" type="check" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" lineBreakMode="truncatingTail" inset="2" id="qaC-da-nMr">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -1419,7 +1351,6 @@
|
|||
<constraint firstItem="bHZ-AM-hIc" firstAttribute="top" secondItem="M8o-XP-qs3" secondAttribute="top" constant="3" id="lWa-8a-KKa"/>
|
||||
<constraint firstAttribute="trailing" secondItem="bHZ-AM-hIc" secondAttribute="trailing" constant="19" id="m7g-mk-rff"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</tableCellView>
|
||||
<tableCellView identifier="InputParamView" id="qsn-PR-XYt">
|
||||
<rect key="frame" x="120" y="26" width="116" height="24"/>
|
||||
|
|
@ -1430,7 +1361,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="height" constant="18" id="4qj-r9-MgA"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="77L-6K-SLe">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -1446,7 +1376,6 @@
|
|||
<constraint firstItem="RoY-BQ-Evq" firstAttribute="centerX" secondItem="qsn-PR-XYt" secondAttribute="centerX" id="Sls-vH-iDZ"/>
|
||||
<constraint firstItem="RoY-BQ-Evq" firstAttribute="top" secondItem="qsn-PR-XYt" secondAttribute="top" constant="3" id="mx8-5H-07E"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</tableCellView>
|
||||
<tableCellView identifier="InputBoolView" id="4b6-Et-Xqe">
|
||||
<rect key="frame" x="120" y="52" width="116" height="17"/>
|
||||
|
|
@ -1454,7 +1383,6 @@
|
|||
<subviews>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="a5i-Xe-jtT">
|
||||
<rect key="frame" x="89" y="-5" width="26" height="28"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="check" title="Check" bezelStyle="regularSquare" imagePosition="only" controlSize="mini" state="on" inset="2" id="xfn-0A-lKJ">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="miniSystem"/>
|
||||
|
|
@ -1470,7 +1398,6 @@
|
|||
<constraint firstItem="a5i-Xe-jtT" firstAttribute="top" secondItem="4b6-Et-Xqe" secondAttribute="top" constant="-1" id="cVc-Sb-n5D"/>
|
||||
<constraint firstItem="a5i-Xe-jtT" firstAttribute="centerY" secondItem="4b6-Et-Xqe" secondAttribute="centerY" id="wf6-4t-RsM"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
|
|
@ -1481,19 +1408,15 @@
|
|||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</clipView>
|
||||
<animations/>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="iio-3e-VF6">
|
||||
<rect key="frame" x="1" y="-14" width="0.0" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="ti4-ev-grI">
|
||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="16" horizontalPageScroll="10" verticalLineScroll="16" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qei-nK-1Al">
|
||||
|
|
@ -1505,7 +1428,6 @@
|
|||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" columnSelection="YES" autosaveColumns="NO" rowHeight="14" id="H3k-dU-KZ9">
|
||||
<rect key="frame" x="0.0" y="0.0" width="216" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -1533,19 +1455,15 @@
|
|||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</clipView>
|
||||
<animations/>
|
||||
<scroller key="horizontalScroller" verticalHuggingPriority="750" horizontal="YES" id="lhn-Yb-bwG">
|
||||
<rect key="frame" x="1" y="114" width="106" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="Qxp-g3-yYs">
|
||||
<rect key="frame" x="-14" y="1" width="15" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
|
|
@ -1568,7 +1486,6 @@
|
|||
<constraint firstItem="eYy-bt-k7V" firstAttribute="leading" secondItem="LTd-v8-sVD" secondAttribute="leading" id="qSK-0d-FIY"/>
|
||||
<constraint firstItem="eYy-bt-k7V" firstAttribute="leading" secondItem="qei-nK-1Al" secondAttribute="trailing" constant="13" id="tvy-h2-Sl4"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</customView>
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="cdu-gf-7vZ">
|
||||
<rect key="frame" x="531" y="114" width="312" height="196"/>
|
||||
|
|
@ -1582,7 +1499,6 @@
|
|||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" columnSelection="YES" autosaveColumns="NO" rowHeight="14" id="x1C-dJ-oRx">
|
||||
<rect key="frame" x="0.0" y="0.0" width="216" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -1610,24 +1526,19 @@
|
|||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</clipView>
|
||||
<animations/>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="Hmb-Y1-bvC">
|
||||
<rect key="frame" x="1" y="107" width="211" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="jys-4L-vdR">
|
||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Joi-iR-nWv">
|
||||
<rect key="frame" x="268" y="182" width="26" height="14"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Live" id="FYE-cJ-eNy">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -1639,7 +1550,6 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="Qom-ym-iMZ"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="push" title="Animate" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="xo8-Pv-r2j">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
|
|
@ -1663,7 +1573,6 @@
|
|||
<constraint firstAttribute="bottom" secondItem="qQL-Ws-GNI" secondAttribute="bottom" constant="20" symbolic="YES" id="hFk-N3-na3"/>
|
||||
<constraint firstItem="qQL-Ws-GNI" firstAttribute="top" secondItem="Q57-Lg-UOf" secondAttribute="bottom" constant="8" symbolic="YES" id="zJo-U2-MTH"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
<connections>
|
||||
<binding destination="816" name="hidden" keyPath="self.stagingHidden" id="2v1-rh-lYN"/>
|
||||
</connections>
|
||||
|
|
@ -1679,7 +1588,6 @@
|
|||
<constraint firstItem="jA8-yc-8qt" firstAttribute="leading" secondItem="mGF-tq-Byw" secondAttribute="leading" constant="-3" id="llk-GV-gPa"/>
|
||||
<constraint firstItem="jA8-yc-8qt" firstAttribute="top" secondItem="mGF-tq-Byw" secondAttribute="top" constant="-17" id="q3T-Kf-m1J"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</view>
|
||||
</tabViewItem>
|
||||
</tabViewItems>
|
||||
|
|
@ -1700,10 +1608,8 @@
|
|||
<constraint firstItem="3286" firstAttribute="top" secondItem="2370" secondAttribute="top" constant="20" id="qId-D0-oWK"/>
|
||||
<constraint firstItem="597" firstAttribute="baseline" secondItem="Rb5-R9-Aqy" secondAttribute="baseline" id="zaa-dy-GDp"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</customView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<holdingPriorities>
|
||||
<real value="250"/>
|
||||
<real value="250"/>
|
||||
|
|
@ -1716,7 +1622,6 @@
|
|||
<constraint firstItem="2368" firstAttribute="leading" secondItem="372" secondAttribute="leading" id="Jhu-YX-rml"/>
|
||||
<constraint firstAttribute="bottom" secondItem="2368" secondAttribute="bottom" constant="29" id="hpi-4p-8U9"/>
|
||||
</constraints>
|
||||
<animations/>
|
||||
</view>
|
||||
<point key="canvasLocation" x="1252.5" y="875"/>
|
||||
</window>
|
||||
|
|
@ -1836,7 +1741,6 @@
|
|||
<subviews>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="QXC-Xu-cG7">
|
||||
<rect key="frame" x="2" y="265" width="63" height="34"/>
|
||||
<animations/>
|
||||
<textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" title="Multiline Label" id="noH-td-Qwc">
|
||||
<font key="font" metaFont="miniSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -1849,7 +1753,6 @@
|
|||
</textField>
|
||||
<slider horizontalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uW4-9L-JyQ">
|
||||
<rect key="frame" x="20" y="49" width="15" height="219"/>
|
||||
<animations/>
|
||||
<sliderCell key="cell" controlSize="mini" continuous="YES" alignment="left" maxValue="1" doubleValue="1" tickMarkPosition="right" sliderType="linear" id="DtI-hV-J01"/>
|
||||
<connections>
|
||||
<binding destination="93b-Or-H22" name="value" keyPath="representedObject.volume" id="aQo-34-mNT"/>
|
||||
|
|
@ -1887,7 +1790,6 @@ MgA3AEEARwBQAFcAXABkAHkAewB9AH8AgQCLAJAAlQCgAKMApQCnAKkArgC5AMIAygDNANYA2wDoAOwA
|
|||
</segmentedControl>
|
||||
<levelIndicator verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bcO-wt-LMF">
|
||||
<rect key="frame" x="6" y="24" width="43" height="18"/>
|
||||
<animations/>
|
||||
<levelIndicatorCell key="cell" controlSize="mini" continuous="YES" alignment="left" doubleValue="-60" maxValue="7" warningValue="4" criticalValue="6" id="pGs-Hw-JOp"/>
|
||||
<connections>
|
||||
<binding destination="93b-Or-H22" name="value" keyPath="self.representedObject.powerLevel" id="bbg-mo-Rk2"/>
|
||||
|
|
@ -1895,7 +1797,6 @@ MgA3AEEARwBQAFcAXABkAHkAewB9AH8AgQCLAJAAlQCgAKMApQCnAKkArgC5AMIAygDNANYA2wDoAOwA
|
|||
</levelIndicator>
|
||||
<button horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6KB-9R-g3x">
|
||||
<rect key="frame" x="35" y="50" width="14" height="29"/>
|
||||
<animations/>
|
||||
<buttonCell key="cell" type="squareTextured" bezelStyle="texturedSquare" image="NSActionTemplate" imagePosition="above" alignment="left" controlSize="mini" imageScaling="proportionallyDown" inset="2" id="bUL-4P-VX8">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="miniSystem"/>
|
||||
|
|
@ -1909,7 +1810,6 @@ MgA3AEEARwBQAFcAXABkAHkAewB9AH8AgQCLAJAAlQCgAKMApQCnAKkArgC5AMIAygDNANYA2wDoAOwA
|
|||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<point key="canvasLocation" x="610.5" y="475.5"/>
|
||||
</view>
|
||||
<collectionViewItem id="yDQ-rG-Cjn" userLabel="LayoutCollectionViewItem" customClass="CSLayoutCollectionItem"/>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
|
||||
@property bool isReady;
|
||||
@property (assign) NSString *fileName;
|
||||
@property (strong) NSString *fileName;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15E65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5056"/>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="FileStreamServiceViewController">
|
||||
|
|
@ -11,14 +12,13 @@
|
|||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customView id="Hz6-mo-xeY">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rYP-7V-KUS">
|
||||
<rect key="frame" x="18" y="235" width="76" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Destination" id="Wle-vJ-Btf">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
@ -27,7 +27,6 @@
|
|||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qk4-1f-aeS">
|
||||
<rect key="frame" x="100" y="232" width="360" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="BlJ-C5-Byy">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue