Unbewohnte
3 years ago
13 changed files with 138 additions and 82 deletions
@ -0,0 +1,17 @@
|
||||
package id3ed |
||||
|
||||
// type File struct {
|
||||
// Filename string
|
||||
// ContainsV1 bool
|
||||
// ContainsV2 bool
|
||||
// }
|
||||
|
||||
// type Metadata interface {
|
||||
// Write() error
|
||||
// }
|
||||
|
||||
// func Open(path string) (*File, error) {
|
||||
// return &File{}, nil
|
||||
// }
|
||||
|
||||
// func (f *File) GetMetadata() (*Metadata, error)
|
Binary file not shown.
@ -1,6 +1,12 @@
|
||||
package v2 |
||||
|
||||
//ID3v2
|
||||
const HEADERIDENTIFIER string = "ID3" |
||||
const HEADERSIZE int = 10 // bytes
|
||||
const HEADERMAXSIZE int = 268435456 // bytes (256 MB)
|
||||
const V2_2 string = "ID3v2.2" |
||||
const V2_3 string = "ID3v2.3" |
||||
const V2_4 string = "ID3v2.4" |
||||
|
||||
const V2_2FrameNameSize uint = 3 |
||||
const V2_3FrameNameSize uint = 4 |
||||
const V2_4FrameNameSize uint = 4 |
||||
|
@ -1,34 +0,0 @@
|
||||
package v2 |
||||
|
||||
// Reads ID3v2 frames from rs. NOT TESTED !!!!
|
||||
// func GetFrames(rs io.ReadSeeker) ([]*Frame, error) {
|
||||
// header, err := GetHeader(rs)
|
||||
// if err != nil {
|
||||
// return nil, fmt.Errorf("could not get header: %s", err)
|
||||
// }
|
||||
// tagsize := header.Size
|
||||
|
||||
// var frames []*Frame
|
||||
// var read uint64 = 0
|
||||
// for {
|
||||
// if read == uint64(tagsize) {
|
||||
// break
|
||||
// }
|
||||
|
||||
// frame, err := ReadFrame(rs)
|
||||
// if err != nil {
|
||||
// return frames, fmt.Errorf("could not read frame: %s", err)
|
||||
// }
|
||||
// frames = append(frames, frame)
|
||||
|
||||
// // counting how many bytes has been read
|
||||
// read += 10 // frame header
|
||||
// if frame.Flags.InGroup {
|
||||
// // header has 1 additional byte
|
||||
// read += 1
|
||||
// }
|
||||
// read += uint64(frame.Size) // and the contents itself
|
||||
// }
|
||||
|
||||
// return frames, nil
|
||||
// }
|
@ -1,13 +0,0 @@
|
||||
package v2 |
||||
|
||||
// func TestGetFrames(t *testing.T) {
|
||||
// f, err := os.Open(filepath.Join(TESTDATAPATH, "testreadv2.mp3"))
|
||||
// if err != nil {
|
||||
// t.Errorf("%s", err)
|
||||
// }
|
||||
|
||||
// _, err = GetFrames(f)
|
||||
// if err != nil {
|
||||
// t.Errorf("GetFrames failed: %s", err)
|
||||
// }
|
||||
// }
|
@ -0,0 +1,34 @@
|
||||
package v2 |
||||
|
||||
// type ID3v2Tag struct {
|
||||
// Header *Header
|
||||
// Frames []*Frame
|
||||
// }
|
||||
|
||||
// type V2TagReader interface {
|
||||
// ReadFrames(io.ReadSeeker) ([]*Frame, error)
|
||||
// GetHeader(io.ReadSeeker) (*Header, error)
|
||||
// HasPadding(io.ReadSeeker) (bool, error)
|
||||
// }
|
||||
|
||||
// type V2TagWriter interface {
|
||||
// Write(*os.File) error
|
||||
// }
|
||||
|
||||
// func Get(f *os.File) (*ID3v2Tag, error) {
|
||||
// var tag ID3v2Tag
|
||||
|
||||
// header, err := GetHeader(f)
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// frames, err := GetFrames(f)
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
|
||||
// tag.Header = header
|
||||
// tag.Frames = frames
|
||||
|
||||
// return &tag, nil
|
||||
// }
|
Loading…
Reference in new issue