Ignore:
Timestamp:
07/19/09 05:51:19 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

got the gnome mixer to display a dummy slider :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/gstreamer0.10/roarmixer.c

    r2074 r2076  
    152152} 
    153153 
     154G_DEFINE_TYPE (GstRoarMixerTrack, gst_roarmixer_track, GST_TYPE_MIXER_TRACK); 
     155 
    154156GstRoarMixer*    gst_roarmixer_new                (const gchar *device, 
    155157                                                 GstRoarMixerDirection dir) { 
    156158  GstRoarMixer *ret = NULL; 
     159 
     160  ROAR_WARN("gst_roarmixer_new(device='%s', dir=0x%.4x) = ?", device, dir); 
    157161 
    158162  g_return_val_if_fail(device != NULL, NULL); 
     
    172176   goto error; 
    173177 
     178  ROAR_WARN("gst_roarmixer_new(device='%s', dir=0x%.4x) = %p", device, dir, ret); 
    174179  return ret; 
    175180 
     
    178183    gst_roarmixer_free (ret); 
    179184 
     185  ROAR_WARN("gst_roarmixer_new(device='%s', dir=0x%.4x) = NULL // Error?", device, dir); 
    180186  return NULL; 
    181187} 
     
    183189void            gst_roarmixer_free               (GstRoarMixer *mixer) { 
    184190  g_return_if_fail(mixer != NULL); 
     191 
     192  ROAR_WARN("gst_roarmixer_free(mixer=%p) = ?", mixer); 
    185193 
    186194  if (mixer->device) { 
     
    203211 
    204212  g_free (mixer); 
     213 
     214  ROAR_WARN("gst_roarmixer_free(mixer=%p) = (void)", mixer); 
    205215} 
    206216 
     
    217227} 
    218228 
     229void            gst_roarmixer_updatestreamlist   (GstRoarMixer *mixer) { 
     230  gboolean record = FALSE; 
     231  gboolean input  = FALSE; 
     232  gint  master = 0; 
     233  gint  i      = 0; 
     234  gint  channels = 2; 
     235  GstMixerTrack *track; 
     236 
     237  ROAR_WARN("gst_roarmixer_updatestreamlist(mixer=%p) = ?", mixer); 
     238 
     239  if (mixer->tracklist) { 
     240    ROAR_WARN("gst_roarmixer_updatestreamlist(mixer=%p) = (void)", mixer); 
     241    return; 
     242  } 
     243 
     244      track = gst_roarmixer_track_new (mixer, i, channels, 
     245          (record ? GST_MIXER_TRACK_RECORD : 0) | 
     246          (input ? GST_MIXER_TRACK_INPUT : 
     247              GST_MIXER_TRACK_OUTPUT) | 
     248          ((master != i) ? 0 : GST_MIXER_TRACK_MASTER)); 
     249      mixer->tracklist = g_list_append (mixer->tracklist, track); 
     250 
     251  ROAR_WARN("gst_roarmixer_updatestreamlist(mixer=%p) = (void)", mixer); 
     252} 
     253 
    219254const GList*    gst_roarmixer_list_tracks        (GstRoarMixer * mixer) { 
     255 ROAR_WARN("gst_roarmixer_list_tracks(mixer=%p) = ?", mixer); 
     256 
     257 gst_roarmixer_updatestreamlist(mixer); 
     258 
    220259 return (const GList *) mixer->tracklist; 
    221260} 
     
    238277} 
    239278 
     279// tracks: 
     280#define MASK_BIT_IS_SET(mask, bit) \ 
     281  (mask & (1 << bit)) 
     282 
     283static void 
     284gst_roarmixer_track_class_init (GstRoarMixerTrackClass * klass) 
     285{ 
     286  /* nop */ 
     287} 
     288 
     289static void 
     290gst_roarmixer_track_init (GstRoarMixerTrack * track) 
     291{ 
     292  //memset(track, 0, sizeof(*track)); 
     293  track->stream_id = -1; 
     294} 
     295 
     296GstMixerTrack * 
     297gst_roarmixer_track_new (GstRoarMixer * mixer, 
     298    gint stream_id, gint max_chans, gint flags) 
     299{ 
     300  GstRoarMixerTrack *roartrack; 
     301  GstMixerTrack *track; 
     302 
     303  ROAR_WARN("gst_roarmixer_track_new(mixer=%p, stream_id=%i, max_chans=%i, flags=0x%.4x) = ?", mixer, stream_id, max_chans, flags); 
     304 
     305  roartrack = g_object_new (GST_TYPE_ROARMIXER_TRACK, NULL); 
     306  ROAR_WARN("gst_roarmixer_track_new(*): roartrack=%p", roartrack); 
     307  track = GST_MIXER_TRACK (roartrack); 
     308  track->label = g_strdup ("TRACKLABLE"); 
     309  track->num_channels = max_chans; 
     310  track->flags = flags; 
     311  track->min_volume = 0; 
     312  track->max_volume = 65535; 
     313  roartrack->stream_id = stream_id; 
     314 
     315  /* volume */ 
     316  ROAR_WARN("gst_roarmixer_track_new(mixer=%p, stream_id=%i, max_chans=%i, flags=0x%.4x) = %p", mixer, stream_id, max_chans, flags, track); 
     317  return track; 
     318} 
     319 
    240320//ll 
Note: See TracChangeset for help on using the changeset viewer.