bandcamp

package
v1.5.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2025 License: OSL-3.0 Imports: 8 Imported by: 0

README

Bandcamp

Android client

com.bandcamp.android

Bandcamp app as of the date above, does not monitor Bandcamp URLs:

<intent-filter>
   <action android:name="android.intent.action.VIEW"/>
   <category android:name="android.intent.category.DEFAULT"/>
   <category android:name="android.intent.category.BROWSABLE"/>
   <data android:scheme="x-bandcamp" android:host="open"/>
   <data android:scheme="x-bandcamp" android:host="messages"/>
   <data android:scheme="x-bandcamp" android:host="feed"/>
   <data android:scheme="x-bandcamp" android:host="linked_paypal_email"/>
   <data android:scheme="x-bandcamp" android:host="show_merch"/>
   <data android:scheme="x-bandcamp" android:host="show_tralbum"/>
   <data android:scheme="x-bandcamp" android:host="show_fan"/>
   <data android:scheme="x-bandcamp" android:host="login"/>
   <data android:scheme="x-bandcamp" android:host="signup"/>
</intent-filter>

so deep linking is not possible. The API used with Bandcamp Android requires IDs for everything. This is the case going back to 2016 at least.

Why does this exist?

https://solarfields.bandcamp.com/track/sol-remix-remastered

Solar Fields hasn’t created any albums yet:

https://soundcloud.com/solarfields/albums

Documentation

Index

Constants

View Source
const (
	Jpeg = iota
	Png
)

Variables

View Source
var Images = []Image{
	{Id: 0, Width: 1500, Height: 1500, Format: Jpeg},
	{Id: 1, Width: 1500, Height: 1500, Format: Png},
	{Id: 2, Width: 350, Height: 350, Format: Jpeg},
	{Id: 3, Width: 100, Height: 100, Format: Jpeg},
	{Id: 4, Width: 300, Height: 300, Format: Jpeg},
	{Id: 5, Width: 700, Height: 700, Format: Jpeg},
	{Id: 6, Width: 100, Height: 100, Format: Jpeg},
	{Id: 7, Width: 150, Height: 150, Format: Jpeg},
	{Id: 8, Width: 124, Height: 124, Format: Jpeg},
	{Id: 9, Width: 210, Height: 210, Format: Jpeg},
	{Id: 10, Width: 1200, Height: 1200, Format: Jpeg},
	{Id: 11, Width: 172, Height: 172, Format: Jpeg},
	{Id: 12, Width: 138, Height: 138, Format: Jpeg},
	{Id: 13, Width: 380, Height: 380, Format: Jpeg},
	{Id: 14, Width: 368, Height: 368, Format: Jpeg},
	{Id: 15, Width: 135, Height: 135, Format: Jpeg},
	{Id: 16, Width: 700, Height: 700, Format: Jpeg},
	{Id: 20, Width: 1024, Height: 1024, Format: Jpeg},
	{Id: 21, Width: 120, Height: 120, Format: Jpeg},
	{Id: 22, Width: 25, Height: 25, Format: Jpeg},
	{Id: 23, Width: 300, Height: 300, Format: Jpeg},
	{Id: 24, Width: 300, Height: 300, Format: Jpeg},
	{Id: 25, Width: 700, Height: 700, Format: Jpeg},
	{Id: 26, Width: 800, Height: 600, Format: Jpeg, Crop: true},
	{Id: 27, Width: 715, Height: 402, Format: Jpeg, Crop: true},
	{Id: 28, Width: 768, Height: 432, Format: Jpeg, Crop: true},
	{Id: 29, Width: 100, Height: 75, Format: Jpeg, Crop: true},
	{Id: 31, Width: 1024, Height: 1024, Format: Png},
	{Id: 32, Width: 380, Height: 285, Format: Jpeg, Crop: true},
	{Id: 33, Width: 368, Height: 276, Format: Jpeg, Crop: true},
	{Id: 36, Width: 400, Height: 300, Format: Jpeg, Crop: true},
	{Id: 37, Width: 168, Height: 126, Format: Jpeg, Crop: true},
	{Id: 38, Width: 144, Height: 108, Format: Jpeg, Crop: true},
	{Id: 41, Width: 210, Height: 210, Format: Jpeg},
	{Id: 42, Width: 50, Height: 50, Format: Jpeg},
	{Id: 43, Width: 100, Height: 100, Format: Jpeg},
	{Id: 44, Width: 200, Height: 200, Format: Jpeg},
	{Id: 50, Width: 140, Height: 140, Format: Jpeg},
	{Id: 65, Width: 700, Height: 700, Format: Jpeg},
	{Id: 66, Width: 1200, Height: 1200, Format: Jpeg},
	{Id: 67, Width: 350, Height: 350, Format: Jpeg},
	{Id: 68, Width: 210, Height: 210, Format: Jpeg},
	{Id: 69, Width: 700, Height: 700, Format: Jpeg},
}

Functions

This section is empty.

Types

type AlbumTrack

type AlbumTrack struct {
	TrackNum     int64 `json:"track_num"`
	Title        string
	BandName     string `json:"band_name"`
	StreamingUrl *struct {
		MP3_128 string `json:"mp3-128"`
	} `json:"streaming_url"`
}

type BandDetails

type BandDetails struct {
	Name        string
	Discography []Item
}

func (*BandDetails) New

func (b *BandDetails) New(id int64) error

type Image

type Image struct {
	Crop   bool
	Format int
	Height int
	Id     int64
	Width  int
}

func (*Image) URL

func (i *Image) URL(art_id int64) string

Extension is optional.

type Item

type Item struct {
	BandId   int64  `json:"band_id"`
	ItemId   int    `json:"item_id"`
	ItemType string `json:"item_type"`
}

func (*Item) Band

func (i *Item) Band() (*BandDetails, error)

func (*Item) Tralbum

func (i *Item) Tralbum() (*Tralbum, error)

type ReportParams

type ReportParams struct {
	Aid   int64  `json:"a_id"`
	Iid   int    `json:"i_id"`
	Itype string `json:"i_type"`
}

func (*ReportParams) Band

func (r *ReportParams) Band() (*BandDetails, error)

func (*ReportParams) New

func (r *ReportParams) New(address string) error

func (*ReportParams) Tralbum

func (r *ReportParams) Tralbum() (*Tralbum, error)

type Tralbum

type Tralbum struct {
	ArtId         int64 `json:"art_id"`
	Title         string
	Tracks        []AlbumTrack
	ReleaseDate   int64  `json:"release_date"`
	TralbumArtist string `json:"tralbum_artist"`
}

func (*Tralbum) Date

func (t *Tralbum) Date() time.Time

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL