njb_send_track(3)

NAME

NJB_Send_Track - transfer a music track to the jukebox

LIBRARY

libnjb

SYNOPSIS

#include <sys/types.h> #include <libnjb.h>
extern int njb_error
int NJB_Send_Track (njb_t *njb, const  char  *path,  const
char  *codec,  const  char  *title, const char *album, const char
*genre, const char *artist, u_int32_t length, u_int32_t tracknum,
const  char  *year,  int  protected, XferCallback *callback, void
*data, u_int32_t *trackid)

DESCRIPTION

This function downloads the music file at path to the NJB.
The codec parameter is required, and cannot be NULL, since it
tells the NJB what audio format the song track is stored in. The
title, album, genre, artist, length , tracknum , year, and
protected parameters are optional, and can be NULL (pointers) or
0 (integers). However, as the NJB organizes tracks by artist,
album, title and genre, is is strongly recommended that these pa
rameters be provided. If title is NULL, then the title will be
substituted with the file name when transferred.
After the track is sucessfully transferred, the trackid
variable is updated with the ID that was assigned by the NJB.
This allows the calling program to update any local file caches.
The callback parameter is a pointed to a callback func
tion, as described in NJB_Get_Track(3).
The data parameter is a pointer to user data of any kind
that the user of the library wants to associate with this trans
fer. This pointer is used for example when accessing several dif
ferent jukeboxes from withing one program. The XferCallback will
also be delivering this pointer to the target routine for deref
erencing. If this parameter is not used (in for example single
device, single-threaded programs) it may be set to NULL.
(On the NJB1, this function increments the NJB's library
counter, provided it has not been incremented previously during
the session.)

RETURN VALUES

If the transfer is successful, NJB_Send_Track returns 0.
Otherwise, -1 is returned and njb_error is set.
EO_ABORTED
The transfer was aborted by the user (the call
back function returned -1).
EO_BADCOUNT
The library counter on the NJB could not be up
dated. The track transfer was successful.
EO_BADDATA
songtag contains invalid data or is not properly
formed.
EO_BADSTATUS
A non-zero status was returned by the NJB during
the file transfer.
EO_INVALID
A required parameter was NULL.
EO_NOMEM There was not enough memory to allocate the file
transfer buffer.
EO_NOMEM There was not enough memory to create the "tag"
for the audio track.
EO_RDSHORT
The NJB sent fewer bytes than expected on the
bulk data pipe.
EO_TIMEOUT
The NJB did not verify that the transfer was
complete after several queries. The track may have still have
been transferred successfully.
EO_TOOBIG There is not enough free disk space on the NJB
to hold the track.
EO_USBBLK An I/O error occurred on the bulk data pipe.
EO_USBCTL An I/O error occurred on the control pipe.
EO_WRSHORT
Fewer bytes than requested were written to the
USB pipe.
EO_XFERDENIED
Could not determie the available disk space on
the NJB.
EO_XFERERROR
The NJB returned a non-zero status when the tag
for the track was transferred.

SEE ALSO

NJB_Get_Track(3), NJB_Replace_Track_Tag(3), songid(3),
XferCallback(3)

January 2003
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout