您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ vlc_object_find函数代码示例

51自学网 2021-06-03 09:44:39
  C++
这篇教程C++ vlc_object_find函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中vlc_object_find函数的典型用法代码示例。如果您正苦于以下问题:C++ vlc_object_find函数的具体用法?C++ vlc_object_find怎么用?C++ vlc_object_find使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了vlc_object_find函数的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: DemuxOpen

//---------------------------------------------------------------------------// DemuxOpen: initialize demux//---------------------------------------------------------------------------static int DemuxOpen( vlc_object_t *p_this ){    demux_t *p_demux = (demux_t*)p_this;    intf_thread_t *p_intf;    char *ext;    // Needed callbacks    p_demux->pf_demux   = Demux;    p_demux->pf_control = DemuxControl;    // Test that we have a valid .vlt file, based on the extension    // TODO: an actual check of the contents would be better...    if( ( ext = strchr( p_demux->psz_path, '.' ) ) == NULL ||        strcasecmp( ext, ".vlt" ) )    {        return VLC_EGENERIC;    }    p_intf = (intf_thread_t *)vlc_object_find( p_this, VLC_OBJECT_INTF,                                               FIND_ANYWHERE );    if( p_intf != NULL )    {        // Do nothing is skins2 is not the main interface        if( var_Type( p_intf, "skin-to-load" ) == VLC_VAR_STRING )        {            playlist_t *p_playlist =                (playlist_t *) vlc_object_find( p_this, VLC_OBJECT_PLAYLIST,                                                FIND_ANYWHERE );            if( p_playlist != NULL )            {                // Make sure the item is deleted afterwards                p_playlist->pp_items[p_playlist->i_index]->b_autodeletion =                    VLC_TRUE;                vlc_object_release( p_playlist );            }            vlc_value_t val;            val.psz_string = p_demux->psz_path;            var_Set( p_intf, "skin-to-load", val );        }        else        {            msg_Warn( p_this,                      "skin could not be loaded (not using skins2 intf)" );        }        vlc_object_release( p_intf );    }    return VLC_SUCCESS;}
开发者ID:forthyen,项目名称:SDesk,代码行数:54,


示例2: RefreshAudioMenu

void RefreshAudioMenu( intf_thread_t *p_intf, HMENU hMenu ){#define MAX_AUDIO_ITEMS 10    vlc_object_t *p_object;    char *ppsz_varnames[MAX_AUDIO_ITEMS];    vlc_object_t * pi_objects[MAX_AUDIO_ITEMS];    int i;    /* Delete old menu */    int count = wce_GetMenuItemCount( hMenu );    for( i = 0; i <= count; i++ ) RemoveMenu( hMenu, 0, MF_BYPOSITION );    if( p_intf->p_sys->p_audio_menu )        MenuItemExt::ClearList( p_intf->p_sys->p_audio_menu );    else p_intf->p_sys->p_audio_menu = new vector<MenuItemExt*>;    /* Initializations */    memset( pi_objects, 0, MAX_AUDIO_ITEMS * sizeof(vlc_object_t *) );    i = 0;    p_object = (vlc_object_t *)        vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE );    if( p_object != NULL )    {        ppsz_varnames[i] = "audio-es";        pi_objects[i++] = p_object;        vlc_object_release( p_object );    }    p_object = (vlc_object_t *)        vlc_object_find( p_intf, VLC_OBJECT_AOUT, FIND_ANYWHERE );    if( p_object != NULL )    {        ppsz_varnames[i] = "audio-device";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "audio-channels";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "visual";        pi_objects[i++] = p_object;        vlc_object_release( p_object );    }    /* Build menu */    RefreshMenu( p_intf, p_intf->p_sys->p_audio_menu,                 hMenu, i, ppsz_varnames, pi_objects, AudioMenu_Events );}
开发者ID:shanewfx,项目名称:vlc-arib,代码行数:48,


示例3: __aout_DecNew

aout_input_t * __aout_DecNew( vlc_object_t * p_this,                              aout_instance_t ** pp_aout,                              audio_sample_format_t * p_format ){    if ( *pp_aout == NULL )    {        /* Create an audio output if there is none. */        *pp_aout = vlc_object_find( p_this, VLC_OBJECT_AOUT, FIND_ANYWHERE );        if( *pp_aout == NULL )        {            msg_Dbg( p_this, "no aout present, spawning one" );            *pp_aout = aout_New( p_this );            /* Everything failed, I'm a loser, I just wanna die */            if( *pp_aout == NULL )            {                return NULL;            }            vlc_object_attach( *pp_aout, p_this->p_vlc );        }        else        {            vlc_object_release( *pp_aout );        }    }    return DecNew( p_this, *pp_aout, p_format );}
开发者ID:forthyen,项目名称:SDesk,代码行数:29,


示例4: setprecision

void EqualizerBands::onUpdate( Subject<VarPercent> &rBand, void *arg ){    // Make sure we are not called from set()    if (!m_isUpdating)    {        float val;        stringstream ss;        // Write one digit after the floating point        ss << setprecision( 1 ) << setiosflags( ios::fixed );        // Convert the band values to a string        val = 40 * ((VarPercent*)m_cBands[0].get())->get() - 20;        ss << val;        for( int i = 1; i < kNbBands; i++ )        {            val = 40 * ((VarPercent*)m_cBands[i].get())->get() - 20;            ss << " " << val;        }        string bands = ss.str();        aout_instance_t *pAout = (aout_instance_t *)vlc_object_find( getIntf(),                VLC_OBJECT_AOUT, FIND_ANYWHERE );        config_PutPsz( getIntf(), "equalizer-bands", bands.c_str() );        if( pAout )        {            // Update the audio output            var_SetString( pAout, "equalizer-bands", (char*)bands.c_str() );            vlc_object_release( pAout );        }    }}
开发者ID:Kafay,项目名称:vlc,代码行数:32,


示例5: __aout_VolumeGet

/***************************************************************************** * aout_VolumeGet : get the volume of the output device *****************************************************************************/int __aout_VolumeGet( vlc_object_t * p_object, audio_volume_t * pi_volume ){    int i_result = 0;    aout_instance_t * p_aout = vlc_object_find( p_object, VLC_OBJECT_AOUT,                               FIND_ANYWHERE );    if ( pi_volume == NULL ) return -1;    if ( p_aout == NULL )    {        *pi_volume = (audio_volume_t)config_GetInt( p_object, "volume" );        return 0;    }    aout_lock_mixer( p_aout );    if ( !p_aout->mixer.b_error )    {        i_result = p_aout->output.pf_volume_get( p_aout, pi_volume );    }    else    {        *pi_volume = (audio_volume_t)config_GetInt( p_object, "volume" );    }    aout_unlock_mixer( p_aout );    vlc_object_release( p_aout );    return i_result;}
开发者ID:mahaserver,项目名称:MHSVLC,代码行数:31,


示例6: aout_FindAndRestart

/***************************************************************************** * aout_FindAndRestart : find the audio output instance and restart ***************************************************************************** * This is used for callbacks of the configuration variables, and we believe * that when those are changed, it is a significant change which implies * rebuilding the audio-device and audio-channels variables. *****************************************************************************/int aout_FindAndRestart( vlc_object_t * p_this, const char *psz_name,                         vlc_value_t oldval, vlc_value_t newval, void *p_data ){    aout_instance_t * p_aout = vlc_object_find( p_this, VLC_OBJECT_AOUT,                               FIND_ANYWHERE );    (void)psz_name;    (void)oldval;    (void)newval;    (void)p_data;    if ( p_aout == NULL ) return VLC_SUCCESS;    if ( var_Type( p_aout, "audio-device" ) != 0 )    {        var_Destroy( p_aout, "audio-device" );    }    if ( var_Type( p_aout, "audio-channels" ) != 0 )    {        var_Destroy( p_aout, "audio-channels" );    }    aout_Restart( p_aout );    vlc_object_release( p_aout );    return VLC_SUCCESS;}
开发者ID:mahaserver,项目名称:MHSVLC,代码行数:33,


示例7: __aout_VolumeDown

/***************************************************************************** * aout_VolumeDown : lower the output volume ***************************************************************************** * If pi_volume != NULL, *pi_volume will contain the volume at the end of the * function. *****************************************************************************/int __aout_VolumeDown( vlc_object_t * p_object, int i_nb_steps,                       audio_volume_t * pi_volume ){    vlc_value_t val;    aout_instance_t * p_aout = vlc_object_find( p_object, VLC_OBJECT_AOUT,                               FIND_ANYWHERE );    int i_result = 0, i_volume = 0, i_volume_step = 0;    i_volume_step = config_GetInt( p_object->p_libvlc, "volume-step" );    i_volume = config_GetInt( p_object, "volume" );    i_volume -= i_volume_step * i_nb_steps;    if ( i_volume < AOUT_VOLUME_MIN )    {        i_volume = AOUT_VOLUME_MIN;    }    config_PutInt( p_object, "volume", i_volume );    var_Create( p_object->p_libvlc, "saved-volume", VLC_VAR_INTEGER );    var_SetInteger( p_object->p_libvlc, "saved-volume", (audio_volume_t) i_volume );    if ( pi_volume != NULL ) *pi_volume = (audio_volume_t) i_volume;    val.b_bool = true;    var_Set( p_object->p_libvlc, "volume-change", val );    if ( p_aout == NULL ) return 0;    aout_lock_mixer( p_aout );    if ( !p_aout->mixer.b_error )    {        i_result = p_aout->output.pf_volume_set( p_aout, (audio_volume_t) i_volume );    }    aout_unlock_mixer( p_aout );    vlc_object_release( p_aout );    return i_result;}
开发者ID:mahaserver,项目名称:MHSVLC,代码行数:41,


示例8: Manage

/***************************************************************************** * Manage: handle aa events ***************************************************************************** * This function should be called regularly by video output thread. It manages * console events. It returns a non null value on error. *****************************************************************************/static int Manage( vout_thread_t *p_vout ){    int event, x, y, b;    event = aa_getevent( p_vout->p_sys->aa_context, 0 );    switch ( event )    {    case AA_MOUSE:        aa_getmouse( p_vout->p_sys->aa_context, &x, &y, &b );        if ( b & AA_BUTTON3 )        {            intf_thread_t *p_intf;            p_intf = vlc_object_find( p_vout, VLC_OBJECT_INTF, FIND_ANYWHERE );            if( p_intf )            {                p_intf->b_menu_change = 1;                vlc_object_release( p_intf );            }        }        break;    case AA_RESIZE:        p_vout->i_changes |= VOUT_SIZE_CHANGE;        aa_resize( p_vout->p_sys->aa_context );        p_vout->p_sys->i_width = aa_imgwidth( p_vout->p_sys->aa_context );        p_vout->p_sys->i_height = aa_imgheight( p_vout->p_sys->aa_context );        break;    default:        break;    }    return( 0 );}
开发者ID:forthyen,项目名称:SDesk,代码行数:36,


示例9: ChangeVFiltersString

static void ChangeVFiltersString( intf_thread_t *p_intf,                                 char *psz_name, vlc_bool_t b_add ){    vout_thread_t *p_vout;    char *psz_parser, *psz_string;    psz_string = config_GetPsz( p_intf, "filter" );    if( !psz_string ) psz_string = strdup("");    psz_parser = strstr( psz_string, psz_name );    if( b_add )    {        if( !psz_parser )        {            psz_parser = psz_string;            asprintf( &psz_string, (*psz_string) ? "%s:%s" : "%s%s",                            psz_string, psz_name );            free( psz_parser );        }        else        {            return;        }    }    else    {        if( psz_parser )        {            memmove( psz_parser, psz_parser + strlen(psz_name) +                            (*(psz_parser + strlen(psz_name)) == ':' ? 1 : 0 ),                            strlen(psz_parser + strlen(psz_name)) + 1 );            /* Remove trailing : : */            if( *(psz_string+strlen(psz_string ) -1 ) == ':' )            {                *(psz_string+strlen(psz_string ) -1 ) = '/0';            }         }         else         {             free( psz_string );             return;         }    }    /* Vout is not kept, so put that in the config */    config_PutPsz( p_intf, "filter", psz_string );    /* Try to set on the fly */    p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,                                              FIND_ANYWHERE );    if( p_vout )    {        var_SetString( p_vout, "filter", psz_string );        vlc_object_release( p_vout );    }    free( psz_string );}
开发者ID:forthyen,项目名称:SDesk,代码行数:60,


示例10: CheckAout

/********************************** * Other functions **********************************/void ExtraPanel::CheckAout(){    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);    if( p_aout != NULL )    {        if( p_aout != p_intf->p_sys->p_aout )        {            /* We want to know if someone changes the bands */            if( var_AddCallback( p_aout, "equalizer-bands",                                    IntfBandsCallback, this ) )            {                /* The variable does not exist yet, wait */                vlc_object_release( p_aout );                return;            }            if( var_AddCallback( p_aout, "equalizer-preamp",                                    IntfPreampCallback, this )  )            {                vlc_object_release( p_aout );                return;            }            /* Ok, we have our variables, make a first update round */            p_intf->p_sys->p_aout = p_aout;            f_preamp = var_GetFloat( p_aout, "equalizer-preamp" );            psz_bands = var_GetString( p_aout, "equalizer-bands" );            b_update = VLC_TRUE;        }        vlc_object_release( p_aout );    }}
开发者ID:forthyen,项目名称:SDesk,代码行数:35,


示例11: __osd_MenuHide

void __osd_MenuHide( vlc_object_t *p_this ){    osd_menu_t *p_osd = NULL;    vlc_value_t lockval;    p_osd = vlc_object_find( p_this, VLC_OBJECT_OSDMENU, FIND_ANYWHERE );    if( p_osd == NULL )    {        msg_Err( p_this, "osd_MenuNext failed" );        return;    }    var_Get( p_this->p_libvlc, "osd_mutex", &lockval );    vlc_mutex_lock( lockval.p_address );#if defined(OSD_MENU_DEBUG)    msg_Dbg( p_osd, "menu off" );#endif    osd_UpdateState( p_osd->p_state,                p_osd->p_state->i_x, p_osd->p_state->i_y,                0, 0, NULL );    osd_SetMenuUpdate( p_osd, true );    vlc_object_release( (vlc_object_t*) p_osd );    vlc_mutex_unlock( lockval.p_address );}
开发者ID:mahaserver,项目名称:MHSVLC,代码行数:26,


示例12: OnEqRestore

void ExtraPanel::OnEqRestore( wxCommandEvent &event ){    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);    if( p_aout == NULL )    {        vlc_value_t val;        vlc_bool_t b_previous = eq_chkbox->IsChecked();        val.f_float = 12.0;        IntfPreampCallback( NULL, NULL, val,val, this );        config_PutFloat( p_intf, "equalizer-preamp", 12.0 );        val.psz_string = strdup( "0 0 0 0 0 0 0 0 0 0" );        IntfBandsCallback( NULL, NULL, val,val, this );        config_PutPsz( p_intf, "equalizer-bands",                                "0 0 0 0 0 0 0 0 0 0");        config_PutPsz( p_intf, "equalizer-preset","flat" );        eq_chkbox->SetValue( b_previous );    }    else    {        var_SetFloat( p_aout, "equalizer-preamp", 12.0 );        config_PutFloat( p_intf, "equalizer-preamp", 12.0 );        var_SetString( p_aout, "equalizer-bands",                                "0 0 0 0 0 0 0 0 0 0");        config_PutPsz( p_intf, "equalizer-bands",                                "0 0 0 0 0 0 0 0 0 0");        var_SetString( p_aout , "equalizer-preset" , "flat" );        config_PutPsz( p_intf, "equalizer-preset","flat" );        vlc_object_release( p_aout );    }}
开发者ID:forthyen,项目名称:SDesk,代码行数:31,


示例13: vlc_object_find

/***************************************************************************** * PlaylistView::SetPlaying *****************************************************************************/voidPlaylistView::RebuildList(){    playlist_t * p_playlist;    p_playlist = (playlist_t *) vlc_object_find( p_intf,        VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );    if( !p_playlist )    {        return;    }    // remove all items    BListItem * item;    int32 count = CountItems();    while( ( item = RemoveItem( --count ) ) )        delete item;        // rebuild listview from VLC's playlist    vlc_mutex_lock( &p_playlist->object_lock );    for( int i = 0; i < p_playlist->i_size; i++ )        AddItem( new PlaylistItem( p_playlist->pp_items[i]->input.psz_name ) );    vlc_mutex_unlock( &p_playlist->object_lock );    vlc_object_release( p_playlist );}
开发者ID:forthyen,项目名称:SDesk,代码行数:29,


示例14: InitThread

/***************************************************************************** * InitThread: *****************************************************************************/static int InitThread( intf_thread_t * p_intf ){    /* We might need some locking here */    if( !p_intf->b_die )    {        input_thread_t * p_input;        p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_PARENT );        /* Maybe the input just died */        if( p_input == NULL )        {            return VLC_EGENERIC;        }        vlc_mutex_lock( &p_intf->change_lock );        p_intf->p_sys->p_input = p_input;        p_intf->p_sys->b_move = VLC_FALSE;        p_intf->p_sys->b_click = VLC_FALSE;        p_intf->p_sys->b_key_pressed = VLC_FALSE;        vlc_mutex_unlock( &p_intf->change_lock );        return VLC_SUCCESS;    }    else    {        return VLC_EGENERIC;    }}
开发者ID:forthyen,项目名称:SDesk,代码行数:35,


示例15:

void ExtraPanel::OnEq2Pass( wxCommandEvent &event ){    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);    vlc_bool_t b_2p = event.IsChecked() ? VLC_TRUE : VLC_FALSE;    if( p_aout == NULL )    {        config_PutInt( p_intf, "equalizer-2pass", b_2p );    }    else    {        var_SetBool( p_aout, "equalizer-2pass", b_2p );        config_PutInt( p_intf, "equalizer-2pass", b_2p );        if( eq_chkbox->IsChecked() )        {            for( int i = 0; i < p_aout->i_nb_inputs; i++ )            {                p_aout->pp_inputs[i]->b_restart = VLC_TRUE;            }        }        vlc_object_release( p_aout );    }}
开发者ID:forthyen,项目名称:SDesk,代码行数:25,


示例16: OnNormvol

void ExtraPanel::OnNormvol( wxCommandEvent &event ){    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);    ChangeFiltersString( p_intf , p_aout, "normvol",                         event.IsChecked() ? VLC_TRUE : VLC_FALSE );    if( p_aout != NULL )        vlc_object_release( p_aout );}
开发者ID:forthyen,项目名称:SDesk,代码行数:9,


示例17: RunIntf

/***************************************************************************** * RunIntf: main loop *****************************************************************************/static void RunIntf( intf_thread_t *p_intf ){    int canc = vlc_savecancel( );    /* Main loop */    while( vlc_object_alive( p_intf ) )    {        vlc_mutex_lock( &p_intf->p_sys->lock );        /* Notify the interfaces */        if( p_intf->p_sys->b_triggered )        {            var_SetBool( p_intf->p_libvlc, "intf-show", true );            p_intf->p_sys->b_triggered = false;        }        vlc_mutex_unlock( &p_intf->p_sys->lock );        /* Take care of the video output */        if( p_intf->p_sys->p_vout && !vlc_object_alive (p_intf->p_sys->p_vout) )        {            var_DelCallback( p_intf->p_sys->p_vout, "mouse-moved",                             MouseEvent, p_intf );            var_DelCallback( p_intf->p_sys->p_vout, "mouse-button-down",                             MouseEvent, p_intf );            vlc_object_release( p_intf->p_sys->p_vout );            p_intf->p_sys->p_vout = NULL;        }        if( p_intf->p_sys->p_vout == NULL )        {            p_intf->p_sys->p_vout = vlc_object_find( p_intf, VLC_OBJECT_VOUT,                                                     FIND_ANYWHERE );            if( p_intf->p_sys->p_vout )            {                var_AddCallback( p_intf->p_sys->p_vout, "mouse-moved",                                 MouseEvent, p_intf );                var_AddCallback( p_intf->p_sys->p_vout, "mouse-button-down",                                 MouseEvent, p_intf );            }        }        /* Wait a bit */        msleep( INTF_IDLE_SLEEP );    }    if( p_intf->p_sys->p_vout )    {        var_DelCallback( p_intf->p_sys->p_vout, "mouse-moved",                         MouseEvent, p_intf );        var_DelCallback( p_intf->p_sys->p_vout, "mouse-button-down",                         MouseEvent, p_intf );        vlc_object_release( p_intf->p_sys->p_vout );    }    vlc_restorecancel( canc );}
开发者ID:Kafay,项目名称:vlc,代码行数:60,


示例18: RefreshNavigMenu

void RefreshNavigMenu( intf_thread_t *p_intf, HMENU hMenu ){#define MAX_NAVIG_ITEMS 10    vlc_object_t *p_object;    char *ppsz_varnames[MAX_NAVIG_ITEMS];    vlc_object_t * pi_objects[MAX_NAVIG_ITEMS];    int i;    /* Delete old menu */    int count = wce_GetMenuItemCount( hMenu );    for( i = 0; i <= count; i++ ) RemoveMenu( hMenu, 0, MF_BYPOSITION );     if( p_intf->p_sys->p_navig_menu )        MenuItemExt::ClearList( p_intf->p_sys->p_navig_menu );    else p_intf->p_sys->p_navig_menu = new vector<MenuItemExt*>;    /* Initializations */    memset( pi_objects, 0, MAX_NAVIG_ITEMS * sizeof(vlc_object_t *) );    i = 0;    p_object = (vlc_object_t *)        vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE );    if( p_object != NULL )    {        ppsz_varnames[i] = "title";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "chapter";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "program";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "navigation";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "dvd_menus";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "prev-title";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "next-title";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "prev-chapter";        pi_objects[i++] = p_object;        ppsz_varnames[i] = "next-chapter";        pi_objects[i++] = p_object;        vlc_object_release( p_object );    }    /* Build menu */    RefreshMenu( p_intf, p_intf->p_sys->p_navig_menu, hMenu, i,                 ppsz_varnames, pi_objects, NavigMenu_Events );}
开发者ID:shanewfx,项目名称:vlc-arib,代码行数:52,


示例19: OnChangeEqualizer

void ExtraPanel::OnChangeEqualizer( wxScrollEvent &event ){    aout_instance_t *p_aout= (aout_instance_t *)vlc_object_find(p_intf,                                 VLC_OBJECT_AOUT, FIND_ANYWHERE);    char psz_values[102];    memset( psz_values, 0, 102 );    /* Smoothing */    int i_diff = event.GetPosition() - i_values[  event.GetId() - Band0_Event ];    i_values[ event.GetId() - Band0_Event] = event.GetPosition();    for( int i = event.GetId() + 1 ; i <= Band9_Event ; i++ )    {        int i_new = band_sliders[ i-Band0_Event ]->GetValue() +           (int)( i_diff * pow( (float)i_smooth / 100 , i- event.GetId() ) ) ;        if( i_new < 0 ) i_new = 0;        if( i_new > 400 ) i_new = 400;        band_sliders[ i-Band0_Event ]->SetValue( i_new );    }    for( int i = Band0_Event ; i < event.GetId() ; i++ )    {        int i_new =   band_sliders[ i-Band0_Event ]->GetValue() +           (int)( i_diff * pow( (float)i_smooth / 100 , event.GetId() - i  ) );        if( i_new < 0 ) i_new = 0;        if( i_new > 400 ) i_new = 400;        band_sliders[ i-Band0_Event ]->SetValue( i_new );    }    /* Write the new bands values */    for( int i = 0 ; i < 10 ; i++ )    {        char psz_val[5];        float f_val = (float)( 400 - band_sliders[i]->GetValue() ) / 10- 20 ;        sprintf( psz_values, "%s %f", psz_values, f_val );        sprintf( psz_val, "%.1f", f_val );        band_texts[i]->SetLabel( band_frequencies[i] + wxT("/n") +                        wxU( psz_val ) + wxT("dB" ) );    }    if( p_aout == NULL )    {        config_PutPsz( p_intf, "equalizer-bands", psz_values );    }    else    {        var_SetString( p_aout, "equalizer-bands", psz_values );        config_PutPsz( p_intf, "equalizer-bands", psz_values );        b_my_update = VLC_TRUE;        vlc_object_release( p_aout );    }}
开发者ID:forthyen,项目名称:SDesk,代码行数:51,



注:本文中的vlc_object_find函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ vlc_object_hold函数代码示例
C++ vlc_object_create函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。