-
Notifications
You must be signed in to change notification settings - Fork 1
/
rdoc-generator.rb
185 lines (98 loc) · 2.68 KB
/
rdoc-generator.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
require './libvlc.so'
# Extension for ruby of libvlc written in c++ using swig.
module LibVLC
#Core class of libvlc that holds all the core functions like creation of media and playlist and setting the user agent
class LibVLC
# Allocate a new LibVLC in memory
def initialize()
@lib = Libvlc::LibVLC.new
end
# Set the user agent of class, name is the application's name and http the http user agent
def setUserAgent(name,http)
@lib.setUserAgent(name,http)
end
# Return the version of current libvlc
def getVersion
@lib.getVersion
end
# Create a new VLCMedia class with the path passed as argument
def addMedia(path)
@lib.addMedia(path)
end
# Create a new Playlist and return it
def createPlayList
@lib.createPlayList
end
end
# Implementation of a media, this class holds all information about the media file, you can try to have a dummy output using playMedia.
class VLCMedia
def initialize
@media = Libvlc::VLCMedia.new
end
# Return a MediaPlayer
def playMedia
@media.playMedia
end
# Set the current media to argument
def setMedia(path)
@media.setMedia(path)
end
# Return the information passed as argument
# Argument can be: Title, Description, Url, Artist
def getMeta(meta)
@media.getMeta(meta)
end
end
# Implementation of vlc media player for linux
class VLCMediaPlayer
def initialize
@player = VLCMediaPlayer.new
end
# Set current XWindow id for output
def setXWindow(id)
@player.setXWindow(id)
end
# Play media
def play
@player.play
end
# Stop Media
def stop
@player.stop
end
# Set to passed chapter
def setChapter(n)
@player.setChapter(n)
end
# Set stream to passed position
def setPosition(pos)
@player.setPosition(pos)
end
# Return the FPS of current stream
def getFPS
@player.getFps
end
end
# Implementation of vlc's playlist
class VLCMediaList
def initialize
@list =Libvlc::VLCMediaList.new
end
# This method requires the absolute path of media and then is added to playlist
def addMedia(path)
@list.addMedia(path)
end
# This method removes the n-th element from the playlist
def removeMedia(n)
@list.remove(n)
end
# return the VLCMedia at the n-th position in playlist
def getMedia(n)
@list.getMedia(n)
end
# Return the size of the current playlist
def count
@list.count
end
end
end