#include "config.h"#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <string.h>#include <errno.h>#include "libnjb.h"#include "protocol.h"#include "byteorder.h"#include "njb_error.h"#include "usb_io.h"#include "ioutil.h"#include "defs.h"#include "base.h"#include "eax.h"#include "songid.h"#include "datafile.h"#include "njbtime.h"#include "playlist.h"Defines | |
| #define | NJB_STATUS(a, b) |
Functions | |
| int | njb_init_state (njb_t *njb) |
| int | njb_set_library_counter (njb_t *njb, u_int64_t count) |
| int | njb_get_library_counter (njb_t *njb, njblibctr_t *lcount) |
| int | njb_ping (njb_t *njb) |
| int | njb_verify_last_command (njb_t *njb) |
| int | njb_capture (njb_t *njb, int which) |
| int | njb_get_track_tag_header (njb_t *njb, njbttaghdr_t *tagh, int cmd) |
| njb_songid_t * | njb_get_track_tag (njb_t *njb, njbttaghdr_t *tagh) |
| int | njb_get_playlist_header (njb_t *njb, njbplhdr_t *plh, int cmd) |
| njb_playlist_t * | njb_get_playlist (njb_t *njb, njbplhdr_t *plh) |
| int | njb_get_disk_usage (njb_t *njb, u_int64_t *total, u_int64_t *free_bytes) |
| int | njb_get_owner_string (njb_t *njb, owner_string name) |
| int | njb_set_owner_string (njb_t *njb, owner_string name) |
| int | njb_get_datafile_header (njb_t *njb, njbdfhdr_t *dfh, int cmd) |
| njb_datafile_t * | njb_get_datafile_tag (njb_t *njb, njbdfhdr_t *dfh) |
| u_int32_t | njb_receive_file_block (njb_t *njb, u_int32_t offset, u_int32_t bsize, void *bp) |
| int | njb_request_file (njb_t *njb, u_int32_t fileid) |
| int | njb_transfer_complete (njb_t *njb) |
| int | njb_send_track_tag (njb_t *njb, njbttaghdr_t *tagh, void *tag) |
| int | njb_send_datafile_tag (njb_t *njb, njbdfhdr_t *dfh, void *tag) |
| u_int32_t | njb_send_file_block (njb_t *njb, void *data, u_int32_t blocksize) |
| int | njb_stop_play (njb_t *njb) |
| int | njb_get_eax_size (njb_t *njb, u_int32_t *size) |
| void | njb_read_eaxtypes (njb_t *njb, u_int32_t size) |
| njb_eax_t * | njb_get_nexteax (njb_t *njb) |
| njb_time_t * | njb_get_time (njb_t *njb) |
| int | njb_set_time (njb_t *njb, njb_time_t *time) |
| int | njb_create_playlist (njb_t *njb, char *name, u_int32_t *plid) |
| int | njb_delete_playlist (njb_t *njb, u_int32_t plid) |
| int | njb_rename_playlist (njb_t *njb, u_int32_t plid, char *name) |
| int | njb_add_track_to_playlist (njb_t *njb, u_int32_t plid, u_int32_t trid) |
| int | njb_add_multiple_tracks_to_playlist (njb_t *njb, u_int32_t plid, u_int32_t *trids, u_int16_t ntracks) |
| int | njb_delete_track (njb_t *njb, u_int32_t trackid) |
| int | njb_delete_datafile (njb_t *njb, u_int32_t fileid) |
| int | njb_play_or_queue (njb_t *njb, u_int32_t trackid, int cmd) |
| int | njb_elapsed_time (njb_t *njb, u_int16_t *elapsed, int *change) |
| int | njb_replace_track_tag (njb_t *njb, njbttaghdr_t *tagh, void *tag) |
| int | njb_adjust_sound (njb_t *njb, u_int8_t effect, int16_t value) |
Variables | |
| int | __sub_depth |
| #define NJB_STATUS | ( | a, | |||
| b | ) |
Value:
{ \
char *s = njb_status_string(b);\
njb_error_add_string(a,subroutinename,s);\
free (s); \
}
| int njb_capture | ( | njb_t * | njb, | |
| int | which | |||
| ) |
This function captures the NJB1 device.
| njb | is a pointer to the jukebox object to use. |
| int njb_get_datafile_header | ( | njb_t * | njb, | |
| njbdfhdr_t * | dfh, | |||
| int | cmd | |||
| ) |
Retrieves a datafile header from the NJB1
| int njb_get_disk_usage | ( | njb_t * | njb, | |
| u_int64_t * | total, | |||
| u_int64_t * | free_bytes | |||
| ) |
Get disk usage for the NJB1
| int njb_get_library_counter | ( | njb_t * | njb, | |
| njblibctr_t * | lcount | |||
| ) |
This function gets the library counter from the device. The library counter is sent back and forth to the device to indicate if something in the library as changed.
| njb | is a pointer to the jukebox object to use. is a pointer to the current library counter to get from the device. |
This retrieves an EAX effect from the list of effects read in by the previous functions.
| njb | a pointer to the NJB object to use |
| int njb_get_playlist_header | ( | njb_t * | njb, | |
| njbplhdr_t * | plh, | |||
| int | cmd | |||
| ) |
Gets a playlist header.
| int njb_get_track_tag_header | ( | njb_t * | njb, | |
| njbttaghdr_t * | tagh, | |||
| int | cmd | |||
| ) |
Get a track header from the NJB1.
| int njb_init_state | ( | njb_t * | njb | ) |
Initializes the basic state of the njb->protocol_state for the NJB1-device.
| njb | is a pointer to the jukebox object to use. |
| int njb_ping | ( | njb_t * | njb | ) |
This function pings the NJB1 device to see if it is up and running, and ready for action. This is done every now and then.
| njb | is a pointer to the jukebox object to use. |
| void njb_read_eaxtypes | ( | njb_t * | njb, | |
| u_int32_t | size | |||
| ) |
This reads in the block with EAX types. It is a byte chunk which is then interpreted and the EAX effects are added to a list of effects which is then retrieved by calls to the njb_get_nexteax() function.
| njb | a pointer to the NJB object to use | |
| size | the previously determined size of the EAX block |
| u_int32_t njb_receive_file_block | ( | njb_t * | njb, | |
| u_int32_t | offset, | |||
| u_int32_t | bsize, | |||
| void * | bp | |||
| ) |
offset is the offset into the file, starting at 0. bsize indicates the recieved buffer max size. bp points to the recieve buffer (atleast NJB_XFER_BLOCK_SIZE + NJB_XFER_BLOCK_HEADER_SIZE) lastsort indicates if last transfer was short (ended before requested number of bytes were recieved).
If lastshort == 1, the last call to this function returned a a short read. In that case, a new setup command shall not be sent, the bus shall just keep retrieveing buffer contents from the bulk pipe.
| int njb_set_library_counter | ( | njb_t * | njb, | |
| u_int64_t | count | |||
| ) |
This function sets the library counter on the device. The library counter is sent back and forth to the device to indicate if something in the library has changed.
| njb | is a pointer to the jukebox object to use. | |
| count | is the current library counter to set on the device. |
| int njb_verify_last_command | ( | njb_t * | njb | ) |
This function verifies if the last command was successful or not.
| njb | is a pointer to the jukebox object to use. |
| int __sub_depth |
The current subroutine depth for all of libnjb (global)
1.5.2