Class: GreenStripes::AlbumBrowse

Inherits:
Object
  • Object
show all
Defined in:
lib/greenstripes.rb,
ext/greenstripes/greenstripes.c

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ AlbumBrowse

:nodoc:



103
104
# File 'lib/greenstripes.rb', line 103

def initialize(*args) # :nodoc:
end

Class Method Details

.new(session, album) ⇒ nil

Returns a new album browse object.

Returns:

  • (nil)


835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
# File 'ext/greenstripes/greenstripes.c', line 835

static VALUE album_browse_new(VALUE klass, VALUE session, VALUE album)
{
  // TODO: album browse callback should not be hardcoded

  sp_session *s;
  Data_Get_Struct(session, sp_session, s);

  sp_album *a;
  Data_Get_Struct(album, sp_album, a);

  sp_albumbrowse *albumbrowse = NULL;
  albumbrowse = sp_albumbrowse_create(s, a, album_browse_complete_callback, NULL);

  if(!albumbrowse)
    return Qnil;

  VALUE ab_value = Data_Wrap_Struct(class_album_browse, NULL, album_browse_free, albumbrowse);
  VALUE argv[2] = {session, album};
  rb_obj_call_init(ab_value, 2, argv);
  return ab_value;
}

Instance Method Details

#albumnil

Returns the album for the album browse object.

Returns:

  • (nil)


900
901
902
903
904
905
906
# File 'ext/greenstripes/greenstripes.c', line 900

static VALUE album_browse_album(VALUE self)
{
  sp_albumbrowse *albumbrowse;
  Data_Get_Struct(self, sp_albumbrowse, albumbrowse);
  sp_album *album = sp_albumbrowse_album(albumbrowse);
  return album ? Data_Wrap_Struct(class_album, NULL, NULL, album) : Qnil;
}

#artistnil

Returns the artist for the album browse object.

Returns:

  • (nil)


887
888
889
890
891
892
893
# File 'ext/greenstripes/greenstripes.c', line 887

static VALUE album_browse_artist(VALUE self)
{
  sp_albumbrowse *albumbrowse;
  Data_Get_Struct(self, sp_albumbrowse, albumbrowse);
  sp_artist *artist = sp_albumbrowse_artist(albumbrowse);
  return artist ? Data_Wrap_Struct(class_artist, NULL, NULL, artist) : Qnil;
}

Returns:



950
951
952
953
954
955
956
957
# File 'ext/greenstripes/greenstripes.c', line 950

static VALUE album_browse_copyright(VALUE self, VALUE index)
{
  sp_albumbrowse *albumbrowse;
  Data_Get_Struct(self, sp_albumbrowse, albumbrowse);
  int i = FIX2INT(index);
  const char *c = sp_albumbrowse_copyright(albumbrowse, i);
  return c ? rb_str_new2(c) : Qnil;
}

#copyrightsObject



110
111
112
# File 'lib/greenstripes.rb', line 110

def copyrights
  FakeArray.new(self, :copyrights)
end

#errorObject

Returns one of the constants defined in Error.



874
875
876
877
878
879
880
# File 'ext/greenstripes/greenstripes.c', line 874

static VALUE album_browse_error(VALUE self)
{
  sp_albumbrowse *albumbrowse;
  Data_Get_Struct(self, sp_albumbrowse, albumbrowse);
  sp_error error = sp_albumbrowse_error(albumbrowse);
  return INT2FIX(error);
}

#loaded?Boolean

Returns true if the album browse object is loaded, false otherwise.

Returns:

  • (Boolean)


862
863
864
865
866
867
# File 'ext/greenstripes/greenstripes.c', line 862

static VALUE album_browse_loaded(VALUE self)
{
  sp_albumbrowse *albumbrowse;
  Data_Get_Struct(self, sp_albumbrowse, albumbrowse);
  return sp_albumbrowse_is_loaded(albumbrowse) ? Qtrue : Qfalse;
}

#num_copyrightsFixnum?

Returns:

  • (Fixnum, nil)


938
939
940
941
942
943
944
# File 'ext/greenstripes/greenstripes.c', line 938

static VALUE album_browse_num_copyrights(VALUE self)
{
  sp_albumbrowse *albumbrowse;
  Data_Get_Struct(self, sp_albumbrowse, albumbrowse);
  int n = sp_albumbrowse_num_copyrights(albumbrowse);
  return (n >= 0) ? INT2FIX(n) : Qnil;
}

#num_tracksFixnum?

Returns:

  • (Fixnum, nil)


912
913
914
915
916
917
918
# File 'ext/greenstripes/greenstripes.c', line 912

static VALUE album_browse_num_tracks(VALUE self)
{
  sp_albumbrowse *albumbrowse;
  Data_Get_Struct(self, sp_albumbrowse, albumbrowse);
  int n = sp_albumbrowse_num_tracks(albumbrowse);
  return (n >= 0) ? INT2FIX(n) : Qnil;
}

#reviewString?

Returns the review for the album browse object, or nil if no review is available.

Returns:



965
966
967
968
969
970
971
# File 'ext/greenstripes/greenstripes.c', line 965

static VALUE album_browse_review(VALUE self)
{
  sp_albumbrowse *albumbrowse;
  Data_Get_Struct(self, sp_albumbrowse, albumbrowse);
  const char *r = sp_albumbrowse_review(albumbrowse);
  return r ? rb_str_new2(r) : Qnil;
}

#album_browse_track(index) ⇒ nil

Returns:

  • (nil)


924
925
926
927
928
929
930
931
932
# File 'ext/greenstripes/greenstripes.c', line 924

static VALUE album_browse_track(VALUE self, VALUE index)
{
  sp_albumbrowse *albumbrowse;
  Data_Get_Struct(self, sp_albumbrowse, albumbrowse);
  int i = FIX2INT(index);
  sp_track *track = NULL;
  track = sp_albumbrowse_track(albumbrowse, i);
  return track ? Data_Wrap_Struct(class_track, NULL, NULL, track) : Qnil;
}

#tracksObject



106
107
108
# File 'lib/greenstripes.rb', line 106

def tracks
  FakeArray.new(self, :tracks)
end