Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
ad018626
Commit
ad018626
authored
Sep 20, 2008
by
Pierre d'Herbemont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
macosx: Don't use object_id in controls.
parent
77e71008
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
71 additions
and
67 deletions
+71
-67
modules/gui/macosx/controls.h
modules/gui/macosx/controls.h
+0
-26
modules/gui/macosx/controls.m
modules/gui/macosx/controls.m
+71
-41
No files found.
modules/gui/macosx/controls.h
View file @
ad018626
...
...
@@ -77,8 +77,6 @@
-
(
IBAction
)
forward
:(
id
)
sender
;
-
(
IBAction
)
backward
:(
id
)
sender
;
-
(
id
)
getVoutView
;
-
(
IBAction
)
volumeUp
:(
id
)
sender
;
-
(
IBAction
)
volumeDown
:(
id
)
sender
;
-
(
IBAction
)
mute
:(
id
)
sender
;
...
...
@@ -113,30 +111,6 @@
@end
/*****************************************************************************
* VLCMenuExt interface
*****************************************************************************
* This holds our data for autogenerated menus
*****************************************************************************/
@interface
VLCMenuExt
:
NSObject
{
char
*
psz_name
;
int
i_object_id
;
vlc_value_t
value
;
int
i_type
;
}
-
(
id
)
initWithVar
:
(
const
char
*
)
_psz_name
Object
:
(
int
)
i_id
Value
:
(
vlc_value_t
)
val
ofType
:
(
int
)
_i_type
;
-
(
char
*
)
name
;
-
(
int
)
objectID
;
-
(
vlc_value_t
)
value
;
-
(
int
)
type
;
@end
/*****************************************************************************
* VLCTimeField interface
*****************************************************************************
...
...
modules/gui/macosx/controls.m
View file @
ad018626
...
...
@@ -40,6 +40,31 @@
#include <vlc_osd.h>
#include <vlc_keys.h>
/*****************************************************************************
* VLCAutoGeneratedMenuContent interface
*****************************************************************************
* This holds our data for autogenerated menus
*****************************************************************************/
@interface
VLCAutoGeneratedMenuContent
:
NSObject
{
char
*
psz_name
;
vlc_object_t
*
_vlc_object
;
vlc_value_t
value
;
int
i_type
;
}
-
(
id
)
initWithVariableName
:
(
const
char
*
)
name
ofObject
:
(
vlc_object_t
*
)
object
andValue
:
(
vlc_value_t
)
value
ofType
:
(
int
)
type
;
-
(
const
char
*
)
name
;
-
(
vlc_value_t
)
value
;
-
(
vlc_object_t
*
)
vlcObject
;
-
(
int
)
type
;
@end
#pragma mark -
/*****************************************************************************
* VLCControls implementation
*****************************************************************************/
...
...
@@ -124,7 +149,8 @@
PL_LOCK
;
empty
=
playlist_IsEmpty
(
p_playlist
);
PL_UNLOCK
;
vlc_object_release
(
p_playlist
);
pl_Release
(
p_intf
);
if
(
empty
)
[
o_main
intfOpenFileGeneric
:
(
id
)
sender
];
...
...
@@ -132,29 +158,29 @@
var_SetInteger
(
p_intf
->
p_libvlc
,
"key-action"
,
ACTIONID_PLAY_PAUSE
);
}
/* Small helper method */
/* Small helper method
(Private)
*/
-
(
id
)
getV
outView
-
(
id
)
_v
outView
{
id
o_
window
;
id
o_vout_v
iew
=
nil
;
id
o_embedded_vout_l
ist
=
[[
VLCMain
sharedInstance
]
getEmbeddedList
];
NSEnumerator
*
o_
enumerator
=
[[
NSApp
orderedWindows
]
objectEnumerator
];
while
(
!
o_vout_view
&&
(
o_window
=
[
o_
enumerator
nextObject
]
)
)
id
window
;
id
voutV
iew
=
nil
;
id
embeddedViewL
ist
=
[[
VLCMain
sharedInstance
]
getEmbeddedList
];
NSEnumerator
*
enumerator
=
[[
NSApp
orderedWindows
]
objectEnumerator
];
while
(
!
voutView
&&
(
window
=
[
enumerator
nextObject
]
)
)
{
/* We have an embedded vout */
if
(
[
o_embedded_vout_list
windowContainsEmbedded
:
o_
window
]
)
if
(
[
embeddedViewList
windowContainsEmbedded
:
window
]
)
{
o_vout_view
=
[
o_embedded_vout_list
getViewForWindow
:
o_
window
];
voutView
=
[
embeddedViewList
getViewForWindow
:
window
];
}
/* We have a detached vout */
else
if
(
[[
o_
window
className
]
isEqualToString
:
@"VLCVoutWindow"
]
)
else
if
(
[[
window
className
]
isEqualToString
:
@"VLCVoutWindow"
]
)
{
msg_Dbg
(
VLCIntf
,
"detached vout controls.m call getVoutView"
);
o_vout_view
=
[
o_
window
getVoutView
];
voutView
=
[
window
getVoutView
];
}
}
return
o_vout_view
;
return
[[
voutView
retain
]
autorelease
]
;
}
-
(
IBAction
)
stop
:(
id
)
sender
...
...
@@ -163,7 +189,7 @@
var_SetInteger
(
p_intf
->
p_libvlc
,
"key-action"
,
ACTIONID_STOP
);
/* Close the window directly, because we do know that there
* won't be anymore video. It's currently waiting a bit. */
[[[
self
getV
outView
]
window
]
orderOut
:
self
];
[[[
self
_v
outView
]
window
]
orderOut
:
self
];
}
-
(
IBAction
)
faster
:(
id
)
sender
...
...
@@ -644,18 +670,18 @@
return
;
}
VLC
MenuEx
t
*
o_data
;
VLC
AutoGeneratedMenuConten
t
*
o_data
;
switch
(
i_type
&
VLC_VAR_TYPE
)
{
case
VLC_VAR_VOID
:
o_data
=
[[
VLC
MenuExt
alloc
]
initWithVar
:
psz_variable
Object
:
p_object
->
i_object_id
Value:
val
ofType
:
i_type
];
o_data
=
[[
VLC
AutoGeneratedMenuContent
alloc
]
initWithVariableName
:
psz_variable
ofObject
:
p_object
and
Value:
val
ofType
:
i_type
];
[
o_mi
setRepresentedObject
:
[
NSValue
valueWithPointer
:[
o_data
retain
]]];
break
;
case
VLC_VAR_BOOL
:
o_data
=
[[
VLC
MenuExt
alloc
]
initWithVar
:
psz_variable
Object
:
p_object
->
i_object_id
Value:
val
ofType
:
i_type
];
o_data
=
[[
VLC
AutoGeneratedMenuContent
alloc
]
initWithVariableName
:
psz_variable
ofObject
:
p_object
and
Value:
val
ofType
:
i_type
];
[
o_mi
setRepresentedObject
:
[
NSValue
valueWithPointer
:[
o_data
retain
]]];
if
(
!
(
i_type
&
VLC_VAR_ISCOMMAND
)
)
[
o_mi
setState
:
val
.
b_bool
?
TRUE
:
FALSE
];
...
...
@@ -736,7 +762,7 @@
vlc_value_t
another_val
;
NSMenuItem
*
o_lmi
;
NSString
*
o_title
=
@""
;
VLC
MenuEx
t
*
o_data
;
VLC
AutoGeneratedMenuConten
t
*
o_data
;
switch
(
i_type
&
VLC_VAR_TYPE
)
{
...
...
@@ -748,8 +774,8 @@
text_list
.
p_list
->
p_values
[
i
].
psz_string
:
val_list
.
p_list
->
p_values
[
i
].
psz_string
];
o_lmi
=
[
o_menu
addItemWithTitle
:
o_title
action
:
pf_callback
keyEquivalent
:
@""
];
o_data
=
[[
VLC
MenuExt
alloc
]
initWithVar
:
strdup
(
psz_variable
)
Object
:
p_object
->
i_object_id
Value:
another_val
ofType
:
i_type
];
o_data
=
[[
VLC
AutoGeneratedMenuContent
alloc
]
initWithVariableName
:
strdup
(
psz_variable
)
ofObject
:
p_object
and
Value:
another_val
ofType
:
i_type
];
[
o_lmi
setRepresentedObject
:
[
NSValue
valueWithPointer
:[
o_data
retain
]]];
[
o_lmi
setTarget
:
self
];
...
...
@@ -766,8 +792,8 @@
val_list
.
p_list
->
p_values
[
i
].
i_int
];
o_lmi
=
[[
o_menu
addItemWithTitle
:
o_title
action
:
pf_callback
keyEquivalent
:
@""
]
retain
];
o_data
=
[[
VLC
MenuExt
alloc
]
initWithVar
:
strdup
(
psz_variable
)
Object
:
p_object
->
i_object_id
Value:
val_list
.
p_list
->
p_values
[
i
]
ofType
:
i_type
];
o_data
=
[[
VLC
AutoGeneratedMenuContent
alloc
]
initWithVariableName
:
strdup
(
psz_variable
)
ofObject
:
p_object
and
Value:
val_list
.
p_list
->
p_values
[
i
]
ofType
:
i_type
];
[
o_lmi
setRepresentedObject
:
[
NSValue
valueWithPointer
:[
o_data
retain
]]];
[
o_lmi
setTarget
:
self
];
...
...
@@ -788,26 +814,28 @@
-
(
IBAction
)
toggleVar
:(
id
)
sender
{
NSMenuItem
*
o_mi
=
(
NSMenuItem
*
)
sender
;
VLC
MenuEx
t
*
o_data
=
[[
o_mi
representedObject
]
pointerValue
];
VLC
AutoGeneratedMenuConten
t
*
o_data
=
[[
o_mi
representedObject
]
pointerValue
];
[
NSThread
detachNewThreadSelector
:
@selector
(
toggleVarThread
:)
toTarget:
self
withObject
:
o_data
];
return
;
}
-
(
int
)
toggleVarThread
:
(
id
)
_o_
data
-
(
int
)
toggleVarThread
:
(
id
)
data
{
vlc_object_t
*
p_object
;
NSAutoreleasePool
*
o_pool
=
[[
NSAutoreleasePool
alloc
]
init
];
VLCMenuExt
*
o_data
=
(
VLCMenuExt
*
)
_o_data
;
assert
([
data
isKindOfClass
:[
VLCAutoGeneratedMenuContent
class
]]);
VLCAutoGeneratedMenuContent
*
menuContent
=
(
VLCAutoGeneratedMenuContent
*
)
data
;
vlc_thread_set_priority
(
VLCIntf
,
VLC_THREAD_PRIORITY_LOW
);
p_object
=
(
vlc_object_t
*
)
vlc_object_get
(
VLCIntf
->
p_libvlc
,
[
o_data
objectID
]
)
;
p_object
=
[
menuContent
vlcObject
]
;
if
(
p_object
!=
NULL
)
{
var_Set
(
p_object
,
strdup
([
o_data
name
]),
[
o_data
value
]
);
var_Set
(
p_object
,
[
menuContent
name
],
[
menuContent
value
]
);
vlc_object_release
(
p_object
);
[
o_pool
release
];
return
true
;
...
...
@@ -1041,24 +1069,24 @@
@end
/*****************************************************************************
* VLC
MenuEx
t implementation
* VLC
AutoGeneratedMenuConten
t implementation
*****************************************************************************
* Object connected to a playlistitem which remembers the data belonging to
* the variable of the autogenerated menu
*****************************************************************************/
@implementation
VLC
MenuEx
t
@implementation
VLC
AutoGeneratedMenuConten
t
-
(
id
)
initWithVar
:
(
const
char
*
)
_psz_name
Object
:
(
int
)
i_id
Value
:
(
vlc_value_t
)
val
ofType
:
(
int
)
_i_
type
-
(
id
)
initWithVariableName
:(
const
char
*
)
name
ofObject
:(
vlc_object_t
*
)
object
andValue
:(
vlc_value_t
)
val
ofType
:(
int
)
type
{
self
=
[
super
init
];
if
(
self
!=
nil
)
{
psz_name
=
strdup
(
_psz_
name
);
i_object_id
=
i_id
;
psz_name
=
strdup
(
name
);
_vlc_object
=
vlc_object_yield
(
object
)
;
value
=
val
;
i_type
=
_i_
type
;
i_type
=
type
;
}
return
(
self
);
...
...
@@ -1066,25 +1094,27 @@
-
(
void
)
dealloc
{
vlc_object_release
(
_vlc_object
);
free
(
psz_name
);
[
super
dealloc
];
}
-
(
char
*
)
name
-
(
c
onst
c
har
*
)
name
{
return
psz_name
;
}
-
(
int
)
objectID
-
(
vlc_value_t
)
value
{
return
i_object_id
;
return
value
;
}
-
(
vlc_
value_t
)
value
-
(
vlc_
object_t
*
)
vlcObject
{
return
v
alue
;
return
v
lc_object_yield
(
_vlc_object
)
;
}
-
(
int
)
type
{
return
i_type
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment