Change AddFrame to variadic AddFrames method

develop
Michael Yang 2014-01-17 17:35:53 -05:00
rodzic f5a19a4cae
commit e326fd920b
3 zmienionych plików z 10 dodań i 8 usunięć

2
id3.go
Wyświetl plik

@ -27,7 +27,7 @@ type Tagger interface {
Frames(string) []v2.Framer
Frame(string) v2.Framer
DeleteFrames(string) []v2.Framer
AddFrame(v2.Framer)
AddFrames(...v2.Framer)
Bytes() []byte
Padding() uint
Size() int

Wyświetl plik

@ -134,4 +134,4 @@ func (t Tag) AllFrames() []v2.Framer { return []v2.Framer{} }
func (t Tag) Frame(id string) v2.Framer { return nil }
func (t Tag) Frames(id string) []v2.Framer { return []v2.Framer{} }
func (t Tag) DeleteFrames(id string) []v2.Framer { return []v2.Framer{} }
func (t Tag) AddFrame(f v2.Framer) {}
func (t Tag) AddFrames(f ...v2.Framer) {}

Wyświetl plik

@ -185,13 +185,15 @@ func (t *Tag) DeleteFrames(id string) []Framer {
return frames
}
// Add frame
func (t *Tag) AddFrame(frame Framer) {
t.changeSize(t.frameHeaderSize + int(frame.Size()))
// Add frames
func (t *Tag) AddFrames(frames ...Framer) {
for _, frame := range frames {
t.changeSize(t.frameHeaderSize + int(frame.Size()))
id := frame.Id()
t.frames[id] = append(t.frames[id], frame)
frame.setOwner(t)
id := frame.Id()
t.frames[id] = append(t.frames[id], frame)
frame.setOwner(t)
}
}
func (t Tag) Title() string {