pyobjc-framework-Cinematic 11.0__tar.gz → 12.0__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.
Files changed (36) hide show
  1. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/Lib/Cinematic/__init__.py +2 -0
  2. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/Lib/Cinematic/_metadata.py +151 -6
  3. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/Lib/pyobjc_framework_Cinematic.egg-info/PKG-INFO +22 -9
  4. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/Lib/pyobjc_framework_Cinematic.egg-info/SOURCES.txt +3 -4
  5. pyobjc_framework_cinematic-12.0/Lib/pyobjc_framework_Cinematic.egg-info/pyobjc-build-info.txt +3 -0
  6. pyobjc_framework_cinematic-12.0/Lib/pyobjc_framework_Cinematic.egg-info/requires.txt +5 -0
  7. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/License.txt +1 -1
  8. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/PKG-INFO +22 -9
  9. pyobjc_framework_cinematic-12.0/PyObjCTest/__init__.py +1 -0
  10. pyobjc_framework_cinematic-12.0/PyObjCTest/test_cnspatialaudio.py +41 -0
  11. pyobjc_framework_cinematic-11.0/metadata/raw/arm64-15.0.fwinfo → pyobjc_framework_cinematic-12.0/metadata/raw/arm64-26.0.fwinfo +301 -40
  12. pyobjc_framework_cinematic-11.0/metadata/raw/x86_64-15.0.fwinfo → pyobjc_framework_cinematic-12.0/metadata/raw/x86_64-26.0.fwinfo +301 -40
  13. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/pyobjc_setup.py +9 -41
  14. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/setup.py +1 -1
  15. pyobjc_framework_cinematic-11.0/Lib/pyobjc_framework_Cinematic.egg-info/pyobjc-build-info.txt +0 -3
  16. pyobjc_framework_cinematic-11.0/Lib/pyobjc_framework_Cinematic.egg-info/requires.txt +0 -5
  17. pyobjc_framework_cinematic-11.0/PyObjCTest/__init__.py +0 -1
  18. pyobjc_framework_cinematic-11.0/metadata/raw/arm64-14.5.fwinfo +0 -2653
  19. pyobjc_framework_cinematic-11.0/metadata/raw/x86_64-14.5.fwinfo +0 -2653
  20. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/Lib/pyobjc_framework_Cinematic.egg-info/dependency_links.txt +0 -0
  21. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/Lib/pyobjc_framework_Cinematic.egg-info/not-zip-safe +0 -0
  22. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/Lib/pyobjc_framework_Cinematic.egg-info/top_level.txt +0 -0
  23. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/MANIFEST.in +0 -0
  24. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/PyObjCTest/test_cinematic.py +0 -0
  25. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/PyObjCTest/test_cnassetinfo.py +0 -0
  26. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/PyObjCTest/test_cncinematicerror.py +0 -0
  27. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/PyObjCTest/test_cndecision.py +0 -0
  28. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/PyObjCTest/test_cndetection.py +0 -0
  29. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/PyObjCTest/test_cndetectiontrack.py +0 -0
  30. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/PyObjCTest/test_cnobjecttracker.py +0 -0
  31. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/PyObjCTest/test_cnrenderingsession.py +0 -0
  32. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/PyObjCTest/test_cnscript.py +0 -0
  33. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/metadata/Cinematic.fwinfo +0 -0
  34. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/metadata/metadata.ini +0 -0
  35. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/pyproject.toml +0 -0
  36. {pyobjc_framework_cinematic-11.0 → pyobjc_framework_cinematic-12.0}/setup.cfg +0 -0
@@ -55,6 +55,8 @@ def _setup():
55
55
  ("CNRenderingSessionFrameAttributes", b"new"),
56
56
  ("CNRenderingSession", b"init"),
57
57
  ("CNRenderingSession", b"new"),
58
+ ("CNAssetSpatialAudioInfo", b"init"),
59
+ ("CNAssetSpatialAudioInfo", b"new"),
58
60
  ):
59
61
  objc.registerUnavailableMethod(cls, sel)
60
62
 
@@ -1,6 +1,6 @@
1
1
  # This file is generated by objective.metadata
2
2
  #
3
- # Last update: Tue Jun 11 10:06:23 2024
3
+ # Last update: Thu Jul 24 11:15:01 2025
4
4
  #
5
5
  # flake8: noqa
6
6
 
@@ -31,12 +31,14 @@ else:
31
31
 
32
32
  misc = {}
33
33
  constants = """$CNCinematicErrorDomain$"""
34
- enums = """$CNCinematicErrorCodeCancelled@7$CNCinematicErrorCodeIncompatible@6$CNCinematicErrorCodeIncomplete@3$CNCinematicErrorCodeMalformed@4$CNCinematicErrorCodeUnknown@1$CNCinematicErrorCodeUnreadable@2$CNCinematicErrorCodeUnsupported@5$CNDetectionTypeAutoFocus@100$CNDetectionTypeCatBody@4$CNDetectionTypeCatHead@9$CNDetectionTypeCustom@102$CNDetectionTypeDogBody@5$CNDetectionTypeDogHead@10$CNDetectionTypeFixedFocus@101$CNDetectionTypeHumanFace@1$CNDetectionTypeHumanHead@2$CNDetectionTypeHumanTorso@3$CNDetectionTypeSportsBall@11$CNDetectionTypeUnknown@0$CNRenderingQualityExport@2$CNRenderingQualityExportHigh@3$CNRenderingQualityPreview@1$CNRenderingQualityThumbnail@0$"""
34
+ enums = """$CNCinematicErrorCodeCancelled@7$CNCinematicErrorCodeIncompatible@6$CNCinematicErrorCodeIncomplete@3$CNCinematicErrorCodeMalformed@4$CNCinematicErrorCodeUnknown@1$CNCinematicErrorCodeUnreadable@2$CNCinematicErrorCodeUnsupported@5$CNDetectionTypeAutoFocus@100$CNDetectionTypeCatBody@4$CNDetectionTypeCatHead@9$CNDetectionTypeCustom@102$CNDetectionTypeDogBody@5$CNDetectionTypeDogHead@10$CNDetectionTypeFixedFocus@101$CNDetectionTypeHumanFace@1$CNDetectionTypeHumanHead@2$CNDetectionTypeHumanTorso@3$CNDetectionTypeSportsBall@11$CNDetectionTypeUnknown@0$CNRenderingQualityExport@2$CNRenderingQualityExportHigh@3$CNRenderingQualityPreview@1$CNRenderingQualityThumbnail@0$CNSpatialAudioContentTypeSpatial@1$CNSpatialAudioContentTypeStereo@0$CNSpatialAudioRenderingStyleCinematic@0$CNSpatialAudioRenderingStyleCinematicBackgroundStem@3$CNSpatialAudioRenderingStyleCinematicForegroundStem@4$CNSpatialAudioRenderingStyleInFrame@2$CNSpatialAudioRenderingStyleInFrameBackgroundStem@9$CNSpatialAudioRenderingStyleInFrameForegroundStem@6$CNSpatialAudioRenderingStyleStandard@7$CNSpatialAudioRenderingStyleStudio@1$CNSpatialAudioRenderingStyleStudioBackgroundStem@8$CNSpatialAudioRenderingStyleStudioForegroundStem@5$"""
35
35
  misc.update(
36
36
  {
37
37
  "CNDetectionType": NewType("CNDetectionType", int),
38
38
  "CNRenderingQuality": NewType("CNRenderingQuality", int),
39
39
  "CNCinematicErrorCode": NewType("CNCinematicErrorCode", int),
40
+ "CNSpatialAudioRenderingStyle": NewType("CNSpatialAudioRenderingStyle", int),
41
+ "CNSpatialAudioContentType": NewType("CNSpatialAudioContentType", int),
40
42
  }
41
43
  )
42
44
  misc.update({})
@@ -76,10 +78,55 @@ try:
76
78
  }
77
79
  },
78
80
  )
81
+ r(
82
+ b"CNAssetInfo",
83
+ b"timeRange",
84
+ {"retval": {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}},
85
+ )
86
+ r(
87
+ b"CNAssetSpatialAudioInfo",
88
+ b"checkIfContainsSpatialAudio:completionHandler:",
89
+ {
90
+ "arguments": {
91
+ 3: {
92
+ "callable": {
93
+ "retval": {"type": b"v"},
94
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}},
95
+ }
96
+ }
97
+ }
98
+ },
99
+ )
100
+ r(b"CNAssetSpatialAudioInfo", b"isSupported", {"retval": {"type": b"Z"}})
101
+ r(
102
+ b"CNAssetSpatialAudioInfo",
103
+ b"loadFromAsset:completionHandler:",
104
+ {
105
+ "arguments": {
106
+ 3: {
107
+ "callable": {
108
+ "retval": {"type": b"v"},
109
+ "arguments": {
110
+ 0: {"type": b"^v"},
111
+ 1: {"type": b"@"},
112
+ 2: {"type": b"@"},
113
+ },
114
+ }
115
+ }
116
+ }
117
+ },
118
+ )
79
119
  r(
80
120
  b"CNCompositionInfo",
81
121
  b"insertTimeRange:ofCinematicAssetInfo:atTime:error:",
82
- {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}},
122
+ {
123
+ "retval": {"type": b"Z"},
124
+ "arguments": {
125
+ 2: {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"},
126
+ 4: {"type": b"{CMTime=qiIq}"},
127
+ 5: {"type_modifier": b"o"},
128
+ },
129
+ },
83
130
  )
84
131
  r(
85
132
  b"CNCustomDetectionTrack",
@@ -89,25 +136,52 @@ try:
89
136
  r(
90
137
  b"CNDecision",
91
138
  b"initWithTime:detectionGroupID:strong:",
92
- {"arguments": {4: {"type": b"Z"}}},
139
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}, 4: {"type": b"Z"}}},
93
140
  )
94
141
  r(
95
142
  b"CNDecision",
96
143
  b"initWithTime:detectionID:strong:",
97
- {"arguments": {4: {"type": b"Z"}}},
144
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}, 4: {"type": b"Z"}}},
98
145
  )
99
146
  r(b"CNDecision", b"isGroupDecision", {"retval": {"type": b"Z"}})
100
147
  r(b"CNDecision", b"isStrongDecision", {"retval": {"type": b"Z"}})
101
148
  r(b"CNDecision", b"isUserDecision", {"retval": {"type": b"Z"}})
149
+ r(b"CNDecision", b"time", {"retval": {"type": b"{CMTime=qiIq}"}})
150
+ r(
151
+ b"CNDetection",
152
+ b"initWithTime:detectionType:normalizedRect:focusDisparity:",
153
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}}},
154
+ )
102
155
  r(b"CNDetection", b"isValidDetectionGroupID:", {"retval": {"type": b"Z"}})
103
156
  r(b"CNDetection", b"isValidDetectionID:", {"retval": {"type": b"Z"}})
157
+ r(b"CNDetection", b"time", {"retval": {"type": b"{CMTime=qiIq}"}})
158
+ r(
159
+ b"CNDetectionTrack",
160
+ b"detectionAtOrBeforeTime:",
161
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}}},
162
+ )
163
+ r(
164
+ b"CNDetectionTrack",
165
+ b"detectionNearestTime:",
166
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}}},
167
+ )
168
+ r(
169
+ b"CNDetectionTrack",
170
+ b"detectionsInTimeRange:",
171
+ {"arguments": {2: {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}}},
172
+ )
104
173
  r(b"CNDetectionTrack", b"isDiscrete", {"retval": {"type": b"Z"}})
105
174
  r(b"CNDetectionTrack", b"isUserCreated", {"retval": {"type": b"Z"}})
175
+ r(
176
+ b"CNObjectTracker",
177
+ b"continueTrackingAt:sourceImage:sourceDisparity:",
178
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}}},
179
+ )
106
180
  r(b"CNObjectTracker", b"isSupported", {"retval": {"type": b"Z"}})
107
181
  r(
108
182
  b"CNObjectTracker",
109
183
  b"startTrackingAt:within:sourceImage:sourceDisparity:",
110
- {"retval": {"type": b"Z"}},
184
+ {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"{CMTime=qiIq}"}}},
111
185
  )
112
186
  r(
113
187
  b"CNRenderingSession",
@@ -143,6 +217,46 @@ try:
143
217
  },
144
218
  )
145
219
  r(b"CNScript", b"addUserDecision:", {"retval": {"type": b"Z"}})
220
+ r(
221
+ b"CNScript",
222
+ b"baseDecisionsInTimeRange:",
223
+ {"arguments": {2: {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}}},
224
+ )
225
+ r(
226
+ b"CNScript",
227
+ b"changesTrimmedByTimeRange:",
228
+ {"arguments": {2: {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}}},
229
+ )
230
+ r(
231
+ b"CNScript",
232
+ b"decisionAfterTime:",
233
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}}},
234
+ )
235
+ r(
236
+ b"CNScript",
237
+ b"decisionAtTime:tolerance:",
238
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}, 3: {"type": b"{CMTime=qiIq}"}}},
239
+ )
240
+ r(
241
+ b"CNScript",
242
+ b"decisionBeforeTime:",
243
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}}},
244
+ )
245
+ r(
246
+ b"CNScript",
247
+ b"decisionsInTimeRange:",
248
+ {"arguments": {2: {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}}},
249
+ )
250
+ r(
251
+ b"CNScript",
252
+ b"frameAtTime:tolerance:",
253
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}, 3: {"type": b"{CMTime=qiIq}"}}},
254
+ )
255
+ r(
256
+ b"CNScript",
257
+ b"framesInTimeRange:",
258
+ {"arguments": {2: {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}}},
259
+ )
146
260
  r(
147
261
  b"CNScript",
148
262
  b"loadFromAsset:changes:progress:completionHandler:",
@@ -161,8 +275,39 @@ try:
161
275
  }
162
276
  },
163
277
  )
278
+ r(
279
+ b"CNScript",
280
+ b"primaryDecisionAtTime:",
281
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}}},
282
+ )
164
283
  r(b"CNScript", b"removeDetectionTrack:", {"retval": {"type": b"Z"}})
165
284
  r(b"CNScript", b"removeUserDecision:", {"retval": {"type": b"Z"}})
285
+ r(
286
+ b"CNScript",
287
+ b"secondaryDecisionAtTime:",
288
+ {"arguments": {2: {"type": b"{CMTime=qiIq}"}}},
289
+ )
290
+ r(
291
+ b"CNScript",
292
+ b"timeRange",
293
+ {"retval": {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}},
294
+ )
295
+ r(
296
+ b"CNScript",
297
+ b"timeRangeOfTransitionAfterDecision:",
298
+ {"retval": {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}},
299
+ )
300
+ r(
301
+ b"CNScript",
302
+ b"timeRangeOfTransitionBeforeDecision:",
303
+ {"retval": {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}},
304
+ )
305
+ r(
306
+ b"CNScript",
307
+ b"userDecisionsInTimeRange:",
308
+ {"arguments": {2: {"type": b"{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}}},
309
+ )
310
+ r(b"CNScriptFrame", b"time", {"retval": {"type": b"{CMTime=qiIq}"}})
166
311
  finally:
167
312
  objc._updatingMetadata(False)
168
313
 
@@ -1,18 +1,17 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-Cinematic
3
- Version: 11.0
3
+ Version: 12.0
4
4
  Summary: Wrappers for the framework Cinematic on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
7
7
  Author-email: pyobjc-dev@lists.sourceforge.net
8
- License: MIT License
8
+ License: MIT
9
9
  Keywords: PyObjC,Cinematic
10
10
  Platform: MacOS X (>=14.0)
11
11
  Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: Environment :: Console
13
13
  Classifier: Environment :: MacOS X :: Cocoa
14
14
  Classifier: Intended Audience :: Developers
15
- Classifier: License :: OSI Approved :: MIT License
16
15
  Classifier: Natural Language :: English
17
16
  Classifier: Operating System :: MacOS :: MacOS X
18
17
  Classifier: Programming Language :: Python
@@ -24,17 +23,31 @@ Classifier: Programming Language :: Python :: 3.11
24
23
  Classifier: Programming Language :: Python :: 3.12
25
24
  Classifier: Programming Language :: Python :: 3.13
26
25
  Classifier: Programming Language :: Python :: 3.14
26
+ Classifier: Programming Language :: Python :: 3.15
27
27
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
+ Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
28
29
  Classifier: Programming Language :: Objective C
29
30
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
31
  Classifier: Topic :: Software Development :: User Interfaces
31
32
  Requires-Python: >=3.9
32
33
  Description-Content-Type: text/x-rst; charset=UTF-8
33
- Requires-Dist: pyobjc-core>=11.0
34
- Requires-Dist: pyobjc-framework-Cocoa>=11.0
35
- Requires-Dist: pyobjc-framework-AVFoundation>=11.0
36
- Requires-Dist: pyobjc-framework-CoreMedia>=11.0
37
- Requires-Dist: pyobjc-framework-Metal>=11.0
34
+ Requires-Dist: pyobjc-core>=12.0
35
+ Requires-Dist: pyobjc-framework-Cocoa>=12.0
36
+ Requires-Dist: pyobjc-framework-AVFoundation>=12.0
37
+ Requires-Dist: pyobjc-framework-CoreMedia>=12.0
38
+ Requires-Dist: pyobjc-framework-Metal>=12.0
39
+ Dynamic: author
40
+ Dynamic: author-email
41
+ Dynamic: classifier
42
+ Dynamic: description
43
+ Dynamic: description-content-type
44
+ Dynamic: home-page
45
+ Dynamic: keywords
46
+ Dynamic: license
47
+ Dynamic: platform
48
+ Dynamic: requires-dist
49
+ Dynamic: requires-python
50
+ Dynamic: summary
38
51
  Project-URL: Documentation, https://pyobjc.readthedocs.io/en/latest/
39
52
  Project-URL: Issue tracker, https://github.com/ronaldoussoren/pyobjc/issues
40
53
  Project-URL: Repository, https://github.com/ronaldoussoren/pyobjc
@@ -22,9 +22,8 @@ PyObjCTest/test_cndetectiontrack.py
22
22
  PyObjCTest/test_cnobjecttracker.py
23
23
  PyObjCTest/test_cnrenderingsession.py
24
24
  PyObjCTest/test_cnscript.py
25
+ PyObjCTest/test_cnspatialaudio.py
25
26
  metadata/Cinematic.fwinfo
26
27
  metadata/metadata.ini
27
- metadata/raw/arm64-14.5.fwinfo
28
- metadata/raw/arm64-15.0.fwinfo
29
- metadata/raw/x86_64-14.5.fwinfo
30
- metadata/raw/x86_64-15.0.fwinfo
28
+ metadata/raw/arm64-26.0.fwinfo
29
+ metadata/raw/x86_64-26.0.fwinfo
@@ -0,0 +1,3 @@
1
+ macOS 26.0.1 (25A362)
2
+ Apple clang version 17.0.0 (clang-1700.3.19.1)
3
+ SDK: macOS 26.0
@@ -0,0 +1,5 @@
1
+ pyobjc-core>=12.0
2
+ pyobjc-framework-Cocoa>=12.0
3
+ pyobjc-framework-AVFoundation>=12.0
4
+ pyobjc-framework-CoreMedia>=12.0
5
+ pyobjc-framework-Metal>=12.0
@@ -1,7 +1,7 @@
1
1
  (This is the MIT license, note that libffi-src is a separate product with its own license)
2
2
 
3
3
  Copyright 2002, 2003 - Bill Bumgarner, Ronald Oussoren, Steve Majewski, Lele Gaifax, et.al.
4
- Copyright 2003-2024 - Ronald Oussoren
4
+ Copyright 2003-2025 - Ronald Oussoren
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
7
7
 
@@ -1,18 +1,17 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-Cinematic
3
- Version: 11.0
3
+ Version: 12.0
4
4
  Summary: Wrappers for the framework Cinematic on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
7
7
  Author-email: pyobjc-dev@lists.sourceforge.net
8
- License: MIT License
8
+ License: MIT
9
9
  Keywords: PyObjC,Cinematic
10
10
  Platform: MacOS X (>=14.0)
11
11
  Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: Environment :: Console
13
13
  Classifier: Environment :: MacOS X :: Cocoa
14
14
  Classifier: Intended Audience :: Developers
15
- Classifier: License :: OSI Approved :: MIT License
16
15
  Classifier: Natural Language :: English
17
16
  Classifier: Operating System :: MacOS :: MacOS X
18
17
  Classifier: Programming Language :: Python
@@ -24,17 +23,31 @@ Classifier: Programming Language :: Python :: 3.11
24
23
  Classifier: Programming Language :: Python :: 3.12
25
24
  Classifier: Programming Language :: Python :: 3.13
26
25
  Classifier: Programming Language :: Python :: 3.14
26
+ Classifier: Programming Language :: Python :: 3.15
27
27
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
+ Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
28
29
  Classifier: Programming Language :: Objective C
29
30
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
31
  Classifier: Topic :: Software Development :: User Interfaces
31
32
  Requires-Python: >=3.9
32
33
  Description-Content-Type: text/x-rst; charset=UTF-8
33
- Requires-Dist: pyobjc-core>=11.0
34
- Requires-Dist: pyobjc-framework-Cocoa>=11.0
35
- Requires-Dist: pyobjc-framework-AVFoundation>=11.0
36
- Requires-Dist: pyobjc-framework-CoreMedia>=11.0
37
- Requires-Dist: pyobjc-framework-Metal>=11.0
34
+ Requires-Dist: pyobjc-core>=12.0
35
+ Requires-Dist: pyobjc-framework-Cocoa>=12.0
36
+ Requires-Dist: pyobjc-framework-AVFoundation>=12.0
37
+ Requires-Dist: pyobjc-framework-CoreMedia>=12.0
38
+ Requires-Dist: pyobjc-framework-Metal>=12.0
39
+ Dynamic: author
40
+ Dynamic: author-email
41
+ Dynamic: classifier
42
+ Dynamic: description
43
+ Dynamic: description-content-type
44
+ Dynamic: home-page
45
+ Dynamic: keywords
46
+ Dynamic: license
47
+ Dynamic: platform
48
+ Dynamic: requires-dist
49
+ Dynamic: requires-python
50
+ Dynamic: summary
38
51
 
39
52
 
40
53
  Wrappers for the "Cinematic" framework on macOS.
@@ -0,0 +1 @@
1
+ """test suite"""
@@ -0,0 +1,41 @@
1
+ from PyObjCTools.TestSupport import TestCase, min_os_level
2
+
3
+ import Cinematic
4
+
5
+
6
+ class TestCNSpatialAudio(TestCase):
7
+ def test_constants(self):
8
+ self.assertIsEnumType(Cinematic.CNSpatialAudioRenderingStyle)
9
+ self.assertEqual(Cinematic.CNSpatialAudioRenderingStyleCinematic, 0)
10
+ self.assertEqual(Cinematic.CNSpatialAudioRenderingStyleStudio, 1)
11
+ self.assertEqual(Cinematic.CNSpatialAudioRenderingStyleInFrame, 2)
12
+ self.assertEqual(
13
+ Cinematic.CNSpatialAudioRenderingStyleCinematicBackgroundStem, 3
14
+ )
15
+ self.assertEqual(
16
+ Cinematic.CNSpatialAudioRenderingStyleCinematicForegroundStem, 4
17
+ )
18
+ self.assertEqual(Cinematic.CNSpatialAudioRenderingStyleStudioForegroundStem, 5)
19
+ self.assertEqual(Cinematic.CNSpatialAudioRenderingStyleInFrameForegroundStem, 6)
20
+ self.assertEqual(Cinematic.CNSpatialAudioRenderingStyleStandard, 7)
21
+ self.assertEqual(Cinematic.CNSpatialAudioRenderingStyleStudioBackgroundStem, 8)
22
+ self.assertEqual(Cinematic.CNSpatialAudioRenderingStyleInFrameBackgroundStem, 9)
23
+
24
+ self.assertIsEnumType(Cinematic.CNSpatialAudioContentType)
25
+ self.assertEqual(Cinematic.CNSpatialAudioContentTypeStereo, 0)
26
+ self.assertEqual(Cinematic.CNSpatialAudioContentTypeSpatial, 1)
27
+
28
+ @min_os_level("26.0")
29
+ def test_methods(self):
30
+ self.assertResultIsBOOL(Cinematic.CNAssetSpatialAudioInfo.isSupported)
31
+
32
+ self.assertArgIsBlock(
33
+ Cinematic.CNAssetSpatialAudioInfo.checkIfContainsSpatialAudio_completionHandler_,
34
+ 1,
35
+ b"vZ",
36
+ )
37
+ self.assertArgIsBlock(
38
+ Cinematic.CNAssetSpatialAudioInfo.loadFromAsset_completionHandler_,
39
+ 1,
40
+ b"v@@",
41
+ )