Jump to content

Hi-md Render Project

Rate this topic


Rvmax

Recommended Posts

Hi,

I'm a happy owner of HD3 but there is some transfer limitation between HD and PC. I've try Marc Hi-Md render program but it doesn't work on my configuration (I don't known why).

Sony release a new version of MP3 File Manager and a works perfectly on all HD players HD1, 3, 5. You can transfer MP3 to HD without Sonycstage !!!

"MP3 File Manager Ver.2.0 program which can transfer MP3 files by dragging and dropping them to the Network Walkman."

What's a beautiful software, however you can't transfer audio file from HD to PC. I try to call MP3 File Manager dll to use all function of it and it failed. Marc or other member could help me to discover if there is a solution to use this sofware for transfere from HD to PC.

List of file :

FrankPACAPI.dll

MP3FileManager.exe

MTbl.dll

PACAPIps.dll

Some informations about FrankPACAPI.dll :

function Initialize(bDetect: I4; bstrLogPath: BSTR; bstrTempPath: BSTR): HResult; stdcall;
function GetLogPath(out pbstrLogPath: ^BSTR): HResult; stdcall;
function GetTempPath(out pbstrTempPath: ^BSTR): HResult; stdcall;
function GetDeviceList(out pulCount: ^UI4; out ppbstrDeviceList: ^^BSTR): HResult; stdcall;
function IsMediumPresent(bstrDeviceId: BSTR; out pbPresent: ^I4): HResult; stdcall;
function StartDetection: HResult; stdcall;
function StopDetection: HResult; stdcall;
function CheckDetectionStatus(out pbDetect: ^I4): HResult; stdcall;
function GetDeviceInfo(bstrDeviceId: BSTR; out ppstDeviceInfo: ^^SPacDeviceInfo_): HResult; stdcall;
function GetDeviceLeafId(bstrDeviceId: BSTR; out pulSize: ^UI4; out ppbyteDeviceLeafId: ^^UI1): HResult; stdcall;
=
function GetDeviceUserName(bstrDeviceId: BSTR; out pbstrDeviceUserName: ^BSTR; out peCharacterSet: ^EPacCharacterSet): HResult; stdcall;
function SetDeviceUserName(bstrDeviceId: BSTR; bstrDeviceUserName: BSTR; eCharacterSet: EPacCharacterSet): HResult; stdcall;
function GetDeviceTime(bstrDeviceId: BSTR; out pdateDeviceTime: ^Date): HResult; stdcall;
function SetDeviceTime(bstrDeviceId: BSTR; dateDeviceTime: Date): HResult; stdcall;
function TestDeviceReady(bstrDeviceId: BSTR; out pbReady: ^I4): HResult; stdcall;
function InsertMedium(bstrDeviceId: BSTR): HResult; stdcall;
function EjectMedium(bstrDeviceId: BSTR): HResult; stdcall;
function PowerOn(bstrDeviceId: BSTR): HResult; stdcall;
function PowerOff(bstrDeviceId: BSTR): HResult; stdcall;
function LockMediumRemoval(bstrDeviceId: BSTR): HResult; stdcall;
function UnlockMediumRemoval(bstrDeviceId: BSTR): HResult; stdcall;
function IsMediumRemovalLocked(bstrDeviceId: BSTR; out pbRemovalLocked: ^I4): HResult; stdcall;
function LockMediumAccess(bstrDeviceId: BSTR): HResult; stdcall;
function UnlockMediumAccess(bstrDeviceId: BSTR): HResult; stdcall;
function IsMediumAccessLocked(bstrDeviceId: BSTR; out pbAccessLocked: ^I4): HResult; stdcall;
function ExecCommand(bstrDeviceId: BSTR; ulCommandSize: UI4; pbyteCommand: ^UI1; out plSense: ^I4; out plASC: ^I4; out plASCQ: ^I4): HResult; stdcall;
function ExecCommandIn(bstrDeviceId: BSTR; ulCommandSize: UI4; pbyteCommand: ^UI1; ulDataSizeFromDevice: UI4; out ppbyteDataFromDevice: ^^UI1; out plSense: ^I4; out plASC: ^I4; out plASCQ: ^I4): HResult; stdcall;
function ExecCommandOut(bstrDeviceId: BSTR; ulCommandSize: UI4; pbyteCommand: ^UI1; ulDataSizeToDevice: UI4; pbyteDataSizeToDevice: ^UI1; out plSense: ^I4; out plASC: ^I4; out plASCQ: ^I4): HResult; stdcall;
function GetDeviceStatus(bstrDeviceId: BSTR; out plSense: ^I4; out plASC: ^I4; out plASCQ: ^I4): HResult; stdcall;
function GetMediumInfo(bstrDeviceId: BSTR; out ppstMediumInfo: ^^SPacMediumInfo_): HResult; stdcall;
function TestMediumReady(bstrDeviceId: BSTR; out pbReady: ^I4): HResult; stdcall;
function GetDeviceCaps(bstrDeviceId: BSTR; out ppstDeviceCaps: ^^SPacDeviceCaps_): HResult; stdcall;
function GetDeviceSupportedMediums(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppeMediums: ^^EPacMedium): HResult; stdcall;
function GetDeviceSupportedAudioTypes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetDeviceExpectedAudioTypes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetDeviceSupportedFringes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppeFringeIds: ^^EPacItemProperty): HResult; stdcall;
function GetDeviceSupportedItemProperties(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppePropertyIds: ^^EPacItemProperty): HResult; stdcall;
function GetMediumCaps(bstrDeviceId: BSTR; out ppstMediumCaps: ^^SPacMediumCaps_): HResult; stdcall;
function GetMediumSupportedAudioTypes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetMediumExpectedAudioTypes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetMediumSupportedFringes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppeFringeIds: ^^EPacItemProperty): HResult; stdcall;
function GetMediumSupportedItemProperties(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppePropertyIds: ^^EPacItemProperty): HResult; stdcall;
function GetMediumSupportedMediumProperties(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppePropertyIds: ^^EPacMediumProperty): HResult; stdcall;
function GetMediumProperty(bstrDeviceId: BSTR; ulCount: UI4; pePropertyIds: ^EPacMediumProperty; out ppstProperties: ^^SPacMediumPropertyInfo_): HResult; stdcall;
function SetMediumProperty(bstrDeviceId: BSTR; ulCount: UI4; out pstProperties: ^SPacMediumPropertyInfo_): HResult; stdcall;
function GetMediumCapacity(bstrDeviceId: BSTR; out phyUsedSize: ^I8; out phyFreeSize: ^I8; out phyTotalSize: ^I8): HResult; stdcall;
function GetSupportedInfo(out ppstSupportedInfo: ^^SPacSupportedInfo_): HResult; stdcall;
function GetSupportedCaps(out ppstSupportedCaps: ^^SPacSupportedCaps_): HResult; stdcall;
function GetSupportedAudioTypes(out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetExpectedAudioTypes(out pulCount: ^UI4; out ppstAudioTypes: ^^SPacAudioType_): HResult; stdcall;
function GetSupportedFringes(out pulCount: ^UI4; out ppeFringeIds: ^^EPacItemProperty): HResult; stdcall;
function GetSupportedItemProperties(out pulCount: ^UI4; out ppePropertyIds: ^^EPacItemProperty): HResult; stdcall;
function GetSupportedMediumProperties(out pulCount: ^UI4; out ppePropertyIds: ^^EPacMediumProperty): HResult; stdcall;
function GetExpectedCharacterSet(out pulCount: ^UI4; out ppeArea: ^^EPacArea; out ppeCharacterSets: ^^EPacCharacterSet): HResult; stdcall;
function GetCharacterSet(out peCharacterSet: ^EPacCharacterSet): HResult; stdcall;
function SetCharacterSet(eCharacterSet: EPacCharacterSet): HResult; stdcall;
function EstimateIncreaseSize(bstrDeviceId: BSTR; ulCount: UI4; pstAudioFileInfo: ^SPacAudioFileInfo_; out phyIncreasedSize: ^I8): HResult; stdcall;
function StartTransaction(bstrDeviceId: BSTR): HResult; stdcall;
function EndTransaction(bstrDeviceId: BSTR): HResult; stdcall;
function CheckTransactionStatus(bstrDeviceId: BSTR; out pbInTransaction: ^I4): HResult; stdcall;
function StartExportOperation(bstrDeviceId: BSTR; out pstExportInfo: ^SPacExportInfo_; out plOperationHandle: ^I4): HResult; stdcall;
function SendDataBlock(bstrDeviceId: BSTR; lOperationHandle: I4; ulDataBlockSize: UI4; pbyteDataBlock: ^UI1): HResult; stdcall;
function EndExportOperation(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function StartImportOperation(bstrDeviceId: BSTR; lItemId: I4; out phyReceiveDataSize: ^I8; out plOperationHandle: ^I4): HResult; stdcall;
function ReceiveDataBlock(bstrDeviceId: BSTR; lOperationHandle: I4; ulDataBlockSize: UI4; out pulReceivedSize: ^UI4; out ppbyteDataBlock: ^^UI1): HResult; stdcall;
function EndImportOperation(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function StartDeleteOperation(bstrDeviceId: BSTR; lItemId: I4; out plOperationHandle: ^I4): HResult; stdcall;
function EndDeleteOperation(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function StartUpstreamOperation(bstrDeviceId: BSTR; out plOperationHandle: ^I4): HResult; stdcall;
function SetReceiveDataPosition(bstrDeviceId: BSTR; lOperationHandle: I4; lItemId: I4; hyOffset: I8; eOrigin: EPacFileOrigin): HResult; stdcall;
function EndUpstreamOperation(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function CommitAllOperations(bstrDeviceId: BSTR; out plOperationHandle: ^I4): HResult; stdcall;
function StartErasingMedium(bstrDeviceId: BSTR; eEraseMethod: EPacEraseMethod; out plOperationHandle: ^I4): HResult; stdcall;
function StopErasingMedium(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function EndErasingMedium(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function CancelOperation(bstrDeviceId: BSTR; lOperationHandle: I4): HResult; stdcall;
function GetRunningStatus(bstrDeviceId: BSTR; lOperationHandle: I4; out phyCurrentSize: ^I8; out phyTotalSize: ^I8): HResult; stdcall;
function GetAvailableTreeTypes(bstrDeviceId: BSTR; out pulCount: ^UI4; out ppeItemTreeTypes: ^^EPacItemTree; out pplMaxDepth: ^^I4): HResult; stdcall;
function GetSupportedItemDepth(bstrDeviceId: BSTR; eItemTreeType: EPacItemTree; eItemType: EPacItem; out pulCount: ^UI4; out pplDepth: ^^I4): HResult; stdcall;
function GetItemTreeCaps(bstrDeviceId: BSTR; eItemTreeType: EPacItemTree; eItemType: EPacItem; out plItemTreeCaps: ^I4): HResult; stdcall;
function GetAvailableItemTypes(bstrDeviceId: BSTR; eItemTreeType: EPacItemTree; out pulCount: ^UI4; out ppeItemTypes: ^^EPacItem): HResult; stdcall;
function GetRootItem(bstrDeviceId: BSTR; eItemTreeType: EPacItemTree; out plRootItemId: ^I4): HResult; stdcall;
function GetParentItem(bstrDeviceId: BSTR; lChildItemId: I4; out plParentItemId: ^I4): HResult; stdcall;
function GetChildItemCount(bstrDeviceId: BSTR; lParentItemId: I4; out pulChildCount: ^UI4): HResult; stdcall;
function GetChildItemMaxCount(bstrDeviceId: BSTR; lParentItemId: I4; out plChildMaxCount: ^I4): HResult; stdcall;
function GetChildItems(bstrDeviceId: BSTR; lParentItemId: I4; ulCount: UI4; pulChildItemIndexes: ^UI4; out pplChildItemIds: ^^I4): HResult; stdcall;
function GetOriginalItem(bstrDeviceId: BSTR; lReferenceItemId: I4; out plOriginalItemId: ^I4): HResult; stdcall;
function GetReferenceItems(bstrDeviceId: BSTR; lOriginalItemId: I4; out pulCount: ^UI4; out pplReferenceItemIds: ^^I4): HResult; stdcall;
function GetItemType(bstrDeviceId: BSTR; lItemId: I4; out peItemType: ^EPacItem): HResult; stdcall;
function GetItemTreeType(bstrDeviceId: BSTR; lItemId: I4; out peItemTreeType: ^EPacItemTree): HResult; stdcall;
function GetItemSupportedProperties(bstrDeviceId: BSTR; eItemTreeType: EPacItemTree; eItemType: EPacItem; out pulCount: ^UI4; out ppePropertyIds: ^^EPacItemProperty): HResult; stdcall;
function GetItemProperty(bstrDeviceId: BSTR; lItemId: I4; ulCount: UI4; pePropertyIds: ^EPacItemProperty; out ppstProperties: ^^SPacItemPropertyInfo_): HResult; stdcall;
function SetItemProperty(bstrDeviceId: BSTR; lItemId: I4; ulCount: UI4; out pstProperties: ^SPacItemPropertyInfo_): HResult; stdcall;
function CreateItem(bstrDeviceId: BSTR; eItemType: EPacItem; lDstItemId: I4; ePutPosition: EPacPutPosition; out plCreatedItemId: ^I4): HResult; stdcall;
function CreateReferenceItem(bstrDeviceId: BSTR; lSrcItemId: I4; eItemType: EPacItem; lDstItemId: I4; ePutPosition: EPacPutPosition; out plCreatedItemId: ^I4): HResult; stdcall;
function MoveItem(bstrDeviceId: BSTR; lDstItemId: I4; ePutPosition: EPacPutPosition; ulCount: UI4; plSrcItemIds: ^I4; out pphrResults: ^^HResult): HResult; stdcall;
function DeleteItem(bstrDeviceId: BSTR; ulCount: UI4; plItemIds: ^I4; out pphrResults: ^^HResult): HResult; stdcall;
function StartAccession(bstrDeviceId: BSTR): HResult; stdcall;
function CommitModification(bstrDeviceId: BSTR; out plModifyHandle: ^I4): HResult; stdcall;
function EndAccession(bstrDeviceId: BSTR): HResult; stdcall;
function GetModifyingStatus(bstrDeviceId: BSTR; lModifyHandle: I4; out phyCurrentSize: ^I8; out phyTotalSize: ^I8): HResult; stdcall;
function StopModifying(bstrDeviceId: BSTR; lModifyHandle: I4): HResult; stdcall;
function CreateDirectory(bstrDeviceId: BSTR; bstrPathName: BSTR; bNestedPath: I4; bFileExist: I4): HResult; stdcall;
function RemoveDirectory(bstrDeviceId: BSTR; bstrPathName: BSTR; bNestedPath: I4; bFileExist: I4): HResult; stdcall;
function CreateFile(bstrDeviceId: BSTR; bstrFilePath: BSTR; eDesiredAccess: EPacFileAccess; eOpenMethod: EPacFileOpen; out plFileHandle: ^I4): HResult; stdcall;
function CloseFile(bstrDeviceId: BSTR; lFileHandle: I4): HResult; stdcall;
function ReadFile(bstrDeviceId: BSTR; lFileHandle: I4; ulSizeToRead: UI4; out pulReadSize: ^UI4; out ppbyteBuffer: ^^UI1): HResult; stdcall;
function StartAsyncWriteFile(bstrDeviceId: BSTR; lFileHandle: I4; hyDataSize: I8; eConsecutiveLength: EPacConsecutiveLength; out plModifyHandle: ^I4): HResult; stdcall;
function AsyncWriteFile(bstrDeviceId: BSTR; lFileHandle: I4; ulSizeToWrite: UI4; pbyteBuffer: ^UI1; out pulWrittenSize: ^UI4): HResult; stdcall;
function EndAsyncWriteFile(bstrDeviceId: BSTR; lFileHandle: I4): HResult; stdcall;
function GetPosition(bstrDeviceId: BSTR; lFileHandle: I4; out phyPosition: ^I8): HResult; stdcall;
function SetPosition(bstrDeviceId: BSTR; lFileHandle: I4; hyOffset: I8; eOrigin: EPacFileOrigin): HResult; stdcall;
function SetEndOfFile(bstrDeviceId: BSTR; lFileHandle: I4): HResult; stdcall;
function GetFileSize(bstrDeviceId: BSTR; bstrFilePath: BSTR; out phyFileSize: ^I8): HResult; stdcall;
function GetFileTime(bstrDeviceId: BSTR; bstrFilePath: BSTR; out pdateCreationDate: ^Date; out pdateLastAccessDate: ^Date; out pdateLastWriteDate: ^Date): HResult; stdcall;
function GetFileAttribute(bstrDeviceId: BSTR; bstrFilePath: BSTR; out plAttributes: ^I4): HResult; stdcall;
function SetFileAttribute(bstrDeviceId: BSTR; bstrFilePath: BSTR; lAttributes: I4): HResult; stdcall;
function GetVolumeLabel(bstrDeviceId: BSTR; out pbstrVolumeLabel: ^BSTR): HResult; stdcall;
function SetVolumeLabel(bstrDeviceId: BSTR; bstrVolumeLabel: BSTR): HResult; stdcall;
function MoveFile(bstrDeviceId: BSTR; bstrSrcFilePath: BSTR; bstrDstFilePath: BSTR; bFileExist: I4): HResult; stdcall;
function CopyFile(bstrDeviceId: BSTR; bstrSrcFilePath: BSTR; bstrDstFilePath: BSTR; bFileExist: I4): HResult; stdcall;
function DeleteFile(bstrDeviceId: BSTR; bstrFilePath: BSTR): HResult; stdcall;
function FindFirstFile(bstrDeviceId: BSTR; bstrFilePath: BSTR; out pbstrFoundFileName: ^BSTR; out plFindHandle: ^I4): HResult; stdcall;
function FindNextFile(bstrDeviceId: BSTR; lFindHandle: I4; out pbstrFoundFileName: ^BSTR): HResult; stdcall;
function FindClose(bstrDeviceId: BSTR; lFindHandle: I4): HResult; stdcall;
function IsFileExist(bstrDeviceId: BSTR; bstrFilePath: BSTR; out pbFileExist: ^I4): HResult; stdcall;

smile.gif

Someone have email of Marc ?

Edited by Rvmax
Link to comment
Share on other sites

Hmmm.

I dont know much about the Sony HD players (I dont even have one), so I couldnt tell you if audio upload (from device to PC) is supported by the hardware or not. It could have the same restrictions as NetMD.

The first thing I would do is to create a dummy version of the DLL that logs all calls to all functions before passing the call to the real (renamed) DLL.

Also, I would actually need one of these devices in order to start investigation & development.

Link to comment
Share on other sites

any try this??

does it support HI-MD also?

thanks a lot

Sony release a new version of MP3 File Manager and a works perfectly on all HD players HD1, 3, 5. You can transfer MP3 to HD1/2/3 without Sonycstage !!!

As far as I can see all of this handling is done via unknown COM objects.

Is there a solution to view how functions of FrankPACAPI.dll is call by the program ?

I try to use function of FrankPACAPI.dll in C++ but it doesn't work.

Edited by Rvmax
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...