[svn r707] Fixed the wrong commentary indentation.
4 * @file gmyth/gmyth_recorder.h
6 * @brief <p> GMythRecorder defines functions for playing live tv.
8 * The remote encoder is used by gmyth_tvplayer to setup livetv.
10 * Copyright (C) 2006 INdT - Instituto Nokia de Tecnologia.
11 * @author Hallyson Luiz de Morais Melo <hallyson.melo@indt.org.br>
12 * @author Rosfran Borges <rosfran.borges@indt.org.br>
15 * This program is free software; you can redistribute it and/or modify
16 * it under the terms of the GNU Lesser General Public License as published by
17 * the Free Software Foundation; either version 2 of the License, or
18 * (at your option) any later version.
20 * This program is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
25 * You should have received a copy of the GNU Lesser General Public License
26 * along with this program; if not, write to the Free Software
27 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30 #ifndef __GMYTH_RECORDER_H__
31 #define __GMYTH_RECORDER_H__
33 #include <glib-object.h>
35 #include "gmyth_socket.h"
36 #include "gmyth_programinfo.h"
42 #include <sys/socket.h>
46 #define GMYTH_RECORDER_TYPE (gmyth_recorder_get_type ())
47 #define GMYTH_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_RECORDER_TYPE, GMythRecorder))
48 #define GMYTH_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_RECORDER_TYPE, GMythRecorderClass))
49 #define IS_GMYTH_RECORDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMYTH_RECORDER_TYPE))
50 #define IS_GMYTH_RECORDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_RECORDER_TYPE))
51 #define GMYTH_RECORDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMYTH_RECORDER_TYPE, GMythRecorderClass))
52 typedef struct _GMythRecorder GMythRecorder;
53 typedef struct _GMythRecorderClass GMythRecorderClass;
55 struct _GMythRecorderClass
57 GObjectClass parent_class;
67 /* socket descriptor */
68 GMythSocket *myth_socket;
74 GList *progs_info_list;
79 typedef enum _GMythRecorderChannelChangeDirection
81 CHANNEL_DIRECTION_UP = 0,
82 CHANNEL_DIRECTION_DOWN,
83 CHANNEL_DIRECTION_FAVORITE,
84 CHANNEL_DIRECTION_SAME
85 } GMythRecorderChannelChangeDirection;
87 typedef enum _GMythRecorderBrowseDirection
89 BROWSE_DIRECTION_SAME = 0, /* Stay in the same place */
90 BROWSE_DIRECTION_UP, /* Move up one slot (down one channel) */
91 BROWSE_DIRECTION_DOWN, /* Move down one slot (up one channel) */
92 BROWSE_DIRECTION_LEFT, /* Move left one slot (down one time slot) */
93 BROWSE_DIRECTION_RIGHT, /* Move right one slot (up one time slot) */
94 BROWSE_DIRECTION_FAVORITE /* Move to the next favorite slot */
95 } GMythRecorderBrowseDirection;
97 GType gmyth_recorder_get_type ( void );
99 GMythRecorder *gmyth_recorder_new ( int num, GString * hostname, gshort port );
101 void gmyth_recorder_close ( GMythRecorder * recorder );
103 gboolean gmyth_recorder_setup ( GMythRecorder * recorder );
104 gboolean gmyth_recorder_spawntv ( GMythRecorder * recorder,
105 GString * tvchain_id );
107 gboolean gmyth_recorder_spawntv_no_tvchain ( GMythRecorder * recorder );
109 gboolean gmyth_recorder_stop_livetv ( GMythRecorder * recorder );
111 gboolean gmyth_recorder_send_frontend_ready_command ( GMythRecorder *
114 gboolean gmyth_recorder_check_channel ( GMythRecorder * recorder,
117 gboolean gmyth_recorder_check_channel_name ( GMythRecorder * recorder,
120 gboolean gmyth_recorder_set_channel ( GMythRecorder * recorder, gint channel );
122 gboolean gmyth_recorder_set_channel_name ( GMythRecorder * recorder,
123 const gchar * channel );
125 gboolean gmyth_recorder_change_channel ( GMythRecorder * recorder,
127 GMythRecorderChannelChangeDirection
130 GList *gmyth_recorder_get_channel_list ( GMythRecorder * recorder );
132 gboolean gmyth_recorder_pause_recording ( GMythRecorder * recorder );
134 GMythProgramInfo *gmyth_recorder_get_current_program_info ( GMythRecorder *
137 GMythProgramInfo *gmyth_recorder_get_next_program_info ( GMythRecorder *
140 GMythRecorderBrowseDirection
143 GMythRecorder *gmyth_recorder_get_recorder_from_num ( gint rec_id );
145 gint64 gmyth_recorder_get_file_position ( GMythRecorder * recorder );
147 gboolean gmyth_recorder_is_recording ( GMythRecorder * recorder );
149 gboolean gmyth_recorder_finish_recording ( GMythRecorder * recorder );
151 gboolean gmyth_recorder_stop_playing ( GMythRecorder * recorder );
153 gboolean gmyth_recorder_free_tuner ( GMythRecorder * recorder );
155 gdouble gmyth_recorder_get_framerate ( GMythRecorder * recorder );
158 #endif /* __GMYTH_REMOTE_ENCODER_H__ */