• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang mpd.Client类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/fhs/gompd/mpd.Client的典型用法代码示例。如果您正苦于以下问题:Golang Client类的具体用法?Golang Client怎么用?Golang Client使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Client类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: playlistInfo

func playlistInfo(_ *Cmd, conn *mpd.Client) (r *Result, err error) {
	pl, err := conn.PlaylistInfo(-1, -1)

	if err == nil {
		r = NewResult("Playlist", pl)
	}
	return
}
开发者ID:ushis,项目名称:webmpc,代码行数:8,代码来源:cmd.go


示例2: status

func status(cmd *Cmd, conn *mpd.Client) (r *Result, err error) {
	state, err := conn.Status()

	if err == nil {
		r = NewResult("Status", state)
	}
	return
}
开发者ID:ushis,项目名称:webmpc,代码行数:8,代码来源:cmd.go


示例3: listPlaylists

func listPlaylists(_ *Cmd, conn *mpd.Client) (r *Result, err error) {
	lists, err := conn.ListPlaylists()

	if err == nil {
		r = NewResult("StoredPlaylists", lists)
	}
	return
}
开发者ID:ushis,项目名称:webmpc,代码行数:8,代码来源:cmd.go


示例4: getFiles

func getFiles(_ *Cmd, conn *mpd.Client) (r *Result, err error) {
	files, err := conn.GetFiles()

	if err == nil {
		r = NewResult("Files", files)
	}
	return
}
开发者ID:ushis,项目名称:webmpc,代码行数:8,代码来源:cmd.go


示例5: currentSong

func currentSong(_ *Cmd, conn *mpd.Client) (r *Result, err error) {
	info, err := conn.CurrentSong()

	if err == nil {
		r = NewResult("CurrentSong", info)
	}
	return
}
开发者ID:ushis,项目名称:webmpc,代码行数:8,代码来源:cmd.go


示例6: playlistContents

func playlistContents(cmd *Cmd, conn *mpd.Client) (r *Result, err error) {
	pl, err := conn.PlaylistContents(cmd.Playlist)

	if err == nil {
		r = NewResult("StoredPlaylist", NewStoredPlaylist(cmd.Playlist, pl))
	}
	return
}
开发者ID:ushis,项目名称:webmpc,代码行数:8,代码来源:cmd.go


示例7: updateMoodDatabase

// Walk over all music files and create a .mood file for each in mood-dir.
func updateMoodDatabase(client *mpd.Client, cfg *Config) error {
	if cfg.MoodDir == "" {
		return fmt.Errorf("No mood bar directory given (-mood-dir)")
	}

	if err := os.MkdirAll(cfg.MoodDir, 0777); err != nil {
		return err
	}

	paths, err := client.GetFiles()
	if err != nil {
		return fmt.Errorf("Cannot get all files from mpd: %v", err)
	}

	// Use up to N threads:
	N := 8
	wg := &sync.WaitGroup{}
	wg.Add(N)

	moodChan := make(chan *MoodInfo, N)
	for i := 0; i < N; i++ {
		go func() {
			for pair := range moodChan {
				log.Printf("Processing: %s", pair.MusicFile)
				cmd := exec.Command("moodbar", pair.MusicFile, "-o", pair.MoodPath)
				if err := cmd.Run(); err != nil {
					log.Printf("Failed to execute moodbar on `%s`: %v", pair.MusicFile, err)
				}
			}

			wg.Done()
		}()
	}

	for _, path := range paths {
		moodName := strings.Replace(path, string(filepath.Separator), "|", -1)
		moodPath := filepath.Join(cfg.MoodDir, moodName)

		if _, err := os.Stat(moodPath); err == nil {
			// Already exists, Skipping.
			continue
		}

		dataPath := filepath.Join(cfg.MusicDir, path)

		moodChan <- &MoodInfo{
			MusicFile: dataPath,
			MoodPath:  moodPath,
		}
	}

	close(moodChan)
	wg.Wait()

	return nil
}
开发者ID:studentkittens,项目名称:catlight,代码行数:57,代码来源:main.go


示例8: setPlaylist

func setPlaylist(cmd *Cmd, conn *mpd.Client) (*Result, error) {
	list := conn.BeginCommandList()
	list.Clear()

	for _, uri := range cmd.Uris {
		list.Add(uri)
	}
	list.Play(0)

	return nil, list.End()
}
开发者ID:ushis,项目名称:webmpc,代码行数:11,代码来源:cmd.go


示例9: addMulti

func addMulti(cmd *Cmd, conn *mpd.Client) (*Result, error) {
	list := conn.BeginCommandList()

	for i, uri := range cmd.Uris {
		if cmd.Pos < 0 {
			list.Add(uri)
		} else {
			list.AddId(uri, cmd.Pos+i)
		}
	}
	return nil, list.End()
}
开发者ID:ushis,项目名称:webmpc,代码行数:12,代码来源:cmd.go


示例10: update

//Updates the library
func (l *library) update() error {
	var conn *mpd.Client

	fmt.Println("Connecting to MPD")
	conn, err := mpd.Dial("tcp", "127.0.0.1:6600")
	if err != nil {
		fmt.Println("Error: could not connect to MPD for lib update")
		return errors.New("Could not connect to MPD!")
	}
	defer conn.Close()

	_, err = conn.Update("")
	if err != nil {
		fmt.Println("Error: could not update library!")
		return err
	}

	//Let the update happen
	time.Sleep(2 * time.Second)
	songs, err := conn.ListAllInfo("/")
	if err != nil {
		fmt.Println("Error: could not retrieve new library!")
		return err
	}

	l.library = songs
	return nil
}
开发者ID:Luminarys,项目名称:patchy,代码行数:29,代码来源:library.go


示例11: Render

func (m MPDInstance) Render() (item modules.Item) {
	mpdItem := MPDItem{Name: m.name, Markup: "pango"}
	mpdFormatData := MPDFormatData{}
	var client *go_mpd.Client

	if c, err := go_mpd.Dial("tcp", m.host_name+":"+strconv.Itoa(m.port)); err != nil {
		log.Error(err.Error())
		return nil
	} else {
		client = c
	}

	defer func(client *go_mpd.Client) {
		if err := client.Close(); err != nil {
			log.Error("Failed to disconnect: " + err.Error())
		}
	}(client)

	if attrs, err := client.Status(); err == nil {
		if state, ok := attrs["state"]; ok {
			mpdFormatData.State = state
		} else {
			log.Error("Failed to read state.")
			return nil
		}
	} else {
		log.Error("Failed to obtain status: " + err.Error())
		return nil
	}

	if attrs, err := client.CurrentSong(); err != nil {
		log.Error("Failed to obtain current song: " + err.Error())
		return nil
	} else {
		obj := reflect.ValueOf(&mpdFormatData).Elem()
		for key, val := range attrs {
			if f := obj.FieldByName(key); f.IsValid() {
				val = strings.TrimSpace(val)
				f.Set(reflect.ValueOf(val))
			}
		}
	}

	buffer := bytes.Buffer{}

	if err := m.template.Execute(&buffer, mpdFormatData); err != nil {
		log.Error("Failed to render mpd template: " + err.Error())
		return nil
	} else {
		mpdItem.Text = buffer.String()
	}

	item = mpdItem
	return
}
开发者ID:andir,项目名称:go3status,代码行数:55,代码来源:mpd.go


示例12: newLibrary

//Create a new queue
func newLibrary() *library {
	var conn *mpd.Client

	fmt.Println("Connecting to MPD")
	conn, err := mpd.Dial("tcp", "127.0.0.1:6600")
	if err != nil {
		fmt.Println("Error: could not connect to MPD, exiting")
		os.Exit(1)
	}
	defer conn.Close()

	songs, err := conn.ListAllInfo("/")
	if err != nil {
		fmt.Println("Error: could not connect to MPD, exiting")
		os.Exit(1)
	}
	shuffle(songs)

	return &library{
		library: songs,
	}
}
开发者ID:Luminarys,项目名称:patchy,代码行数:23,代码来源:library.go


示例13: add

func add(cmd *Cmd, conn *mpd.Client) (*Result, error) {
	return nil, conn.Add(cmd.Uri)
}
开发者ID:ushis,项目名称:webmpc,代码行数:3,代码来源:cmd.go


示例14: setVolume

func setVolume(cmd *Cmd, conn *mpd.Client) (*Result, error) {
	return nil, conn.SetVolume(cmd.Volume)
}
开发者ID:ushis,项目名称:webmpc,代码行数:3,代码来源:cmd.go


示例15: shuffle

func shuffle(cmd *Cmd, conn *mpd.Client) (*Result, error) {
	return nil, conn.Shuffle(cmd.Start, cmd.End)
}
开发者ID:ushis,项目名称:webmpc,代码行数:3,代码来源:cmd.go


示例16: seekId

func seekId(cmd *Cmd, conn *mpd.Client) (*Result, error) {
	return nil, conn.SeekId(cmd.Id, cmd.Time)
}
开发者ID:ushis,项目名称:webmpc,代码行数:3,代码来源:cmd.go


示例17: moveId

func moveId(cmd *Cmd, conn *mpd.Client) (*Result, error) {
	return nil, conn.MoveId(cmd.Id, cmd.Pos)
}
开发者ID:ushis,项目名称:webmpc,代码行数:3,代码来源:cmd.go


示例18: random

func random(cmd *Cmd, conn *mpd.Client) (*Result, error) {
	return nil, conn.Random(cmd.Random)
}
开发者ID:ushis,项目名称:webmpc,代码行数:3,代码来源:cmd.go


示例19: repeat

func repeat(cmd *Cmd, conn *mpd.Client) (*Result, error) {
	return nil, conn.Repeat(cmd.Repeat)
}
开发者ID:ushis,项目名称:webmpc,代码行数:3,代码来源:cmd.go


示例20: playlistSave

func playlistSave(cmd *Cmd, conn *mpd.Client) (*Result, error) {
	return nil, conn.PlaylistSave(cmd.Playlist)
}
开发者ID:ushis,项目名称:webmpc,代码行数:3,代码来源:cmd.go



注:本文中的github.com/fhs/gompd/mpd.Client类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang utee.Chk函数代码示例发布时间:2022-05-23
下一篇:
Golang goldi.Container类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap