NSScreen *screen;
NSRect screen_rect;
NSRect rect;
- vout_thread_t *p_vout = vlc_object_find( VLCIntf, VLC_OBJECT_VOUT, FIND_ANYWHERE );
+ vout_thread_t *p_vout = getVout();
BOOL blackout_other_displays = config_GetInt( VLCIntf, "macosx-black" );
screen = [NSScreen screenWithDisplayID:(CGDirectDisplayID)var_GetInteger( p_vout, "video-device" )];
{
char *psz_parser, *psz_string;
int i;
- vlc_object_t *p_object = vlc_object_find( p_intf,
- VLC_OBJECT_AOUT, FIND_ANYWHERE );
- aout_instance_t *p_aout = (aout_instance_t *)p_object;
+ aout_instance_t *p_aout = getAout();
+ vlc_object_t *p_object = VLC_OBJECT(p_aout);
if( !p_object )
{
p_object = (vlc_object_t *)pl_Hold( p_intf );
char *psz_name )
{
char *psz_parser, *psz_string;
- vlc_object_t *p_object = vlc_object_find( p_intf,
- VLC_OBJECT_AOUT, FIND_ANYWHERE );
+ vlc_object_t *p_object = VLC_OBJECT(getAout());
if( p_object == NULL )
p_object = (vlc_object_t *)pl_Hold( p_intf );
bool b_2p;
int i;
bool b_enabled = GetFiltersStatus( p_intf, (char *)"equalizer" );
- vlc_object_t *p_object = vlc_object_find( p_intf,
- VLC_OBJECT_AOUT, FIND_ANYWHERE );
+ vlc_object_t *p_object = VLC_OBJECT(getAout());
if( p_object == NULL )
p_object = (vlc_object_t *)pl_Hold( p_intf );
- (IBAction)bandSliderUpdated:(id)sender
{
intf_thread_t *p_intf = VLCIntf;
- vlc_object_t *p_object = vlc_object_find( p_intf,
- VLC_OBJECT_AOUT, FIND_ANYWHERE );
+ vlc_object_t *p_object = VLC_OBJECT(getAout());
if( p_object == NULL )
p_object = (vlc_object_t *)pl_Hold( p_intf );
{
intf_thread_t *p_intf = VLCIntf;
int i;
- vlc_object_t *p_object= vlc_object_find( p_intf,
- VLC_OBJECT_AOUT, FIND_ANYWHERE );
+ vlc_object_t *p_object= VLC_OBJECT(getAout());
if( p_object == NULL )
p_object = (vlc_object_t *)pl_Hold( p_intf );
intf_thread_t *p_intf = VLCIntf;
float f_preamp = [sender floatValue] ;
- vlc_object_t *p_object = vlc_object_find( p_intf,
- VLC_OBJECT_AOUT, FIND_ANYWHERE );
+ vlc_object_t *p_object = VLC_OBJECT(getAout());
if( p_object == NULL )
p_object = (vlc_object_t *)pl_Hold( p_intf );
{
intf_thread_t *p_intf = VLCIntf;
bool b_2p = [sender state] ? true : false;
- vlc_object_t *p_object= vlc_object_find( p_intf,
- VLC_OBJECT_AOUT, FIND_ANYWHERE );
- aout_instance_t *p_aout = (aout_instance_t *)p_object;
+ aout_instance_t *p_aout = getAout();
+ vlc_object_t *p_object= VLC_OBJECT(p_aout);
if( p_object == NULL )
p_object = (vlc_object_t *)pl_Hold( p_intf );
- (void)awakeFromNib
{
int i;
- vlc_object_t *p_object= vlc_object_find( VLCIntf,
- VLC_OBJECT_AOUT, FIND_ANYWHERE );
+ vlc_object_t *p_object= VLC_OBJECT(getAout());
if( p_object == NULL )
p_object = (vlc_object_t *)pl_Hold( VLCIntf );
#import <vlc_aout.h>
#import <vlc_vout.h>
#import <vlc_interface.h>
+#import <vlc_playlist.h>
/*****************************************************************************
* VLCExtended implementation
/* set the adjust-filter-sliders to the values from the prefs and enable
* them, if wanted */
char * psz_vfilters;
- intf_thread_t * p_intf = VLCIntf;
+ intf_thread_t *p_intf = VLCIntf;
psz_vfilters = config_GetPsz( p_intf, "vout-filter" );
/* set the video-filter-checkboxes to the correct values */
if( psz_vfilters )
{
/* read-out the sliders' values and apply them */
intf_thread_t * p_intf = VLCIntf;
- vout_thread_t *p_vout = (vout_thread_t *)vlc_object_find(p_intf, VLC_OBJECT_VOUT, FIND_ANYWHERE);
+ vout_thread_t *p_vout = getVout();
vlc_object_t *p_filter;
if( p_vout == NULL )
else
{
msg_Dbg( p_intf, "we found a vout to adjust, let's look for the filter" );
- p_filter = (vlc_object_t *)vlc_object_find_name( p_intf, "adjust", FIND_ANYWHERE );
+ p_filter = vlc_object_find_name( p_intf, "adjust", FIND_ANYWHERE );
if(! p_filter )
{
NSArray *o_windows = [NSApp orderedWindows];
NSEnumerator *o_enumerator = [o_windows objectEnumerator];
playlist_t * p_playlist = pl_Hold( VLCIntf );
- vout_thread_t *p_vout = vlc_object_find( VLCIntf, VLC_OBJECT_VOUT, FIND_ANYWHERE );
+ vout_thread_t *p_vout = getVout();
vout_thread_t *p_real_vout;
val.f_float = [o_sld_opaque floatValue] / 100;
{
/* read-out the slider's value and apply it */
intf_thread_t * p_intf = VLCIntf;
- aout_instance_t * p_aout= (aout_instance_t *)vlc_object_find(p_intf, VLC_OBJECT_AOUT, FIND_ANYWHERE);
+ aout_instance_t * p_aout= getAout();
if( p_aout != NULL )
{
config_PutPsz( p_intf, "vout-filter", psz_string );
/* Try to set on the fly */
- p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,
- FIND_ANYWHERE );
+ p_vout = getVout();
if( p_vout )
{
var_SetString( p_vout, "vout-filter", psz_string );
config_PutPsz( p_intf, "video-filter", psz_string );
/* Try to set on the fly */
- p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,
- FIND_ANYWHERE );
+ p_vout = getVout();
if( p_vout )
{
var_SetString( p_vout, "video-filter", psz_string );
char *psz_parser, *psz_string;
intf_thread_t * p_intf = VLCIntf;
- aout_instance_t * p_aout= (aout_instance_t *)vlc_object_find(p_intf,
- VLC_OBJECT_AOUT, FIND_ANYWHERE);
+ aout_instance_t * p_aout = getAout();
if( p_aout )
{
}
else
{
- var_SetString( p_aout, "audio-filter", psz_string );
- int i = 0;
- while( i < p_aout->i_nb_inputs )
- {
- p_aout->pp_inputs[i]->b_restart = true;
- i = (i + 1);
- }
- vlc_object_release( p_aout );
+ aout_EnableFilter( p_aout, psz_string, false );
}
free( psz_string );
@"/System/Library/CoreServices/SystemVersion.plist"] \
objectForKey: @"ProductVersion"] floatValue]
+
+// You need to release those objects after use
+input_thread_t *getInput(void);
+vout_thread_t *getVout(void);
+aout_instance_t *getAout(void);
+
/*****************************************************************************
* intf_sys_t: description and status of the interface
*****************************************************************************/
[o_pool release];
}
+#pragma mark -
+#pragma mark Helpers
+
+input_thread_t *getInput(void)
+{
+ intf_thread_t *p_intf = VLCIntf;
+ playlist_t *p_playlist = pl_Hold(p_intf);
+ input_thread_t *p_input = pl_CurrentInput(p_playlist);
+ pl_Release(p_playlist);
+ return p_input;
+}
+
+vout_thread_t *getVout(void)
+{
+ input_thread_t *p_input = getInput();
+ vout_thread_t *p_vout = input_GetVout(p_input);
+ vlc_object_release(p_input);
+ return p_vout;
+}
+
+aout_instance_t *getAout(void)
+{
+ input_thread_t *p_input = getInput();
+ aout_instance_t *p_aout = input_GetAout(p_input);
+ vlc_object_release(p_input);
+ return p_aout;
+}
+
#pragma mark -
#pragma mark Private
- (void)refreshVoutDeviceMenu:(NSNotification *)o_notification
{
- int x,y = 0;
- vout_thread_t * p_vout = vlc_object_find( p_intf, VLC_OBJECT_VOUT,
- FIND_ANYWHERE );
-
- if(! p_vout )
+ int x, y = 0;
+ vout_thread_t * p_vout = getVout();
+ if( !p_vout )
return;
/* clean the menu before adding new entries */
if( !p_vout ) return;
- p_input = vlc_object_find( p_vout, VLC_OBJECT_INPUT, FIND_PARENT );
+ p_input = getInput();
if( !p_input ) return;