• GMediaRender

    http://gmrender.nongnu.org/

    Introduction

    GMediaRender is a UPnP™ media renderer for POSIX®-compliant systems, such as GNU/Linux® or UNIX®. It implements the server component that provides UPnP controllers a means to render media content (audio, video and images) from a UPnP media server.

  • Debian Wheezy: Audio with 2nd Sound Card

    # Check sound card
    aplay -l

    • # Config 2nd sound card for aplay, add .asoundrc file under home directory
      nano ~/.asoundrc
      defaults.pcm.card 1
      defaults.pcm.device 0
      defaults.ctl.card 1
    • defaults.timer.card 1

    # Config 2nd sound card for mpd, update /etc/mpd.conf
    nano /etc/mpd.conf
    audio_output {
    type “alsa”
    name “My ALSA Device”
    — device “hw:0,0” # optional
    ++ device “hw:1,0”
    format “44100:16:2” # optional
    mixer_device “default”
    mixer_control “PCM”
    mixer_index “0”
    }

  • Debian Wheezy: install ncmpcpp, Ncurses Based MPD Client

    # Install ncmpcpp client
    apt-get install ncmpcpp

    # Update config of ncmpcpp
    nano ~/.ncmpcpp/config
    mpd_host = “192.168.127.72”
    #
    mpd_port = “6600”
    #
    mpd_music_dir = “/share/mpd/music/”
    #
    mpd_connection_timeout = “5”
    #
    mpd_crossfade_time = “3”
    #
    ##### music visualizer #####
    ##
    ## Note: In order to make music visualizer work you’ll
    ## need to use mpd fifo output, whose format parameter
    ## has to be set to 44100:16:1. Example configuration:
    ## (it has to be put into mpd.conf)
    ##
    ##audio_output {
    ## type “fifo”
    ## name “My FIFO”
    ## path “/tmp/mpd.fifo”
    ## format “44100:16:1”
    ##}
    ##
    #
    visualizer_fifo_path = “/tmp/mpd.fifo”
    #
    ##
    ## Note: Below parameter is needed for ncmpcpp
    ## to determine which output provides data for
    ## visualizer and thus allow syncing between
    ## visualization and sound as currently there
    ## are some problems with it.
    ##
    #
    visualizer_output_name = “My FIFO”
    #
    ##
    ## Note: To enable spectrum frequency visualization
    ## you need to compile ncmpcpp with fftw3 support.
    ##
    #
    visualizer_type = “spectrum” (spectrum/wave)
    #
    ##### system encoding #####
    ##
    ## ncmpcpp should detect your charset encoding
    ## but if it failed to do so, you can specify
    ## charset encoding you are using here.
    ##
    ## Note: You can see whether your ncmpcpp build
    ## supports charset detection by checking output
    ## of `ncmpcpp –version`.
    ##
    ## Note: Since MPD uses utf8 by default, setting
    ## this option makes sense only if your encoding
    ## is different.
    ##
    #
    #system_encoding = “”
    #
    ##### delays #####
    #
    ## delay after playlist highlighting will be disabled (0 = don’t disable)
    #
    playlist_disable_highlight_delay = “5”
    #
    ## defines how long various messages are supposed to be visible
    #
    message_delay_time = “4”
    #
    ##### song format #####
    ##
    ## for song format you can use:
    ##
    ## %l – length
    ## %f – filename
    ## %D – directory
    ## %a – artist
    ## %t – title
    ## %b – album
    ## %y – year
    ## %n – track number (01/12 -> 01)
    ## %N – full track info (01/12 -> 01/12)
    ## %g – genre
    ## %c – composer
    ## %p – performer
    ## %d – disc
    ## %C – comment
    ## $R – begin right alignment
    ##
    ## you can also put them in { } and then it will be displayed
    ## only if all requested values are available and/or define alternate
    ## value with { }|{ } eg. {%a – %t}|{%f}
    ##
    ## Note: Format that is similar to “%a – %t” (i.e. without any additional
    ## braces) is equal to “{%a – %t}”, so if one of the tags is missing,
    ## you’ll get nothing.
    ##
    ## text can also have different color than the main window has,
    ## eg. if you want length to be green, write $3%l$9
    ##
    ## available values:
    ##
    ## – 0 – default window color (discards all other colors)
    ## – 1 – black
    ## – 2 – red
    ## – 3 – green
    ## – 4 – yellow
    ## – 5 – blue
    ## – 6 – magenta
    ## – 7 – cyan
    ## – 8 – white
    ## – 9 – end of current color
    ##
    ## Note: colors can be nested.
    ##
    #
    song_list_format = “{%a – }{%t}|{$8%f$9}$R{$3(%l)$9}”
    #
    song_status_format = “{{%a{ \”%b\”{ (%y)}} – }{%t}}|{%f}”
    #
    song_library_format = “{%n – }{%t}|{%f}”
    #
    tag_editor_album_format = “{(%y) }%b”
    #
    ##
    ## Note: Below variables are for alternative version of user’s interface.
    ## Their syntax supports all tags and colors listed above plus some extra
    ## markers used for text attributes. They are followed by character ‘$’.
    ## After that you can put:
    ##
    ## – b – bold text
    ## – u – underline text
    ## – r – reverse colors
    ## – a – use alternative character set
    ##
    ## If you don’t want to use an attribute anymore, just put it again, but
    ## this time insert character ‘/’ between ‘$’ and attribute character,
    ## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename
    ## with reversed colors.
    ##
    #
    #alternative_header_first_line_format = “$b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b”
    #
    #alternative_header_second_line_format = “{{$4$b%a$/b$9}{ – $7%b$9}{ ($4%y$9)}}|{%D}”
    #
    ##
    ## Note: Below variables also supports
    ## text attributes listed above.
    ##
    #
    now_playing_prefix = “$b”
    #
    #now_playing_suffix = “$/b”
    #
    #browser_playlist_prefix = “$2playlist$9 ”
    #
    #selected_item_prefix = “$6”
    #
    #selected_item_suffix = “$9”
    #
    ## colors are not supported for below variable
    #
    #song_window_title_format = “{%a – }{%t}|{%f}”
    #
    ##### columns settings #####
    ##
    ## syntax of song columns list format is “column column etc.”
    ##
    ## – syntax for each column is:
    ##
    ## (width of column)[column’s color]{displayed tag}
    ##
    ## Note: Width is by default in %, if you want a column to
    ## have fixed size, add ‘f’ after the value, e.g. (10)[white]{a}
    ## will be the column that take 10% of screen (so the real column’s
    ## width will depend on actual screen size), whereas (10f)[white]{a}
    ## will take 10 terminal cells, no matter how wide the screen is.
    ##
    ## – color is optional (if you want the default one, type [])
    ##
    ## Note: You can give a column additional attributes by putting appropriate
    ## character after displayed tag character. Available attributes are:
    ##
    ## – r – column will be right aligned
    ## – E – if tag is empty, empty tag marker won’t be displayed
    ##
    ## E.g. {lr} will give you right aligned column of lengths.
    ##
    #
    song_columns_list_format = “(7f)[green]{l} (25)[cyan]{a} (40)[]{t} (30)[red]{b}”
    #
    ##### various settings #####
    #
    ##
    ## Note: Custom command that will be executed each
    ## time song changes. Useful for notifications etc.
    ##
    ## Attention: It doesn’t support song format anymore.
    ## Use `ncmpcpp –now-playing SONG_FORMAT` instead.
    ##
    #execute_on_song_change = “”
    #
    #playlist_show_remaining_time = “no”
    #
    playlist_display_mode = “columns” (classic/columns)
    #
    browser_display_mode = “classic” (classic/columns)
    #
    #search_engine_display_mode = “classic” (classic/columns)
    #
    #incremental_seeking = “yes”
    #
    #seek_time = “1”
    #
    #autocenter_mode = “no”
    #
    #centered_cursor = “no”
    #
    #progressbar_look = “=>”
    #
    #default_place_to_search_in = “database” (database/playlist)
    #
    user_interface = “classic” (classic/alternative)
    #
    #media_library_left_column = “a” (possible values: a,y,g,c,p, legend above)
    #
    default_find_mode = “wrapped” (wrapped/normal)
    #
    default_space_mode = “add” (add/select)
    #
    #default_tag_editor_left_col = “albums” (albums/dirs)
    #
    #default_tag_editor_pattern = “%n – %t”
    #
    header_visibility = “no”
    #
    statusbar_visibility = “no”
    #
    #header_text_scrolling = “yes”
    #
    #fancy_scrolling = “yes”
    #
    cyclic_scrolling = “no”
    #
    #lines_scrolled = “2”
    #
    follow_now_playing_lyrics = “no”
    #
    #ncmpc_like_songs_adding = “no” (enabled – add/remove, disabled – always add)
    #
    show_hidden_files_in_local_browser = “no”
    #
    #display_screens_numbers_on_start = “yes”
    #
    #jump_to_now_playing_song_at_start = “yes”
    #
    #ask_before_clearing_main_playlist = “no”
    #
    clock_display_seconds = “no”
    #
    #display_bitrate = “no”
    #
    #display_remaining_time = “no”
    #
    #regular_expressions = “basic” (basic/extended)
    #
    ##
    ## Note: If below is enabled, ncmpcpp will ignore leading
    ## “The” word while sorting items in browser, tags in
    ## media library, etc.
    ##
    #ignore_leading_the = “no”
    #
    #block_search_constraints_change_if_items_found = “yes”
    #
    #mouse_support = “yes”
    #
    #mouse_list_scroll_whole_page = “yes”
    #
    #empty_tag_marker = “”
    #
    #tag_editor_extended_numeration = “no”
    #
    #enable_window_title = “yes”
    #
    ##
    ## Note: These triggers will allow you to phisically remove
    ## files and directories from your hdd in using ncmpcpp’s
    ## browser screen.
    ##
    #
    allow_physical_files_deletion = “no”
    #
    allow_physical_directories_deletion = “no”
    #
    ##### lyrics support #####
    ##
    ## supported lyrics databases:
    ##
    ## – 1 – lyricsplugin.com
    ##
    #
    #lyrics_database = “1”
    #
    #external_editor = “”
    #
    #use_console_editor = “no” (set to yes, if your editor is console app)
    #
    ##### colors definitions #####
    #
    colors_enabled = “yes”
    #
    #empty_tag_color = “cyan”
    #
    #header_window_color = “default”
    #
    #volume_color = “default”
    #
    #state_line_color = “default”
    #
    #state_flags_color = “default”
    #
    #main_window_color = “yellow”
    #
    #color1 = “white”
    #
    #color2 = “green”
    #
    #main_window_highlight_color = “yellow”
    #
    #progressbar_color = “default”
    #
    #statusbar_color = “default”
    #
    #alternative_ui_separator_color = “black”
    #
    #active_column_color = “red”
    #
    #window_border_color = “green”
    #
    #active_window_border = “red”
    #

  • Debian Wheezy: Play music with mpd/mpc

    # Install mpd ( music play daemon )
    apt-get install mpd

    # Stop mpd service
    /etc/init.d/mpd stop

    # Update config of mpd
    nano /etc/mpd.conf
    music_directory = “/share/mpd/music”
    playlist_directory = “/share/mpd/playlists”
    db_file = “/share/mpd/tag_cache”
    log_file = “/share/mpd/mpd.log”
    pid_file = “/share/mpd/mpd”
    state_file = “/share/mpd/state”
    sticker_file = “/share/mpd/sticker.sql”
    user = “mpd”
    bind_to_address = “localhost”
    bind_to_address = “192.168.127.72”
    port = “6600”
    log_level = “default”
    follow_outside_symlink = “yes”

    # Install mpc ( music play client )
    apt-get install mpc

    # Launch mpd service
    /etc/init.d/mpt start

    # Update mpd DB
    mpc update

    # Create playlist to include all song
    mpc ls|mpc add

    # check mpd status
    mpc status

    # Check volume
    mpc volume

    # Start local Play
    mpc play

    # Start remote play
    mpc -h 192.168.127.27 play

    # Play next
    mpc next

    # Stop Play
    mpc stop

    # Mpd clients
    http://mpd.wikia.com/wiki/Clients

  • Debian Wheezy: Sound Card Config

    #Search audio device

    lspci -v |grep -i audio

     

    #Install alsa

    apt-get install alsa-base

     

    # Check audio

    modinfo soundcore

    modinfo snd

    modinfo snd-hda-intel

    modinfo snd-pcm-oss

    modinfo snd-mixer-oss

    alsamixer

     

    # Test Audio

    cd /usr/share/sounds/alsa

    aplay -vv Rear_Center.wav

     

     

  • Debian Wheezy: Setup RTL8192 USB wifi adaptor

    apt-get clear

    apt-get update

    apt-get install wireless-tools

    apt-get install wpasupplicant

    lsusb|grep -i wlan

    apt-cache search -i RTL8188CU

    apt-get install firmware-realtek

    dmesg|grep -i rtl

    iwlist scanning

    iwlist wlan0 scan|more

    nano /etc/network/interface

    auto wlan0
    iface wlan0 inet dhcp
            wpa-ssid               ‘my ssid’
            wpa-key-mgmt     WPA_PSK
            wpa-group            TKIP CCMP
            wpa-psk               ‘my password’

    /etc/init.d/networking restart

    ifconfig wlan0

  • Debian Wheezy: server setup/configuration

    # Change default Language:
    dpkg-reconfigure locales

    # Change font size of tty:
    setfont /usr/share/consolefonts/Lat15-Terminus24x12.psf.gz

    # Change default font size for all tty:
    nano /etc/default/console-setup
    –FONTFACE=”Fixed”
    –FONTSIZE=”8×16″
    ++FONTFACE=”LAT15-Terminus”
    ++FONTSIZE=”24×12″

    /etc/init.d/console-setup restart

    # Update /etc/apt/source.list

    # wheezy
    deb http://debian.ustc.edu.cn/debian/ wheezy main
    deb-src http://debian.ustc.edu.cn/debian/ wheezy main

    deb http://debian.ustc.edu.cn/debian/ wheezy non-free
    deb-src http://debian.ustc.edu.cn/debian/ wheezy non-free

    deb http://debian.ustc.edu.cn/debian/ wheezy contrib
    deb-src http://debian.ustc.edu.cn/debian/ wheezy contrib

    # security
    deb http://security.debian.org/ wheezy/updates main
    deb-src http://security.debian.org/ wheezy/updates main

    # updates
    deb http://debian.ustc.edu.cn/debian/ wheezy-updates main
    deb-src http://debian.ustc.edu.cn/debian/ wheezy-updates main

    deb http://debian.ustc.edu.cn/debian/ wheezy-updates non-free
    deb-src http://debian.ustc.edu.cn/debian/ wheezy-updates non-free

    deb http://debian.ustc.edu.cn/debian/ wheezy-updates contrib
    deb-src http://debian.ustc.edu.cn/debian/ wheezy-updates contrib

    # proposed updates
    deb http://debian.ustc.edu.cn/debian/ wheezy-proposed-updates main
    deb-src http://debian.ustc.edu.cn/debian/ wheezy-proposed-updates main

    deb http://debian.ustc.edu.cn/debian/ wheezy-proposed-updates non-free
    deb-src http://debian.ustc.edu.cn/debian/ wheezy-proposed-updates non-free

    deb http://debian.ustc.edu.cn/debian/ wheezy-proposed-updates contrib
    deb-src http://debian.ustc.edu.cn/debian/ wheezy-proposed-updates contrib

    # backports
    deb http://debian.ustc.edu.cn/debian/ wheezy-backports main
    deb-src http://debian.ustc.edu.cn/debian/ wheezy-backports main

    deb http://debian.ustc.edu.cn/debian/ wheezy-backports non-free
    deb-src http://debian.ustc.edu.cn/debian/ wheezy-backports non-free

    deb http://debian.ustc.edu.cn/debian/ wheezy-backports contrib
    deb-src http://debian.ustc.edu.cn/debian/ wheezy-backports contrib

     

    # Install mouse daemon

    apt-get install gpm

     

  • Install NAS4Free on USB

    Download embedded image from sourceforge
    http://www.nas4free.org/downloads.html

    Copy to SD/USB device, /dev/sde
    gunzip -c NAS4Free-x86-embedded-9.1.0.1.761.img|dd of=/dev/sde bs=16k

    sudo sync

  • Check shared library depends under android platform

    source build/envsetup.sh
    lunch full-eng

    arm-linux-androideabi-readelf -d out/target/product/generic/system/bin/fsck_msdos

  • (转) Android LogCat使用详解

    Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat: 
    1.eclipse的Debug模式或DDMS模式下的会有一个Logcat窗口,用于显示log日志 

    只需在eclipse中启动Android模拟器,切换到DDMS或debug模式下,就会有Logcat窗口,窗口右上方有一系列图标,其中V、D、I、W、E五个图标为五个调试信息过滤器:

    V:不过滤输出所有调试信息 包括 VERBOSE、DEBUG、INFO、WARN、ERROR
    D:debug过滤器,输出DEBUG、INFO、WARN、ERROR调试信息
    I:info过滤器,输出INFO、WARN、ERROR调试信息
    W:waring过滤器,输出WARN和ERROR调试信息
    E:error过滤器,只输出ERROR调试信息

    2.Android命令模式下,在启动一个模拟器是可以选择是否需要启动logcat: 

    Android Emulator命令的用法: emulator [options] [-qemu args]
    1.Android Emulator命令的用法: emulator [options] [-qemu args]

    启动模拟器命令:emulator -avd <name> -logcat <tags>;
    name:模拟器名字,tags调试信息过滤器类型
    例如:emulator -avd GPhone -logcat w
    启动GPhone模拟器并运行logcat显示调试信息,调试信息的过滤器是w(可替换为v、d、i、e),代表只显示waring和error两类调试信息。

    2.Android adb 命令:adb logcat [ <filter-spec> ] – View device log
    <filter-spec> == <priority>/<tag>,(pritrity标签,tag为过滤类型)
    例如:2.1、adb logcat 显示所有调试信息
    2.2、adb logcat *:w 显示waring过滤器过滤后的调试信息
    2.3、adb logcat Test1:V Test2:D 显示标签为Test1的所有调试信息,以及显示标签为Test2Debug过滤器过滤后的调试信息

    3.Android程序中访问调试日志,并显示:

    摘自:http://www.iteye.com/topic/477112
    logcat介绍命令选项。
    -s 默认设置过滤器
    -f      输出到日志文件
    -c 清除日志
    -d 获取日志
    -g 获取日志的大小
    -v      格式设置日志(见下面的格式打印格式)

    -v 格式 例
    brief W/tag ( 876): message
    process W( 876) message (tag)
    tag W/tag : message
    thread W( 876:0x37c) message
    raw message
    time 09-08 05:40:26.729 W/tag ( 876): message
    threadtime 09-08 05:40:26.729 876 892 W tag : message
    long [ 09-08 05:40:26.729 876:0x37c W/tag ] message

    代码例子:
    AndroidManifest.xml添加读取权限
    <uses-permission android:name=”android.permission.READ_LOGS” />

    清除日志
    try {
    Runtime.getRuntime().exec(“logcat -c”);
    } catch(Exception e) {

    获取日志
    try {
    ArrayList<String> commandLine = new ArrayList<String>();
    commandLine.add( “logcat”);
    commandLine.add( “-d”);
    commandLine.add( “-v”);
    commandLine.add( “time”);
    commandLine.add( “-s”);
    commandLine.add( “tag:W”);
    Process process = Runtime.getRuntime().exec( commandLine.toArray( new String[commandLine.size()]));
    BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream()), 1024);
    String line = bufferedReader.readLine();
    while ( line != null) {
    log.append(line);
    log.append(“/n”)
    }
    } catch ( IOException e) {
    }

    结果:
    09-08 09:44:42.267 W/tag     (  754): message1
    09-08 09:44:42.709 W/tag     (  754): message2
    09-08 09:44:43.187 W/tag     (  754): message3
    09-08 09:44:45.295 E/tag     (  754): message8

     

     

     

    有时候当连接到手机上面进行调试的时候,在LogCat里面经常出现log信息之出现前面的几行,不断的在闪烁,无法正常查看log信息的情况,至少到现在还没有发现解决的办法,现在最还的做法就是将log在adb logcat命令行里面显示或者重定向文件中。

    还有一种情况是我只想打印我单独点检的Filter,如果用adb logcat会打印很多的无关的log信息,影响查看,可以使用adb logcat -s onFling查看我添加的Filter “onFling”,当然也是可以重定向到文件中。

    当有多台手机设备链接电脑时,adb链接特定的设备:adb -s HT114RX11535 logcat