57 #ifndef __NJB__PROTO3__H 58 #define __NJB__PROTO3__H 63 #define NJB3_SHORTREAD_BUFSIZE 1024 66 #define NJB3_CHUNK_SIZE 0x100000U 67 #define NJB3_FIRMWARE_CHUNK_SIZE 0x40000U 68 #define NJB3_DEFAULT_GET_FILE_BLOCK_SIZE 0x2000U 69 #define NJB3_DEFAULT_SEND_FILE_BLOCK_SIZE 0x2000U 80 #define NJB3_CODECS_FRAME_ID 0x0001U 81 #define NJB3_DISKUTIL_FRAME_ID 0x0002U 82 #define NJB3_PRODID_FRAME_ID 0x0003U 88 #define NJB3_LOCKED_FRAME_ID 0x0006U 89 #define NJB3_FNAME_FRAME_ID 0x0007U 90 #define NJB3_UNKNOWN1_FRAME_ID 0x0008U 91 #define NJB3_KEY_FRAME_ID 0x000aU 92 #define NJB3_CODEC_FRAME_ID 0x000bU 93 #define NJB3_POSTID_FRAME_ID 0x000cU 94 #define NJB3_DIR_FRAME_ID 0x000dU 95 #define NJB3_FILESIZE_FRAME_ID 0x000eU 102 #define NJB3_FILECOUNT_FRAME_ID 0x0013U 103 #define NJB3_VALUE_FRAME_ID 0x0014U 104 #define NJB3_JUKEBOXID_FRAME_ID 0x0015U 105 #define NJB3_FILETIME_FRAME_ID 0x0016U 106 #define NJB3_UNKNOWN6_FRAME_ID 0x0017U 107 #define NJB3_FILEFLAGS_FRAME_ID 0x0018U 112 #define NJB3_ALBUM_FRAME_ID 0x0101U 113 #define NJB3_ARTIST_FRAME_ID 0x0102U 114 #define NJB3_GENRE_FRAME_ID 0x0103U 115 #define NJB3_TITLE_FRAME_ID 0x0104U 116 #define NJB3_LENGTH_FRAME_ID 0x0105U 117 #define NJB3_TRACKNO_FRAME_ID 0x0106U 118 #define NJB3_YEAR_FRAME_ID 0x0107U 128 #define NJB3_SMARTPAR_FRAME_ID 0x010aU 137 #define NJB3_PLAYINFO_FRAME_ID 0x010bU 138 #define NJB3_SEEKTRACK_FRAME_ID 0x010cU 139 #define NJB3_EAX_TYPENAME 0x010eU 140 #define NJB3_PLNAME_FRAME_ID 0x010fU 155 #define NJB3_TIME_FRAME_ID 0x0110U 156 #define NJB3_ALBUMCNT_FRAME_ID 0x0111U 157 #define NJB3_TRACKCNT_FRAME_ID 0x0112U 158 #define NJB3_OWNER_FRAME_ID 0x0113U 168 #define NJB3_BATTERY_FRAME_ID 0x0114U 169 #define NJB3_PLCNT_FRAME_ID 0x0115U 181 #define NJB3_PLAYTRACK_FRAME_ID 0x0119U 187 #define NJB3_UNKNOWN4_FRAME_ID 0x011aU 188 #define NJB3_PLTRACKS_FRAME_ID 0x011cU 197 #define NJB3_MINMAX_ID 0x0201U 198 #define NJB3_EAX_ACTIVE_ID 0x0202U 200 #define NJB3_VOLUME_FRAME_ID 0x0203U 201 #define NJB3_ENV_FRAME_ID 0x0204U 202 #define NJB3_EQ_FRAME_ID 0x0205U 203 #define NJB3_SPAT_FRAME_ID 0x0206U 204 #define NJB3_TSCALE_FRAME_ID 0x0207U 205 #define NJB3_SMARTVOL_FRAME_ID 0x0208U 206 #define NJB3_EAXACTIVE_FRAME_ID 0x020aU 207 #define NJB3_EAXID_FRAME_ID 0x020bU 208 #define NJB3_EAX_INDEX_ID 0x020cU 209 #define NJB3_KEYVALUE_FRAME_ID 0x1400U 213 #define NJB3_FILE_DATABASE 0x0000U 214 #define NJB3__PLAYLIST_DATABASE 0x0001U 215 #define NJB3_TRACK_DATABASE 0x0002U 218 #define NJB3_CODEC_MP3_ID_OLD 0x0000U 219 #define NJB3_CODEC_WAV_ID 0x0001U 220 #define NJB3_CODEC_MP3_ID 0x0002U 221 #define NJB3_CODEC_WMA_ID 0x0003U 228 #define NJB3_CODEC_AA_ID 0x0007U 229 #define NJB3_CODEC_PROTECTED_WMA_ID 0x0203U 232 #define NJB3_START_PLAY 0x00 233 #define NJB3_STOP_PLAY 0x01 234 #define NJB3_PAUSE_PLAY 0x02 235 #define NJB3_RESUME_PLAY 0x03 238 #define NJB3_STATUS_OK 0x0000U 239 #define NJB3_STATUS_EMPTY 0x0001U 240 #define NJB3_STATUS_TRANSFER_ERROR 0x0002U 241 #define NJB3_STATUS_BAD_FILESIZE 0x0003U 242 #define NJB3_STATUS_NOTIMPLEMENTED 0x0004U 243 #define NJB3_STATUS_NOTEXIST 0x0005U 244 #define NJB3_STATUS_PROTECTED 0x000cU 245 #define NJB3_STATUS_EMPTY_CHUNK 0x000eU 262 #define njb3_start_play(njb) njb3_ctrl_playing(njb, NJB3_START_PLAY) 263 #define njb3_stop_play(njb) njb3_ctrl_playing(njb, NJB3_STOP_PLAY) 264 #define njb3_pause_play(njb) njb3_ctrl_playing(njb, NJB3_PAUSE_PLAY) 265 #define njb3_resume_play(njb) njb3_ctrl_playing(njb, NJB3_RESUME_PLAY) 270 int get_extended_tag_info;
277 int current_playing_track;
312 int njb3_set_bitmap(
njb_t *njb, u_int16_t x_size, u_int16_t y_size,
const unsigned char *bitmap);
313 int njb3_current_track (
njb_t *njb, u_int16_t * track);
314 int njb3_elapsed_time (
njb_t *njb, u_int16_t * elapsed,
int * change);
315 int njb3_play_track (
njb_t *njb, u_int32_t trackid);
316 int njb3_queue_track (
njb_t *njb, u_int32_t trackid);
317 int njb3_clear_play_queue(
njb_t *njb);
318 int njb3_ctrl_playing (
njb_t *njb,
int cmd);
319 int njb3_seek_track (
njb_t *njb, u_int32_t position);
321 int njb3_ping (
njb_t *njb,
int type);
323 int njb3_readid (
njb_t *njb, u_int8_t *sdmiid);
324 int njb3_capture (
njb_t *njb);
325 int njb3_release (
njb_t *njb);
326 int njb3_get_disk_usage (
njb_t *njb, u_int64_t *totalbytes, u_int64_t *freebytes);
327 int njb3_turnoff_flashing(
njb_t *njb);
328 int njb3_get_owner_string (
njb_t *njb,
char *name);
329 int njb3_set_owner_string (
njb_t *njb,
const char *name);
332 int njb3_reset_get_track_tag (
njb_t *njb);
338 int njb3_read_keys(
njb_t *njb);
342 u_int32_t njb3_create_file(
njb_t *njb,
unsigned char *ptag, u_int32_t tagsize, u_int16_t database);
343 u_int32_t njb3_send_file_chunk(
njb_t *njb,
unsigned char *chunk, u_int32_t chunksize, u_int32_t fileid);
344 int njb3_send_file_complete(
njb_t *njb, u_int32_t fileid);
345 int njb3_create_folder(
njb_t *njb,
const char *name, u_int32_t *folderid);
346 int njb3_delete_item(
njb_t *njb, u_int32_t itemid);
352 int njb3_adjust_volume(
njb_t *njb, u_int16_t value);
354 int njb3_adjust_eax(
njb_t *njb, u_int16_t eaxid, u_int16_t patchindex, u_int16_t active, u_int16_t scalevalue);
355 void njb3_read_eaxtypes(
njb_t *njb);
void njb3_destroy_state(njb_t *njb)
Definition: protocol3.c:4593
Definition: protocol3.h:268
u_int8_t fwMajor
Definition: protocol3.h:287
char * product_name
Definition: protocol3.h:285
int njb3_get_codecs(njb_t *njb)
Definition: protocol3.c:223
int njb3_set_bitmap(njb_t *njb, u_int16_t x_size, u_int16_t y_size, const unsigned char *bitmap)
Definition: protocol3.c:950
u_int8_t eax_processor_active
Definition: protocol3.h:283
u_int8_t turbo_mode
Definition: protocol3.h:301
int njb3_control_eax_processor(njb_t *njb, u_int16_t state)
Definition: protocol3.c:4028
int njb3_init_state(njb_t *njb)
Definition: protocol3.c:41
int njb3_reset_get_datafile_tag(njb_t *njb)
Definition: protocol3.c:3019
int njb3_update_string_frame(njb_t *njb, u_int32_t itemid, u_int16_t frameid, unsigned char *str)
Definition: protocol3.c:3728
int njb3_add_multiple_tracks_to_playlist(njb_t *njb, u_int32_t *plid, u_int32_t *trids, u_int16_t ntracks)
Definition: protocol3.c:3944
int njb3_get_firmware_confirmation(njb_t *njb)
Definition: protocol3.c:4569
u_int8_t hwRel
Definition: protocol3.h:297
int njb3_get_file_block(njb_t *njb, unsigned char *data, u_int32_t maxsize)
Definition: protocol3.c:3342
int njb3_reset_get_playlist_tag(njb_t *njb)
Definition: protocol3.c:2814
u_int8_t fwRel
Definition: protocol3.h:291
int njb3_update_16bit_frame(njb_t *njb, u_int32_t itemid, u_int16_t frameid, u_int16_t value)
Definition: protocol3.c:3675
int njb3_power_status(njb_t *njb, int *battery_level, int *charging, int *ac_power)
Definition: protocol3.c:403
u_int32_t njb3_send_firmware_chunk(njb_t *njb, u_int32_t chunksize, unsigned char *chunk)
Definition: protocol3.c:4545
int njb3_create_playlist(njb_t *njb, char *name, u_int32_t *plid)
Definition: protocol3.c:3865
u_int8_t fwMinor
Definition: protocol3.h:289
int njb3_update_tag(njb_t *njb, u_int32_t trackid, unsigned char *ptag, u_int32_t ptagsize)
Definition: protocol3.c:3798
u_int8_t hwMinor
Definition: protocol3.h:295
int njb3_announce_firmware(njb_t *njb, u_int32_t size)
Definition: protocol3.c:4519
u_int16_t last_elapsed
Definition: protocol3.h:299
u_int8_t hwMajor
Definition: protocol3.h:293
int njb3_request_file_chunk(njb_t *njb, u_int32_t fileid, u_int32_t offset)
Definition: protocol3.c:3239