id3 0.5.0 → 1.0.0.pre4

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,76 +1,105 @@
1
- --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
1
+ --- !ruby/object:Gem::Specification
4
2
  name: id3
5
- version: !ruby/object:Gem::Version
6
- version: 0.5.0
7
- date: 2008-08-24 00:00:00 -07:00
8
- summary: A native ID3 tag library for Ruby, which does not depend on architecture-dependent C-libraries. It supports reading and writing ID3-tag versions 1.0, 1.1, and 2.2.x, 2,3.x, 2,4.x\n http://www.unixgods.org/~tilo/Ruby/ID3
9
- require_paths:
10
- - lib
11
- email: tools@unixgods.org
12
- homepage: http://www.unixgods.org/~tilo/Ruby/ID3
13
- rubyforge_project:
14
- description: ID3 is a native ruby library for reading and writing ID3 tag versions 1.0, 1.1, and 2.2.x, 2,3.x, 2,4.x
15
- autorequire: id3
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: false
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.pre4
5
+ prerelease: 6
25
6
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
- authors:
7
+ authors:
30
8
  - Tilo Sloboda
31
- files:
32
- - docs/index.html
33
- - docs/Class_Tag2.html
9
+ autorequire: id3
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-07-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: active_support
16
+ requirement: &7397560 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *7397560
25
+ description: ID3 is a native ruby library for reading and writing ID3 tag versions
26
+ 1.0, 1.1, and 2.2.x, 2,3.x, 2,4.x
27
+ email: tilo.sloboda@gmail.com
28
+ executables: []
29
+ extensions: []
30
+ extra_rdoc_files: []
31
+ files:
34
32
  - docs/ID3_comparison.html
35
- - docs/Class_Tag1.html
36
- - docs/ID3v2_frames_comparison.txt
33
+ - docs/hexdump.rb
34
+ - docs/Class_Frame.html
37
35
  - docs/ID3v2_frames_overview.txt
38
- - docs/Module_ID3.html
36
+ - docs/Class_AudioFile.html
37
+ - docs/ID3v2_frames_comparison.html
38
+ - docs/index.html
39
39
  - docs/ID3_comparison2.html
40
+ - docs/Class_Tag2.html
41
+ - docs/Module_ID3.html
40
42
  - docs/id3.html
41
- - docs/Class_Frame.html
42
- - docs/Class_AudioFile.html
43
- - docs/ID3-Standards
44
- - docs/ID3-Standards/id3v2.3.0.html
43
+ - docs/ID3-Standards/id3v2-00.html
44
+ - docs/ID3-Standards/id3v2.4.0-changes.txt
45
45
  - docs/ID3-Standards/id3v2.4.0-frames.html
46
+ - docs/ID3-Standards/id3v2.3.0.html
46
47
  - docs/ID3-Standards/id3v2.4.0-frames.txt
47
- - docs/ID3-Standards/id3v2-00.txt
48
48
  - docs/ID3-Standards/id3v2.4.0-structure.txt
49
+ - docs/ID3-Standards/id3v2.4.0-changes.html
49
50
  - docs/ID3-Standards/id3v2.3.0.txt
50
- - docs/ID3-Standards/id3v2.4.0-changes.txt
51
51
  - docs/ID3-Standards/id3v2.4.0-structure.html
52
- - docs/ID3-Standards/id3v2.4.0-changes.html
53
- - docs/ID3-Standards/id3v2-00.html
54
- - docs/ID3v2_frames_comparison.html
55
- - lib/hexdump.rb
52
+ - docs/ID3-Standards/id3v2-00.txt
53
+ - docs/Class_Tag1.html
56
54
  - lib/id3.rb
57
- - lib/invert_hash.rb
55
+ - lib/id3/module_methods.rb
56
+ - lib/id3/id3.rb
57
+ - lib/id3/constants.rb
58
+ - lib/id3/tag2.rb
59
+ - lib/id3/frame.rb
60
+ - lib/id3/generic_tag.rb
61
+ - lib/id3/audiofile.rb
62
+ - lib/id3/io_extensions.rb
63
+ - lib/id3/tag1.rb
64
+ - lib/id3/frame_array.rb
65
+ - lib/id3/string_extensions.rb
66
+ - lib/helpers/hexdump.rb
67
+ - lib/helpers/ruby_1.8_1.9_compatibility.rb
68
+ - lib/helpers/invert_hash.rb
69
+ - lib/helpers/recursive_helper.rb
70
+ - lib/helpers/hash_extensions.rb
71
+ - lib/helpers/restricted_ordered_hash.rb
58
72
  - LICENSE.html
59
73
  - index.html
60
- - README
74
+ - README.md
61
75
  - CHANGES
62
- test_files: []
63
-
64
- rdoc_options:
76
+ homepage: http://www.unixgods.org/~tilo/Ruby/ID3
77
+ licenses: []
78
+ post_install_message:
79
+ rdoc_options:
65
80
  - --title
66
- - Builder -- Easy XML Building
67
- extra_rdoc_files: []
68
-
69
- executables: []
70
-
71
- extensions: []
72
-
81
+ - Native ID3 Ruby Library - uniform acecss to ID3v1 and ID3v2 tags
82
+ require_paths:
83
+ - lib
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ! '>'
94
+ - !ruby/object:Gem::Version
95
+ version: 1.3.1
73
96
  requirements: []
74
-
75
- dependencies: []
76
-
97
+ rubyforge_project:
98
+ - none
99
+ rubygems_version: 1.8.15
100
+ signing_key:
101
+ specification_version: 3
102
+ summary: A native ID3 tag library for Ruby, which does not depend on architecture-dependent
103
+ C-libraries. It supports reading and writing ID3-tag versions 1.0, 1.1, and 2.2.x,
104
+ 2,3.x, 2,4.x\n http://www.unixgods.org/~tilo/Ruby/ID3
105
+ test_files: []
data/README DELETED
@@ -1,18 +0,0 @@
1
-
2
- This is a BETA-RELEASE of a native Ruby ID3-library.
3
-
4
- Author: Tilo Sloboda <tools-NOSPAM@unixgods.org>
5
-
6
- Home Page: http://www.unixgods.org/~tilo/Ruby/ID3
7
-
8
- License: http://www.unixgods.org/~tilo/artistic-license.html
9
-
10
-
11
- NOTE:
12
-
13
- This is a beta release.. so, if you think there are some problems,
14
- errors, inconsistencies, or there is something missing, please contact
15
- the author - THANK YOU! :-)
16
-
17
-
18
-
@@ -1,197 +0,0 @@
1
-
2
- ===========================
3
- Comparison of ID3v2 Frames:
4
- ===========================
5
-
6
- This document contains a side-by-side comparison over the frames used
7
- in the 3 different versions of the informal ID3v2 standard:
8
- v2.2.0, v2.3.0 and v2.4.0
9
-
10
- This document is a compilation of information which is available in the
11
- documents listed below. The original documents Copyright notices apply.
12
-
13
- ID3 v1.0 : http://www.id3.org/id3v1.html
14
- ID3 v1.1 : http://www.egr.uri.edu/~kovacsp/mp3/ID3-Tag.html
15
-
16
-
17
- ID3v2 2.0: http://www.id3.org/id3v2-00.txt
18
- ID3v2 3.0: http://www.id3.org/id3v2.3.0.txt
19
- ID3v2 4.0: http://www.id3.org/id3v2.4.0-changes.txt
20
- http://www.id3.org/id3v2.4.0-structure.txt
21
- http://www.id3.org/id3v2.4.0-frames.txt
22
-
23
- Please refer to the original documents listed above, for any information
24
- regarding the ID3v2 standards.
25
-
26
-
27
- Author: Tilo Sloboda, Thu, 17 Oct 2002 00:26:54 -0700
28
-
29
-
30
- References:
31
- id3lib-3.8.0 id3lib-3.8.0/include/id3/globals.h
32
-
33
- NOTE: the symbolic names used in the leftmost column are derived
34
- from the names used in id3lib-3.8.0
35
- The symbolic name CRYPTEDMETA is not part of id3lib-3.8.0
36
-
37
- Legend:
38
-
39
- -- : depreciated frame
40
-
41
- -> : replaced by (all frames listed before this one are replaced)
42
-
43
-
44
-
45
- ================================================================================
46
- ID3v2 version
47
- symbolic names 2.0 3.0 4.0 comments
48
- ================================================================================
49
-
50
- CONTENTGROUP TT1 TIT1 TIT1 content group description
51
- TITLE TT2 TIT2 TIT2 title/songname/content description
52
- SUBTITLE TT3 TIT3 TIT3 subtitle/description refinement
53
-
54
- LEADARTIST TP1 TPE1 TPE1 lead performer(s)/soloist(s)
55
- BAND TP2 TPE2 TPE2 band/orchestra/accompaniment
56
- CONDUCTOR TP3 TPE3 TPE3 conductor/performer refinement
57
- MIXARTIST TP4 TPE4 TPE4 interpreted, remixed, modified by
58
-
59
- COMPOSER TCM TCOM TCOM composer
60
- LYRICIST TXT` TEXT TEXT lyricist/text writer
61
-
62
- LANGUAGE TLA TLAN TLAN language(s)
63
- CONTENTTYPE TCO TCON TCON content type
64
-
65
- ALBUM TAL TALB TALB album/movie/show title
66
-
67
- TRACKNUM TRK TRCK TRCK track number/position in set
68
- PARTINSET TPA TPOS TPOS part of set
69
-
70
- ISRC TRC TSRC TSRC international standard recording code
71
-
72
- --------------------------------------------------------------------------------
73
- DATE TDA TDAT date
74
- YEAR TYE TYER year
75
- TIME TIM TIME time
76
- RECORDINGDATES TRD TRDA recording dates
77
- RECORDINGTIME -> TDRC recording time
78
- --------------------------------------------------------------------------------
79
- ORIGYEAR TOR TORY original release year
80
- ORIGRELEASETIME -> TDOR original release time
81
- --------------------------------------------------------------------------------
82
-
83
- BPM TBP TBPM TBPM beats per minute
84
-
85
- MEDIATYPE TMT TMED TMED media type
86
- FILETYPE TFT TFLT TFLT file type
87
- COPYRIGHT TCR TCOP TCOP copyright message
88
-
89
- PUBLISHER TPB TPUB TPUB pblisher
90
- ENCODEDBY TEN TENC TENC encoded by
91
- ENCODERSETTINGS TSS TSSE TSSE software/hardware + settings for encoding
92
-
93
- SONGLEN TLE TLEN TLEN length (ms)
94
- --------------------------------------------------------------------------------
95
- SIZE TSI TSIZ -- size (bytes)
96
- --------------------------------------------------------------------------------
97
-
98
- PLAYLISTDELAY TDY TDLY TDLY playlist delay
99
- INITIALKEY TKE TKEY TKEY initial key
100
-
101
- ORIGALBUM TOT TOAL TOAL original album/movie/show title
102
- ORIGFILENAME TOF TOFN TOFN original filename
103
- ORIGARTIST TOA TOPE TOPE original artist(s)/performer(s)
104
- ORIGLYRICIST TOL TOLY TOLY original lyricist(s)/text writer(s)
105
-
106
- FILEOWNER TOWN TOWN file owner/licensee
107
- NETRADIOSTATION TRSN TRSN internet radio station name
108
- NETRADIOOWNER TRSO TRSO internet radio station owner
109
-
110
- SETSUBTITLE TSST set subtitle
111
- MOOD TMOO mood
112
- PRODUCEDNOTICE TPRO produced notice
113
- ENCODINGTIME TDEN encoding time
114
- RELEASETIME TDRL release time
115
- TAGGINGTIME TDTG tagging time
116
-
117
- ALBUMSORTORDER TSOA album sort order
118
- PERFORMERSORTORDER TSOP performer sort order
119
- TITLESORTORDER TSOT title sort order
120
-
121
- USERTEXT TXX TXXX TXXX user defined text information frame
122
-
123
-
124
- WWWAUDIOFILE WAF WOAF WOAF official audio file webpage
125
- WWWARTIST WAR WOAR WOAR official artist/performer webpage
126
- WWWAUDIOSOURCE WAS WOAS WOAS official audion source webpage
127
- WWWCOMMERCIALINFO WCM WCOM WCOM commercial information
128
- WWWCOPYRIGHT WCP WCOP WCOP copyright/legal information
129
- WWWPUBLISHER WPB WPUB WPUB publishers official webpage
130
-
131
- WWWRADIOPAGE WORS WORS official internet radio station homepage
132
- WWWPAYMENT WPAY WPAY payment
133
-
134
- WWWUSER WXX WXXX WXXX user defined URL link frame
135
-
136
- --------------------------------------------------------------------------------
137
- INVOLVEDPEOPLE IPL IPLS involved people list
138
- MUSICIANCREDITLIST -> TMCL musician credits list
139
- INVOLVEDPEOPLE2 -> TIPL involved people list
140
- --------------------------------------------------------------------------------
141
-
142
- UNSYNCEDLYRICS ULT USLT USLT unsynchronised lyrics/text transcription
143
- COMMENT COM COMM COMM comments
144
-
145
- TERMSOFUSE USER USER terms of use
146
-
147
-
148
- ================================================================================
149
- ID3v2 version
150
- symbolic names 2.0 3.0 4.0 comments
151
- ================================================================================
152
-
153
- CDID MCI MCDI MCDI music CD identifier
154
- EVENTTIMING ETC ETCO ETCO event timing codes
155
- MPEGLOOKUP MLL MLLT MLLT MPEG location lookup table
156
-
157
- SYNCEDTEMPO STC SYTC SYTC synchronised tempo codes
158
- SYNCEDLYRICS SLT SYLT SYLT synchronised lyrics/text
159
-
160
- --------------------------------------------------------------------------------
161
- VOLUMEADJ RVA RVAD relative volume adjustment
162
- VOLUMEADJ2 -> RVA2 relative volume adjustment (2)
163
- --------------------------------------------------------------------------------
164
- EQUALIZATION EQU EQUA equalization
165
- EQUALIZATION2 -> EQU2 equalization (2)
166
- --------------------------------------------------------------------------------
167
-
168
- REVERB REV RVRB RVRB reverb
169
- PICTURE PIC APIC APIC attached picture
170
- GENERALOBJECT GEO GEOB GEOB general encapsulated object
171
-
172
- PLAYCOUNTER CNT PCNT PCNT play counter
173
- POPULARIMETER POP POPM POPM popularimeter
174
-
175
- BUFFERSIZE BUF RBUF RBUF recommended buffer size
176
-
177
- CRYPTEDMETA CRM encrypted meta frame
178
- AUDIOCRYPTO CRA AENC AENC audio encryption
179
-
180
- LINKEDINFO LNK LINK LINK linked information
181
-
182
- POSITIONSYNC POSS POSS position synchronisation frame
183
-
184
- COMMERCIAL COMR COMR commercial frame
185
- CRYPTOREG ENCR ENCR encryption method registration
186
- GROUPINGREG GRID GRID group indentification registration
187
- PRIVATE PRIV PRIV private frame
188
-
189
- OWNERSHIP OWNE ownership frame
190
- SIGNATURE SIGN signature frame
191
- SEEKFRAME SEEK seek frame
192
- AUDIOSEEKPOINT ASPI audio seek point index
193
-
194
- ================================================================================
195
- ID3v2 version
196
- symbolic names 2.0 3.0 4.0 comments
197
- ================================================================================
@@ -1,105 +0,0 @@
1
- # ==============================================================================
2
- # EXTENDING CLASS HASH
3
- # ==============================================================================
4
- #
5
- # (C) Copyright 2004 by Tilo Sloboda <tools@unixgods.org>
6
- #
7
- # updated: Time-stamp: <Sat 18-Dec-2004 12:44:13 Tilo Sloboda>
8
- #
9
- # License:
10
- # Freely available under the terms of the OpenSource "Artistic License"
11
- # in combination with the Addendum A (below)
12
- #
13
- # In case you did not get a copy of the license along with the software,
14
- # it is also available at: http://www.unixgods.org/~tilo/artistic-license.html
15
- #
16
- # Addendum A:
17
- # THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU!
18
- # SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
19
- # REPAIR OR CORRECTION.
20
- #
21
- # IN NO EVENT WILL THE COPYRIGHT HOLDERS BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
22
- # SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY
23
- # TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
24
- # INACCURATE OR USELESS OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
25
- # TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDERS OR OTHER PARTY HAS BEEN
26
- # ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
27
-
28
- # ==============================================================================
29
- #
30
- # Homepage: http://www.unixgods.org/~tilo/Ruby/invert_hash.html
31
- #
32
- #
33
- # Ruby's Hash.invert method leaves a lot to wish for.. it can't handle the
34
- # common case that two or more hash entries point to the same value..
35
- #
36
- # e.g.:
37
- # h = {"ooh gott"=>3, "bla"=>3, "aua"=>3, "kotz"=>2, "blubb"=>9, "seier"=>3, "schigga"=>9}
38
- # h.invert
39
- # => {2=>"kotz", 3=>"seier", 9=>"schigga"}
40
- #
41
- # the above result IS SIMPLY WRONG!
42
- #
43
- # h.invert.invert
44
- # => {"kotz"=>2, "seier"=>3, "schigga"=>9}
45
- #
46
- # h.invert.invert == h
47
- # => false
48
- #
49
- # Let's conclude that Ruby's built-in Hash.invert method is REALLY BROKEN!
50
- #
51
- #
52
- # OK, let's try this new inverse method:
53
- #
54
- # require 'invert_hash'
55
- #
56
- # h.inverse
57
- # => {2=>"kotz", 3=>["seier", "aua", "bla", "ooh gott"], 9=>["schigga", "blubb"]}
58
- #
59
- # h.inverse.inverse
60
- # => {"ooh gott"=>3, "bla"=>3, "aua"=>3, "kotz"=>2, "blubb"=>9, "seier"=>3, "schigga"=>9}
61
- #
62
- # h.inverse.inverse == h
63
- # => true
64
- #
65
- # Looks much better, doesn't it?
66
-
67
-
68
-
69
- class Hash
70
-
71
- def inverse
72
- i = Hash.new
73
- self.each_pair{ |k,v|
74
- if (v.class == Array)
75
- v.each{ |x|
76
- if i.has_key?(x)
77
- i[x] = [k,i[x]].flatten
78
- else
79
- i[x] = k
80
- end
81
- }
82
- else
83
- if i.has_key?(v)
84
- i[v] = [k,i[v]].flatten
85
- else
86
- i[v] = k
87
- end
88
- end
89
- }
90
- return i
91
- end
92
-
93
- end
94
-
95
- __END__
96
-
97
- # if you want to permanently overload Ruby's original invert method, you may want to do this:
98
-
99
- class Hash
100
- alias old_invert invert
101
-
102
- def invert
103
- self.inverse
104
- end
105
- end