MP3-Player-PktConcert
view release on metacpan or search on metacpan
Player/PktConcert/PktConcert.xs view on Meta::CPAN
if( track ) {
RETVAL = track;
} else {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
SV *
open( self )
ipc_t *self
PREINIT:
int rs;
CODE:
if( (rs = IPC_Open( self )) == -1 ) {
XSRETURN_UNDEF;
} else {
RETVAL = newSViv( 1 );
}
OUTPUT:
RETVAL
void
reset_tracks( self )
ipc_t *self
CODE:
IPC_Reset_List_Tracks( self );
void
send_tracks( self, name, path, ... )
ipc_t *self
SV *name
SV *path
CODE:
if( items > 3 ) {
perl_callback = ST(3);
}
IPC_Send_Track(
self,
(const char *) SvPV_nolen( name ),
(const char *) SvPV_nolen( path ),
progress
);
void
delete_track( self, id )
ipc_t *self
SV *id
PREINIT:
u_int16_t track_id;
CODE:
track_id = SvIV( id );
IPC_Delete_Track( self, track_id );
void
usage( self )
ipc_t *self
PREINIT:
u_int32_t *bfree;
u_int32_t *btotal;
PPCODE:
bfree = (u_int32_t *)safemalloc( sizeof( u_int32_t ));
btotal = (u_int32_t *)safemalloc( sizeof( u_int32_t ));
IPC_Get_Usage( self, bfree, btotal );
EXTEND( SP, 2 );
PUSHs( sv_2mortal( newSViv( *bfree )));
PUSHs( sv_2mortal( newSViv( *btotal )));
MODULE = MP3::Player::PktConcert PACKAGE = MP3::Player::PktConcert::Track
# ============================================================
# MP3::Player::PktConcert::Track CONSTRUCTIOR/DESTRUCTOR
# ============================================================
track_t *
new( CLASS )
char *CLASS
CODE:
RETVAL = (track_t *)safemalloc( sizeof( track_t ));
if( RETVAL == NULL ) {
warn( "unable to allocate memory for MP3::Player::PktConcert::Track" );
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
void
DESTROY( self )
track_t *self
CODE:
safefree( (char*) self );
# ============================================================
# MP3::Player::PktConcert::Track GETTERS/SETTERS
# ============================================================
SV *
name( self )
track_t *self
CODE:
RETVAL = newSVpv( self->name, strlen( self->name ) );
OUTPUT:
RETVAL
SV *
id( self )
track_t *self
CODE:
RETVAL = newSViv( self->id );
OUTPUT:
RETVAL
SV *
bytes( self )
track_t *self
ALIAS:
MP3::Player::PktConcert::Track::size = 2
CODE:
RETVAL = newSViv( self->bytes );
OUTPUT:
RETVAL
( run in 1.652 second using v1.01-cache-2.11-cpan-5511b514fd6 )