pyobjc-framework-AVKit 12.0__tar.gz → 12.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Lib/AVKit/__init__.py +2 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Lib/AVKit/_metadata.py +59 -4
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Lib/pyobjc_framework_AVKit.egg-info/PKG-INFO +6 -7
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Lib/pyobjc_framework_AVKit.egg-info/SOURCES.txt +3 -2
- pyobjc_framework_avkit-12.2/Lib/pyobjc_framework_AVKit.egg-info/pyobjc-build-info.txt +3 -0
- pyobjc_framework_avkit-12.2/Lib/pyobjc_framework_AVKit.egg-info/requires.txt +3 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Modules/_AVKit_protocols.m +4 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Modules/pyobjc-compat.h +24 -50
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/PKG-INFO +6 -7
- pyobjc_framework_avkit-12.2/PyObjCTest/test_avlegiblemediaoptionsmenucontroller.py +43 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/metadata/AVKit.fwinfo +11 -11
- pyobjc_framework_avkit-12.0/metadata/raw/arm64-26.0.fwinfo → pyobjc_framework_avkit-12.2/metadata/raw/arm64-26.5.fwinfo +982 -37
- pyobjc_framework_avkit-12.0/metadata/raw/x86_64-26.0.fwinfo → pyobjc_framework_avkit-12.2/metadata/raw/x86_64-26.5.fwinfo +982 -37
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/pyobjc_setup.py +4 -5
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/setup.py +1 -1
- pyobjc_framework_avkit-12.0/Lib/pyobjc_framework_AVKit.egg-info/pyobjc-build-info.txt +0 -3
- pyobjc_framework_avkit-12.0/Lib/pyobjc_framework_AVKit.egg-info/requires.txt +0 -3
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Lib/pyobjc_framework_AVKit.egg-info/dependency_links.txt +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Lib/pyobjc_framework_AVKit.egg-info/not-zip-safe +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Lib/pyobjc_framework_AVKit.egg-info/top_level.txt +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/License.txt +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/MANIFEST.in +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Modules/_AVKit.m +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/Modules/pyobjc-api.h +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/PyObjCTest/__init__.py +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/PyObjCTest/test_avcaptureview.py +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/PyObjCTest/test_avkit.py +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/PyObjCTest/test_avkitdefines.py +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/PyObjCTest/test_avkittypes.py +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/PyObjCTest/test_avpictureinpicturecontroller.py +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/PyObjCTest/test_avpictureinpicturecontroller_avsamplebufferdisplaylayersupport.py +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/PyObjCTest/test_avplayerview.py +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/PyObjCTest/test_avroutepickerview.py +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/metadata/metadata.ini +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/pyproject.toml +0 -0
- {pyobjc_framework_avkit-12.0 → pyobjc_framework_avkit-12.2}/setup.cfg +0 -0
|
@@ -34,6 +34,8 @@ def _setup():
|
|
|
34
34
|
("AVPictureInPictureControllerContentSource", b"new"),
|
|
35
35
|
("AVPlaybackSpeed", b"init"),
|
|
36
36
|
("AVPlaybackSpeed", b"new"),
|
|
37
|
+
("AVLegibleMediaOptionsMenuController", b"init"),
|
|
38
|
+
("AVLegibleMediaOptionsMenuController", b"new"),
|
|
37
39
|
):
|
|
38
40
|
objc.registerUnavailableMethod(cls, sel)
|
|
39
41
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# This file is generated by objective.metadata
|
|
2
2
|
#
|
|
3
|
-
# Last update:
|
|
3
|
+
# Last update: Tue May 26 19:33:41 2026
|
|
4
4
|
#
|
|
5
5
|
# flake8: noqa
|
|
6
6
|
|
|
@@ -30,16 +30,32 @@ else:
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
misc = {}
|
|
33
|
+
misc.update(
|
|
34
|
+
{
|
|
35
|
+
"AVLegibleMediaOptionsMenuState": objc.createStructType(
|
|
36
|
+
"AVKit.AVLegibleMediaOptionsMenuState",
|
|
37
|
+
b"{AVLegibleMediaOptionsMenuState=Zq}",
|
|
38
|
+
["enabled", "reason"],
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
)
|
|
33
42
|
constants = """$$"""
|
|
34
|
-
enums = """$AVCaptureViewControlsStyleDefault@0$AVCaptureViewControlsStyleFloating@1$AVCaptureViewControlsStyleInline@0$AVCaptureViewControlsStyleInlineDeviceSelection@2$AVDisplayDynamicRangeAutomatic@0$AVDisplayDynamicRangeConstrainedHigh@2$AVDisplayDynamicRangeHigh@3$AVDisplayDynamicRangeStandard@1$AVPlayerViewControlsStyleDefault@1$AVPlayerViewControlsStyleFloating@2$AVPlayerViewControlsStyleInline@1$AVPlayerViewControlsStyleMinimal@3$AVPlayerViewControlsStyleNone@0$AVPlayerViewTrimCancelButton@1$AVPlayerViewTrimOKButton@0$AVRoutePickerViewButtonStateActive@2$AVRoutePickerViewButtonStateActiveHighlighted@3$AVRoutePickerViewButtonStateNormal@0$AVRoutePickerViewButtonStateNormalHighlighted@1$AVRoutePickerViewButtonStyleCustom@2$AVRoutePickerViewButtonStylePlain@1$AVRoutePickerViewButtonStyleSystem@0$AVVideoFrameAnalysisTypeDefault@1$AVVideoFrameAnalysisTypeMachineReadableCode@16$AVVideoFrameAnalysisTypeNone@0$AVVideoFrameAnalysisTypeSubject@4$AVVideoFrameAnalysisTypeText@2$AVVideoFrameAnalysisTypeVisualSearch@8$"""
|
|
43
|
+
enums = """$AVCaptureViewControlsStyleDefault@0$AVCaptureViewControlsStyleFloating@1$AVCaptureViewControlsStyleInline@0$AVCaptureViewControlsStyleInlineDeviceSelection@2$AVDisplayDynamicRangeAutomatic@0$AVDisplayDynamicRangeConstrainedHigh@2$AVDisplayDynamicRangeHigh@3$AVDisplayDynamicRangeStandard@1$AVLegibleMediaOptionsMenuContentsAll@3$AVLegibleMediaOptionsMenuContentsCaptionAppearance@2$AVLegibleMediaOptionsMenuContentsLegible@1$AVLegibleMediaOptionsMenuStateChangeReasonLanguageMismatch@1$AVLegibleMediaOptionsMenuStateChangeReasonNone@0$AVLegibleMediaOptionsMenuTypeCaptionAppearance@1$AVLegibleMediaOptionsMenuTypeDefault@0$AVPlayerViewControlsStyleDefault@1$AVPlayerViewControlsStyleFloating@2$AVPlayerViewControlsStyleInline@1$AVPlayerViewControlsStyleMinimal@3$AVPlayerViewControlsStyleNone@0$AVPlayerViewTrimCancelButton@1$AVPlayerViewTrimOKButton@0$AVRoutePickerViewButtonStateActive@2$AVRoutePickerViewButtonStateActiveHighlighted@3$AVRoutePickerViewButtonStateNormal@0$AVRoutePickerViewButtonStateNormalHighlighted@1$AVRoutePickerViewButtonStyleCustom@2$AVRoutePickerViewButtonStylePlain@1$AVRoutePickerViewButtonStyleSystem@0$AVVideoFrameAnalysisTypeDefault@1$AVVideoFrameAnalysisTypeMachineReadableCode@16$AVVideoFrameAnalysisTypeNone@0$AVVideoFrameAnalysisTypeSubject@4$AVVideoFrameAnalysisTypeText@2$AVVideoFrameAnalysisTypeVisualSearch@8$"""
|
|
35
44
|
misc.update(
|
|
36
45
|
{
|
|
37
46
|
"AVCaptureViewControlsStyle": NewType("AVCaptureViewControlsStyle", int),
|
|
38
47
|
"AVVideoFrameAnalysisType": NewType("AVVideoFrameAnalysisType", int),
|
|
39
|
-
"
|
|
48
|
+
"AVRoutePickerViewButtonStyle": NewType("AVRoutePickerViewButtonStyle", int),
|
|
49
|
+
"AVLegibleMediaOptionsMenuContents": NewType(
|
|
50
|
+
"AVLegibleMediaOptionsMenuContents", int
|
|
51
|
+
),
|
|
40
52
|
"AVRoutePickerViewButtonState": NewType("AVRoutePickerViewButtonState", int),
|
|
53
|
+
"AVLegibleMediaOptionsMenuType": NewType("AVLegibleMediaOptionsMenuType", int),
|
|
54
|
+
"AVLegibleMediaOptionsMenuStateChangeReason": NewType(
|
|
55
|
+
"AVLegibleMediaOptionsMenuStateChangeReason", int
|
|
56
|
+
),
|
|
41
57
|
"AVPlayerViewControlsStyle": NewType("AVPlayerViewControlsStyle", int),
|
|
42
|
-
"
|
|
58
|
+
"AVPlayerViewTrimResult": NewType("AVPlayerViewTrimResult", int),
|
|
43
59
|
"AVDisplayDynamicRange": NewType("AVDisplayDynamicRange", int),
|
|
44
60
|
}
|
|
45
61
|
)
|
|
@@ -62,6 +78,11 @@ try:
|
|
|
62
78
|
b"setSession:showVideoPreview:showAudioPreview:",
|
|
63
79
|
{"arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}},
|
|
64
80
|
)
|
|
81
|
+
r(
|
|
82
|
+
b"AVLegibleMediaOptionsMenuController",
|
|
83
|
+
b"menuState",
|
|
84
|
+
{"retval": {"type": b"{AVLegibleMediaOptionsMenuState=Zq}"}},
|
|
85
|
+
)
|
|
65
86
|
r(
|
|
66
87
|
b"AVPictureInPictureController",
|
|
67
88
|
b"canStartPictureInPictureAutomaticallyFromInline",
|
|
@@ -184,6 +205,32 @@ try:
|
|
|
184
205
|
"arguments": {2: {"type": b"@"}, 3: {"type": b"@"}},
|
|
185
206
|
},
|
|
186
207
|
)
|
|
208
|
+
r(
|
|
209
|
+
b"NSObject",
|
|
210
|
+
b"legibleMenuController:didChangeMenuState:",
|
|
211
|
+
{
|
|
212
|
+
"required": False,
|
|
213
|
+
"retval": {"type": b"v"},
|
|
214
|
+
"arguments": {
|
|
215
|
+
2: {"type": b"@"},
|
|
216
|
+
3: {"type": b"{AVLegibleMediaOptionsMenuState=Zq}"},
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
)
|
|
220
|
+
r(
|
|
221
|
+
b"NSObject",
|
|
222
|
+
b"legibleMenuController:didRequestCaptionPreviewForProfileID:",
|
|
223
|
+
{
|
|
224
|
+
"required": False,
|
|
225
|
+
"retval": {"type": b"v"},
|
|
226
|
+
"arguments": {2: {"type": b"@"}, 3: {"type": b"@"}},
|
|
227
|
+
},
|
|
228
|
+
)
|
|
229
|
+
r(
|
|
230
|
+
b"NSObject",
|
|
231
|
+
b"legibleMenuControllerDidRequestStoppingSubtitleCaptionPreview:",
|
|
232
|
+
{"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
|
|
233
|
+
)
|
|
187
234
|
r(
|
|
188
235
|
b"NSObject",
|
|
189
236
|
b"pictureInPictureController:didTransitionToRenderSize:",
|
|
@@ -406,12 +453,19 @@ try:
|
|
|
406
453
|
finally:
|
|
407
454
|
objc._updatingMetadata(False)
|
|
408
455
|
|
|
456
|
+
objc.registerNewKeywordsFromSelector("AVLegibleMediaOptionsMenuController", b"init")
|
|
457
|
+
objc.registerNewKeywordsFromSelector(
|
|
458
|
+
"AVLegibleMediaOptionsMenuController", b"initWithPlayer:"
|
|
459
|
+
)
|
|
409
460
|
objc.registerNewKeywordsFromSelector(
|
|
410
461
|
"AVPictureInPictureController", b"initWithContentSource:"
|
|
411
462
|
)
|
|
412
463
|
objc.registerNewKeywordsFromSelector(
|
|
413
464
|
"AVPictureInPictureController", b"initWithPlayerLayer:"
|
|
414
465
|
)
|
|
466
|
+
objc.registerNewKeywordsFromSelector(
|
|
467
|
+
"AVPictureInPictureControllerContentSource", b"init"
|
|
468
|
+
)
|
|
415
469
|
objc.registerNewKeywordsFromSelector(
|
|
416
470
|
"AVPictureInPictureControllerContentSource", b"initWithPlayerLayer:"
|
|
417
471
|
)
|
|
@@ -419,6 +473,7 @@ objc.registerNewKeywordsFromSelector(
|
|
|
419
473
|
"AVPictureInPictureControllerContentSource",
|
|
420
474
|
b"initWithSampleBufferDisplayLayer:playbackDelegate:",
|
|
421
475
|
)
|
|
476
|
+
objc.registerNewKeywordsFromSelector("AVPlaybackSpeed", b"init")
|
|
422
477
|
objc.registerNewKeywordsFromSelector("AVPlaybackSpeed", b"initWithRate:localizedName:")
|
|
423
478
|
expressions = {}
|
|
424
479
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyobjc-framework-AVKit
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.2
|
|
4
4
|
Summary: Wrappers for the framework AVKit on macOS
|
|
5
5
|
Home-page: https://github.com/ronaldoussoren/pyobjc
|
|
6
6
|
Author: Ronald Oussoren
|
|
@@ -17,7 +17,6 @@ Classifier: Operating System :: MacOS :: MacOS X
|
|
|
17
17
|
Classifier: Programming Language :: Python
|
|
18
18
|
Classifier: Programming Language :: Python :: 3
|
|
19
19
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -25,15 +24,15 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.14
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.15
|
|
27
26
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
|
-
Classifier: Programming Language :: Python :: Free Threading ::
|
|
27
|
+
Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
|
|
29
28
|
Classifier: Programming Language :: Objective C
|
|
30
29
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
31
30
|
Classifier: Topic :: Software Development :: User Interfaces
|
|
32
|
-
Requires-Python: >=3.
|
|
31
|
+
Requires-Python: >=3.10
|
|
33
32
|
Description-Content-Type: text/x-rst; charset=UTF-8
|
|
34
|
-
Requires-Dist: pyobjc-core>=12.
|
|
35
|
-
Requires-Dist: pyobjc-framework-Cocoa>=12.
|
|
36
|
-
Requires-Dist: pyobjc-framework-Quartz>=12.
|
|
33
|
+
Requires-Dist: pyobjc-core>=12.2
|
|
34
|
+
Requires-Dist: pyobjc-framework-Cocoa>=12.2
|
|
35
|
+
Requires-Dist: pyobjc-framework-Quartz>=12.2
|
|
37
36
|
Dynamic: author
|
|
38
37
|
Dynamic: author-email
|
|
39
38
|
Dynamic: classifier
|
|
@@ -21,6 +21,7 @@ PyObjCTest/test_avcaptureview.py
|
|
|
21
21
|
PyObjCTest/test_avkit.py
|
|
22
22
|
PyObjCTest/test_avkitdefines.py
|
|
23
23
|
PyObjCTest/test_avkittypes.py
|
|
24
|
+
PyObjCTest/test_avlegiblemediaoptionsmenucontroller.py
|
|
24
25
|
PyObjCTest/test_avpictureInpicturecontroller_avsamplebufferdisplayLayersupport.py
|
|
25
26
|
PyObjCTest/test_avpictureinpicturecontroller.py
|
|
26
27
|
PyObjCTest/test_avpictureinpicturecontroller_avsamplebufferdisplaylayersupport.py
|
|
@@ -28,5 +29,5 @@ PyObjCTest/test_avplayerview.py
|
|
|
28
29
|
PyObjCTest/test_avroutepickerview.py
|
|
29
30
|
metadata/AVKit.fwinfo
|
|
30
31
|
metadata/metadata.ini
|
|
31
|
-
metadata/raw/arm64-26.
|
|
32
|
-
metadata/raw/x86_64-26.
|
|
32
|
+
metadata/raw/arm64-26.5.fwinfo
|
|
33
|
+
metadata/raw/x86_64-26.5.fwinfo
|
|
@@ -26,4 +26,8 @@ use_protocols(void)
|
|
|
26
26
|
p = PyObjC_IdToPython(@protocol(AVPictureInPictureSampleBufferPlaybackDelegate));
|
|
27
27
|
Py_XDECREF(p);
|
|
28
28
|
#endif
|
|
29
|
+
#if PyObjC_BUILD_RELEASE >= 2604
|
|
30
|
+
p = PyObjC_IdToPython(@protocol(AVLegibleMediaOptionsMenuControllerDelegate));
|
|
31
|
+
Py_XDECREF(p);
|
|
32
|
+
#endif
|
|
29
33
|
}
|
|
@@ -22,12 +22,14 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
22
22
|
* Start of compiler definitions
|
|
23
23
|
*
|
|
24
24
|
*/
|
|
25
|
+
#if 0
|
|
25
26
|
#ifndef __has_feature
|
|
26
27
|
#define __has_feature(x) 0
|
|
27
28
|
#endif
|
|
28
29
|
#ifndef __has_extension
|
|
29
30
|
#define __has_extension(x) __has_feature(x)
|
|
30
31
|
#endif
|
|
32
|
+
#endif
|
|
31
33
|
|
|
32
34
|
#if __has_extension(c_static_assert)
|
|
33
35
|
#define STATIC_ASSERT(test, message) _Static_assert(test, message)
|
|
@@ -55,46 +57,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
55
57
|
/*
|
|
56
58
|
*
|
|
57
59
|
* Start of compiler support helpers
|
|
58
|
-
*
|
|
59
|
-
* XXX: Are these needed?
|
|
60
60
|
*/
|
|
61
61
|
|
|
62
|
-
#ifdef __GNUC__
|
|
63
62
|
#define unlikely(x) __builtin_expect(!!(x), 0)
|
|
64
63
|
#define likely(x) __builtin_expect(!!(x), 1)
|
|
65
|
-
#else
|
|
66
|
-
#define likely(x) x
|
|
67
|
-
#define likely(x) x
|
|
68
|
-
#endif
|
|
69
|
-
|
|
70
|
-
/* On some versions of GCC <limits.h> defines LONG_LONG_MAX but not LLONG_MAX, compensate.
|
|
71
|
-
*/
|
|
72
|
-
#ifndef LLONG_MIN
|
|
73
|
-
#ifdef LONG_LONG_MIN
|
|
74
|
-
#define LLONG_MIN LONG_LONG_MIN
|
|
75
|
-
#define LLONG_MAX LONG_LONG_MAX
|
|
76
|
-
#define ULLONG_MAX ULONG_LONG_MAX
|
|
77
|
-
#endif
|
|
78
|
-
#endif
|
|
79
|
-
|
|
80
|
-
/*
|
|
81
|
-
*
|
|
82
|
-
* End of compiler support helpers
|
|
83
|
-
*
|
|
84
|
-
* XXX: These two are no longer needed, all supported platforms
|
|
85
|
-
* are 64-bit
|
|
86
|
-
*/
|
|
87
|
-
|
|
88
|
-
#if __LP64__
|
|
89
|
-
#define Py_ARG_NSInteger "l"
|
|
90
|
-
#define Py_ARG_NSUInteger "k"
|
|
91
|
-
#else
|
|
92
|
-
#define Py_ARG_NSInteger "i"
|
|
93
|
-
#define Py_ARG_NSUInteger "I"
|
|
94
|
-
#endif
|
|
95
|
-
|
|
96
|
-
#define PyObjC__STR(x) #x
|
|
97
|
-
#define PyObjC_STR(x) PyObjC__STR(x)
|
|
98
64
|
|
|
99
65
|
/*
|
|
100
66
|
*
|
|
@@ -131,20 +97,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
131
97
|
|
|
132
98
|
extern int PyObjC_Cmp(PyObject* o1, PyObject* o2, int* result);
|
|
133
99
|
|
|
134
|
-
/*
|
|
135
|
-
* A micro optimization: when using Python 3.3 or later it
|
|
136
|
-
* is possible to access a 'char*' with an ASCII representation
|
|
137
|
-
* of a unicode object without first converting it to a bytes
|
|
138
|
-
* string (if the string can be encoded as ASCII in the first
|
|
139
|
-
* place.
|
|
140
|
-
*
|
|
141
|
-
* This slightly reduces the object allocation rate during
|
|
142
|
-
* attribute access.
|
|
143
|
-
*
|
|
144
|
-
* XXX: Use PyUnicode_AsUTF8 instead.
|
|
145
|
-
*/
|
|
146
|
-
extern const char* _Nullable PyObjC_Unicode_Fast_Bytes(PyObject* object);
|
|
147
|
-
|
|
148
100
|
#ifdef __clang__
|
|
149
101
|
|
|
150
102
|
#ifndef Py_LIMITED_API
|
|
@@ -286,6 +238,23 @@ static inline PyObject* _Nullable PyList_GetItemRef(PyObject* l, Py_ssize_t i)
|
|
|
286
238
|
Py_XINCREF(result);
|
|
287
239
|
return result;
|
|
288
240
|
}
|
|
241
|
+
|
|
242
|
+
static inline int
|
|
243
|
+
PyDict_SetDefaultRef(PyObject* p, PyObject* key, PyObject* default_value,
|
|
244
|
+
PyObject* _Nonnull* _Nullable result)
|
|
245
|
+
{
|
|
246
|
+
*result = PyDict_SetDefault(p, key, default_value);
|
|
247
|
+
if (*result == NULL) {
|
|
248
|
+
return -1;
|
|
249
|
+
}
|
|
250
|
+
Py_INCREF(*result);
|
|
251
|
+
|
|
252
|
+
/* This does not follow the spec, should return 1 when the key was already
|
|
253
|
+
* in the dict. That part of the API is not used in PyObjC though.
|
|
254
|
+
*/
|
|
255
|
+
return 0;
|
|
256
|
+
}
|
|
257
|
+
|
|
289
258
|
#endif
|
|
290
259
|
|
|
291
260
|
#if PY_VERSION_HEX < 0x030c0000
|
|
@@ -392,6 +361,11 @@ PyUnstable_TryIncRef(PyObject* op __attribute__((__unused__)))
|
|
|
392
361
|
}
|
|
393
362
|
#endif
|
|
394
363
|
|
|
364
|
+
#if PY_VERSION_HEX < 0x030f00a7
|
|
365
|
+
#define PyAnyDict_CheckExact PyDict_CheckExact
|
|
366
|
+
#define PyAnyDict_Check PyDict_Check
|
|
367
|
+
#endif
|
|
368
|
+
|
|
395
369
|
NS_ASSUME_NONNULL_END
|
|
396
370
|
|
|
397
371
|
#endif /* PyObjC_COMPAT_H */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyobjc-framework-AVKit
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.2
|
|
4
4
|
Summary: Wrappers for the framework AVKit on macOS
|
|
5
5
|
Home-page: https://github.com/ronaldoussoren/pyobjc
|
|
6
6
|
Author: Ronald Oussoren
|
|
@@ -17,7 +17,6 @@ Classifier: Operating System :: MacOS :: MacOS X
|
|
|
17
17
|
Classifier: Programming Language :: Python
|
|
18
18
|
Classifier: Programming Language :: Python :: 3
|
|
19
19
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -25,15 +24,15 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.14
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.15
|
|
27
26
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
|
-
Classifier: Programming Language :: Python :: Free Threading ::
|
|
27
|
+
Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
|
|
29
28
|
Classifier: Programming Language :: Objective C
|
|
30
29
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
31
30
|
Classifier: Topic :: Software Development :: User Interfaces
|
|
32
|
-
Requires-Python: >=3.
|
|
31
|
+
Requires-Python: >=3.10
|
|
33
32
|
Description-Content-Type: text/x-rst; charset=UTF-8
|
|
34
|
-
Requires-Dist: pyobjc-core>=12.
|
|
35
|
-
Requires-Dist: pyobjc-framework-Cocoa>=12.
|
|
36
|
-
Requires-Dist: pyobjc-framework-Quartz>=12.
|
|
33
|
+
Requires-Dist: pyobjc-core>=12.2
|
|
34
|
+
Requires-Dist: pyobjc-framework-Cocoa>=12.2
|
|
35
|
+
Requires-Dist: pyobjc-framework-Quartz>=12.2
|
|
37
36
|
Dynamic: author
|
|
38
37
|
Dynamic: author-email
|
|
39
38
|
Dynamic: classifier
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from PyObjCTools.TestSupport import TestCase
|
|
2
|
+
import AVKit
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class TestAVLegibleMediaOptionsMenuControllerHelper(AVKit.NSObject):
|
|
6
|
+
def legibleMenuController_didChangeMenuState_(self, a, b):
|
|
7
|
+
pass
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class TestAVLegibleMediaOptionsMenuController(TestCase):
|
|
11
|
+
def test_enum(self):
|
|
12
|
+
self.assertIsEnumType(AVKit.AVLegibleMediaOptionsMenuType)
|
|
13
|
+
self.assertEqual(AVKit.AVLegibleMediaOptionsMenuTypeDefault, 0)
|
|
14
|
+
self.assertEqual(AVKit.AVLegibleMediaOptionsMenuTypeCaptionAppearance, 1)
|
|
15
|
+
|
|
16
|
+
self.assertIsEnumType(AVKit.AVLegibleMediaOptionsMenuStateChangeReason)
|
|
17
|
+
self.assertEqual(AVKit.AVLegibleMediaOptionsMenuStateChangeReasonNone, 0)
|
|
18
|
+
self.assertEqual(
|
|
19
|
+
AVKit.AVLegibleMediaOptionsMenuStateChangeReasonLanguageMismatch, 1
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
self.assertIsEnumType(AVKit.AVLegibleMediaOptionsMenuContents)
|
|
23
|
+
self.assertEqual(AVKit.AVLegibleMediaOptionsMenuContentsLegible, 1 << 0)
|
|
24
|
+
self.assertEqual(
|
|
25
|
+
AVKit.AVLegibleMediaOptionsMenuContentsCaptionAppearance, 1 << 1
|
|
26
|
+
)
|
|
27
|
+
self.assertEqual(
|
|
28
|
+
AVKit.AVLegibleMediaOptionsMenuContentsAll,
|
|
29
|
+
AVKit.AVLegibleMediaOptionsMenuContentsLegible
|
|
30
|
+
| AVKit.AVLegibleMediaOptionsMenuContentsCaptionAppearance,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
def test_structs(self):
|
|
34
|
+
v = AVKit.AVLegibleMediaOptionsMenuState()
|
|
35
|
+
self.assertIs(v.enabled, False)
|
|
36
|
+
self.assertEqual(v.reason, 0)
|
|
37
|
+
|
|
38
|
+
def test_protocol_methods(self):
|
|
39
|
+
self.assertArgHasType(
|
|
40
|
+
TestAVLegibleMediaOptionsMenuControllerHelper.legibleMenuController_didChangeMenuState_,
|
|
41
|
+
1,
|
|
42
|
+
AVKit.AVLegibleMediaOptionsMenuState.__typestr__,
|
|
43
|
+
)
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"type_override": "@?",
|
|
22
22
|
"callable": {
|
|
23
23
|
"arguments": {
|
|
24
|
-
"0": { "
|
|
24
|
+
"0": { "type": "^v" }
|
|
25
25
|
},
|
|
26
|
-
"retval": { "
|
|
26
|
+
"retval": { "type": "v" }
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"1": {
|
|
36
36
|
"callable": {
|
|
37
37
|
"arguments": {
|
|
38
|
-
"0": { "
|
|
39
|
-
"1": { "
|
|
38
|
+
"0": { "type": "^v" },
|
|
39
|
+
"1": { "type": "Z" }
|
|
40
40
|
},
|
|
41
|
-
"retval": { "
|
|
41
|
+
"retval": { "type": "v" }
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"1": {
|
|
51
51
|
"callable": {
|
|
52
52
|
"arguments": {
|
|
53
|
-
"0": { "
|
|
54
|
-
"1": { "
|
|
53
|
+
"0": { "type": "^v" },
|
|
54
|
+
"1": { "type": "Z" }
|
|
55
55
|
},
|
|
56
|
-
"retval": { "
|
|
56
|
+
"retval": { "type": "v" }
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -106,10 +106,10 @@
|
|
|
106
106
|
"0": {
|
|
107
107
|
"callable": {
|
|
108
108
|
"arguments": {
|
|
109
|
-
"0": { "
|
|
110
|
-
"1": { "
|
|
109
|
+
"0": { "type": "^v" },
|
|
110
|
+
"1": { "type": "q" }
|
|
111
111
|
},
|
|
112
|
-
"retval": { "
|
|
112
|
+
"retval": { "type": "v" }
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
}
|