Difference between revisions of "Emulecollection"

From AMule Project FAQ
Jump to: navigation, search
(=binary files=)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== What is an emulecollection? ==
 
== What is an emulecollection? ==
  
An emulecollection is a file which contains various (hence a collection of) ed2k links. This is usually used to group various related files, e.g. a series.
+
An emulecollection is a file which contains various (hence a collection of) ed2k links. This is usually used to group various related files, e.g. a series or a music album.
  
== emulecollection file structure ==
+
== aMule and emulecollections ==
  
=== text files ===
+
Since aMule [[Changelog_2.2.0 | 2.2.0]], aMule opens emulecollection with the ed2k utility. The syntax is:
 +
  ed2k -e ''file.emulecollection''
  
Lines contain either an ed2k link or a comment starting with #.
+
In aMule shared files view, you can also right click on an emulecollection file and select ''Add files in collection to transfer list'' to open it.
  
=== binary files ===
+
== further reading ==
  
  uint32_t emulecollection version
+
*[http://code.google.com/p/amule-emc/wiki/emulecollection technical information]
  values: COLLECTION_FILE_VERSION1_INITIAL 0x01
+
*[http://contentdb.emule-project.net/ legal downloads with collections]
  COLLECTION_FILE_VERSION2_LARGEFILES 0x02
+
 
+
  version 2 files support files bigger than 4GB (uint64_t file sizes)
+
 
+
  uint32_t header tag count
+
 
+
  header tags:
+
 
+
  TAGTYPE_STRING 0x02
+
  uint16_t 0x0001
+
  FT_FILENAME 0x01
+
  uint16_t string length
+
  std::string string value
+
  TAGTYPE_STRING 0x02
+
  uint16_t 0x0001
+
  FT_COLLECTIONAUTHOR 0x31
+
  uint16_t string length
+
  std::string string value
+
  TAGTYPE_BLOB 0x07
+
  uint16_t 0x0001    FT_COLLECTIONAUTHORKEY 0x32
+
  uint32_t blob size
+
  (notype) blob data
+
 
+
  uint32_t collection file count
+
 
+
  uint32_t file tag count
+
 
+
  at this point the TAGTYPE 0x01 will appear as 0x81 (uType | 0x80)
+
  -> see eMule packets.cpp
+
 
+
  TAGTYPE_HASH 0x01
+
  FT_FILEHASH 0x28
+
  (notype)[16] hash data
+
 
+
  TAGTYPE_UINT32 0x03
+
  FT_FILESIZE 0x02
+
  uint32_t file size
+
  TAGTYPE_UINT16 0x08
+
  FT_FILESIZE 0x02
+
  uint16_t file size
+
  TAGTYPE_UINT8 0x09
+
  FT_FILESIZE 0x02
+
  uint8_t file size
+
  TAGTYPE_UINT64 0x0B
+
  FT_FILESIZE 0x02
+
  uint64_t file size
+
 
+
  TAGTYPE_STR1 to 16 0x11 to 0x20
+
  FT_FILENAME 0x01
+
  std::string file name
+
 
+
  string length is TAGTYPE_STRx - 0x11 + 0x01 [1 to 16]
+
 
+
  TAGTYPE_STRING 0x02
+
  FT_FILENAME 0x01
+
  uint16_t string length
+
  std::string string value   
+
 
+
  (notype) signature (only for signed files)
+

Latest revision as of 19:51, 8 February 2009

What is an emulecollection?

An emulecollection is a file which contains various (hence a collection of) ed2k links. This is usually used to group various related files, e.g. a series or a music album.

aMule and emulecollections

Since aMule 2.2.0, aMule opens emulecollection with the ed2k utility. The syntax is:

 ed2k -e file.emulecollection

In aMule shared files view, you can also right click on an emulecollection file and select Add files in collection to transfer list to open it.

further reading