예제 #1
0
void DecoderIOFactoryShoutCast::makeIODevice(void)
{
    closeIODevice();

    m_input = new ShoutCastIODevice();

    qRegisterMetaType<ShoutCastIODevice::State>("ShoutCastIODevice::State");
    connect(m_input, SIGNAL(meta(const QString&)),
            this,    SLOT(shoutcastMeta(const QString&)));
    connect(m_input, SIGNAL(changedState(ShoutCastIODevice::State)),
            this,    SLOT(shoutcastChangedState(ShoutCastIODevice::State)));
}
예제 #2
0
void NStateButton::changeState( int _n )
{
	if( _n >= 0 && _n < (int) m_states.size() )
	{
		m_curState = _n;

		const QString & _tooltip =
			( m_states[m_curState].second != "" ) ?
				m_states[m_curState].second :
					m_generalToolTip;
		ToolTip::add( this, _tooltip );

		setIcon( m_states[m_curState].first );

		emit changedState( m_curState );
	}
}
예제 #3
0
void ShoutCastIODevice::switchToState(const State &state) 
{
    switch (state) 
    {
        case PLAYING:
            LOG(VB_PLAYBACK, LOG_INFO, QString("Playing %1 (%2) at %3 kbps")
                .arg(m_response->getName())
                .arg(m_response->getGenre())
                .arg(m_response->getBitrate()));
            break;
        case STREAMING:
            if (m_state == STREAMING_META)
                m_bytesTillNextMeta = m_response->getMetaint();
            break;
        case STOPPED:
            m_socket->close();
            break;
        default:
            break;
    }

    m_state = state;
    emit changedState(m_state);
}
void GlyphButton::enterEvent( QEvent *event )
{
    QPushButton::enterEvent( event );
    changedState( isChecked() );
}