796 CMDiscHeader* mpDiscHeader;
802 CNetMdSecure* mpSecure;
808 std::mutex mMutexHotplug;
854 void import(
int trackCount = 0, uint32_t lenInMs = 0, uint8_t* data =
nullptr);
872 int addTrack(uint8_t no, uint32_t lengthMs,
const std::string& title,
const std::time_t& tstamp,
bool mono =
false);
930 uint32_t mLengthInMs;
This class describes a C++ NetMD access library.
Definition netmd++.h:443
int initHotPlug()
init libusb hotplug (native or emulation)
void registerForHotplugEvents(EvtCallback cb)
register hotplug callback function
int discFlags()
request disc flags
int setGroupTitle(uint16_t group, const std::string &title)
Sets the group title.
int discCapacity(DiscCapacity &dcap)
get disc capacity
int trackBitRate(uint16_t track, AudioEncoding &encoding, uint8_t &channel)
get track bitrate data
static void setLogStream(std::ostream &os)
Sets the log stream.
int trackTitle(uint16_t track, std::string &title)
get track title
int writeUTOCSector(UTOCSector s, const NetMDByteVector &data)
Writes an utoc sector.
void endHBSession(uint32_t features)
stop homebrew session
int trackCount()
request track count
int setTrackTitle(uint16_t trackNo, const std::string &title)
Sets the track title.
bool spUploadSupported()
is SP upload supported?
~CNetMdApi()
Destroys the object.
bool tocManipSupported()
is TOC manipulation supported?
CNetMdApi()
Constructs a new instance.
int createGroup(const std::string &title, int first, int last)
Creates a group.
bool otfEncodeSupported()
is on the fly encoding supported by device
Groups groups()
get MD track groups
int moveTrack(uint16_t from, uint16_t to)
move a track (number)
int setDiscTitle(const std::string &title)
Sets the disc title.
int trackFlags(uint16_t track, TrackProtection &flags)
get track flags
int addTrackToGroup(int track, int group)
Adds a track to group.
int discTitle(std::string &title)
get disc title
int delTrackFromGroup(int track, int group)
remove track from group
bool pcmSpeedupSupported()
is PCM speedup supportd
static void setLogLevel(int severity)
Sets the log level.
int trackTime(int trackNo, TrackTime &trackTime)
get track time
int finalizeTOC(bool reset=false, uint8_t resetWait=15)
finalize TOC through exploit
int initDevice()
Initializes the device.
int startHBSession(uint32_t features)
start homebrew
int deleteTrack(uint16_t track)
delete track
bool nativeMonoUploadSupported()
is native mono upload supported?
std::string getDeviceName() const
Gets the device name.
NetMDByteVector readUTOCSector(UTOCSector s)
Reads an utoc sector.
int deleteGroup(int group)
delete a group
int sendAudioFile(const std::string &filename, const std::string &title, DiskFormat otf)
Sends an audio track.
bool pcm2MonoSupported()
is PCM to mono supported?
int prepareTOCManip()
prepare TOC manipulation
CNetMdTOC(int trackCount=0, uint32_t lenInMs=0, uint8_t *data=nullptr)
Constructs a new instance.
int trackCount() const
get track count
~CNetMdTOC()
Destroys the object.
std::string trackTitle(int trackNo) const
get track title
std::string trackInfo(int trackNo) const
get track info
std::vector< DAOFragment > DAOFragments
type to store all DAO track fragments (for fragmented, non empty discs)
Definition netmd++.h:831
std::string discInfo() const
get disc info
int addTrack(uint8_t no, uint32_t lengthMs, const std::string &title, const std::time_t &tstamp, bool mono=false)
Adds a track.
std::string discTitle() const
get MD title
int setDiscTitle(const std::string &title)
Sets the disc title.
TrackProtection
type safe protection flags
Definition netmd++.h:288
@ PROTECTED
track is protected
Definition netmd++.h:290
@ UNKNOWN
unknown track state
Definition netmd++.h:291
@ UNPROTECTED
track is unprotected
Definition netmd++.h:289
AudioEncoding
type safe encoding flags
Definition netmd++.h:296
@ LP2
LP2 encoding.
Definition netmd++.h:298
@ SP
SP encoding.
Definition netmd++.h:297
@ LP4
LP4 encoding.
Definition netmd++.h:299
HomebrewFeatures
NetMD homebrew features.
Definition netmd++.h:363
@ SP_UPLOAD
SP upload.
Definition netmd++.h:365
@ PCM_SPEEDUP
PCM speedup.
Definition netmd++.h:367
@ PCM_2_MONO
PCM to mono.
Definition netmd++.h:366
@ USB_EXEC
USB execution.
Definition netmd++.h:368
@ NOTHING
no features
Definition netmd++.h:364
std::vector< Group > Groups
netmd groups
Definition netmd++.h:372
NetMDByteVector & operator+=(NetMDByteVector &a, const NetMDByteVector &b)
Addition assignment operator for NetMDByteVector.
std::vector< uint8_t > NetMDByteVector
byte vector
Definition netmd++.h:375
typelog
log severity
Definition netmd++.h:305
@ CAPTURE
needed for log parcing!
Definition netmd++.h:310
@ WARN
more serious
Definition netmd++.h:308
@ CRITICAL
critical information
Definition netmd++.h:309
@ INFO
information
Definition netmd++.h:307
@ DEBUG
debug information
Definition netmd++.h:306
NetMdErr
NetMD errors.
Definition netmd++.h:264
@ NETMDERR_USB
general USB error
Definition netmd++.h:266
@ NETMDERR_NOT_SUPPORTED
not supported
Definition netmd++.h:273
@ NETMDERR_NOTREADY
player not ready for command
Definition netmd++.h:267
@ NETMDERR_AGAIN
try again
Definition netmd++.h:275
@ NETMDERR_TIMEOUT
timeout while waiting for response
Definition netmd++.h:268
@ NETMDERR_CMD_INVALID
minidisc responded with 0A response
Definition netmd++.h:270
@ NETMDERR_PARAM
parameter error
Definition netmd++.h:271
@ NETMDERR_NO_ERROR
success
Definition netmd++.h:265
@ NETMDERR_INTERIM
interim
Definition netmd++.h:274
@ NETMDERR_CMD_FAILED
minidisc responded with 08 response
Definition netmd++.h:269
@ NETMDERR_OTHER
any other error
Definition netmd++.h:272
CNetMdApi netmd_pp
use netmd_pp instead of CNetMdApi
Definition netmd++.h:437
DiskFormat
disk format
Definition netmd++.h:254
@ NETMD_DISKFORMAT_SP_STEREO
SP stereo.
Definition netmd++.h:258
@ NETMD_DISKFORMAT_LP4
LP4.
Definition netmd++.h:255
@ NETMD_DISKFORMAT_LP2
LP2.
Definition netmd++.h:256
@ NO_ONTHEFLY_CONVERSION
dont do on-the-fly encoding
Definition netmd++.h:259
@ NETMD_DISKFORMAT_SP_MONO
SP mono.
Definition netmd++.h:257
std::function< void(bool)> EvtCallback
hotplug callback function signature
Definition netmd++.h:382
UTOCSector
TOC sector names.
Definition netmd++.h:315
@ FW_TITLES
full width titles
Definition netmd++.h:319
@ POS_ADDR
position and addresses of audio data
Definition netmd++.h:316
@ UNKNWN_1
some unidentified TOC sector #1
Definition netmd++.h:320
@ TSTAMPS
time stamps
Definition netmd++.h:318
@ UNKNON_2
some unidentified TOC sector #2
Definition netmd++.h:321
@ HW_TITLES
half width titles
Definition netmd++.h:317
std::ostream & operator<<(std::ostream &o, const TrackTime &tt)
format helper for TrackTime
a fragment used in DAO track
Definition netmd++.h:825
uint32_t mEnd
end group
Definition netmd++.h:827
uint32_t mStart
start group
Definition netmd++.h:826
Structure to hold the capacity information of a disc.
Definition netmd++.h:335
NetMdTime total
Definition netmd++.h:341
NetMdTime recorded
Time allready recorded on the disc.
Definition netmd++.h:337
NetMdTime available
Definition netmd++.h:345
track group
Definition netmd++.h:352
int16_t mFirst
first track
Definition netmd++.h:354
int mGid
group id
Definition netmd++.h:353
int16_t mLast
last track
Definition netmd++.h:355
std::string mName
group name
Definition netmd++.h:356
NetMD time.
Definition netmd++.h:326
uint8_t minute
minute
Definition netmd++.h:328
uint8_t second
second
Definition netmd++.h:329
uint16_t hour
hour
Definition netmd++.h:327
uint8_t frame
frame
Definition netmd++.h:330
track times
Definition netmd++.h:280
int mTenthSecs
time in 10ms
Definition netmd++.h:283
int mSeconds
time in seconds
Definition netmd++.h:282
int mMinutes
time in minutes
Definition netmd++.h:281