Sunday, September 14, 2014

Little manual for version 1.5.0

Main screen:

Youtube searcher screen:

Preview video and edit song details screen:
Queue list, now playing song and control now can be viewed by swiping from the right:
Danh sách đang chơi và điều khiển có thể lấy ra bằng cách vuốt từ trái sang phải

Settings screen:

Friday, December 13, 2013

Version 1.4.1 build xx

English below

Đây là các phiên bản chỉ với mục đích là sửa các lỗi mà mình nhận được chứ không thêm tính năng gì mới. Nội dung thay đổi được trình bày theo thứ tự là cái mới nhất lên trước.

Phiên bản 1.4.1 build 3 (12/12/2013) sửa lỗi
+ Lỗi thoát chương trình khi import thư mục không thể ghi vào (ví dụ thư mục share qua LAN, đĩa CD, DVD,...)
+ Lỗi thoát chương trình khi import file importinfo.txt có cấu trúc không chuẩn.
+ Lỗi thoát chương trình khi import file LRC có cấu trúc không chuẩn.
Chương trình sẽ tự cập nhật. Nếu không, bạn có thể theo link ở dưới để cập nhật bằng tay.


Phiên bản 1.4.1 build 2 (8/12/2013) sửa lỗi:
+ Lỗi quét thư mục có thư mục con không thể truy cập (ví dụ khi đặt quét thư mục gốc C: D:)
+ Lỗi khi tải nhạc về thư mục mà tên chứa dấu trống (space)
Chương trình sẽ tự tải phiên bản mới về. Nếu không, theo link phía dưới để download.


Phiên bản fix bug: 1.4.1 build 1 (30/11/2013). Phiên bản này không có cập nhật gì, chỉ một số lỗi được phản hồi về. Ví dụ:
+ Lỗi quét thư mục có file không có đuôi
+ Lỗi thoát ra khi quét thư mục
+ Lỗi trùng tên file tạm khi download từ youtube


------ English --------
These versions are to fix bugs that I received. No new feature is added.



Version 1.4.1 build 3 (12/12/2013) fix bugs
+ Crash when import a readonly directory (ex. shared folder over LAN, CD or DVD, ...)
+ Crash when import an importinfo.txt with bad format
+ Crash when import LRC file with bad format.

 
Version 1.4.1 build 2 (8/12/2013) fix bugs:
+ Crash when scan folder that contains unaccessible sub-folders (ex. root folder C: D:)
+ Crash when download song to a directory that its name contains space character.




Version: 1.4.1 build 1 (30/11/2013).
+ Crash when scan a folder that contain file without extention
+ Duplicate temp file when download from youtube







Saturday, November 23, 2013

Version 1.4.1 (23/11/2013)

English below

Phiên bản 1.4.1 chỉ cập nhật server:
+ Thêm thiết lập chất lượng video tải về : từ 144p, 240p, ... cho tới 1080p và 4k. Chương trình sẽ tải về video chất lượng cao nhất có thể, nhưng không lớn hơn giá trị đặt ở đây.
+ Sửa 1 vài lỗi nhỏ
+ Cửa sổ Playlist editor có thể chọn bài hát và gửi thẳng ra Walaoke (nghĩa là điều khiển trên PC ngay, không dùng điện thoại). Phải chuột vào bài hát và send (chỉ 1 bài 1). Các chức năng khác thì dùng cửa sổ điều khiển của Walaoke.

English:
Version 1.4.1 only updated server:
+ Add setting - youtube video quality: 144p, 240p,... up to 1080p and 4k.
+ Fix bugs
+ Playlist editor window now are resizable. Moreover, can choose song and send to Walaoke to play (meaning control on PC).


Cửa sổ setting youtube:
Setting youtube window:


Wednesday, November 20, 2013

Phiên bản 1.4.0 (19/11/2013)

English below

Phiên bản 1.4.0:
-Server và client:
+ Thêm chức năng lấy link youtube từ ứng dụng youtube trên android thông qua nút share (Bạn nên xem hướng dẫn ở phía dưới trước khi sử dụng chức năng này - đặc biệt là cấu hình ở server - nếu không đặt chương trình sẽ không download)

- Server:
+ Sửa lỗi làm crash ở cửa sổ download
+ Sửa lỗi nghiêm trọng có thể làm ngắt kết nối giữa client-server.
+ Thay đổi hệ thống log
+ Thêm chức năng ghi lại lỗi nghiêm trọng và gửi về cho người phát triển. Người sử dụng có thể tùy chọn gửi hoặc không gửi. Chỉ có log file được gửi về.

- Client:
+ Sửa lỗi force close nếu mở Settings ở một số máy
+ Hiện thị notification trên statusbar khi thoát chương trình. Ghi chú: để thoát hoàn toàn chương trình bạn phải ấn nút Menu->Disconnect. Ấn back hoặc home thông thường không ngắt kết nối với server.


English:
Version 1.4.0:
+ Feature added: get link from youtube native app using Share button (You should see the short tutorial below before using this feature, especially settings in server)

-Server:
+ Fix crashing in download window
+ Fix serious bug that can result in losing connection between server-client
+ Change log system
+ Feature added: crashing report. Fatal error can be recorded and sent back to developer. Sending or not depends on user. Only log file will be sent.

- Client:
+ Fix bug in Settings screen
+ Show notification in statusbar when close program. Note: program will still be running if user press back or home button. To disconnect and close program, use Menu->Disconnect.


Hướng dẫn ngắn / Short tutorial

Đây là hướng dẫn sử dụng chức năng lấy link từ youtube và gửi sang cho RC4W download. RC4W cần phải được mở và kết nối vào server trước khi sử dụng chức năng này. Biểu tượng RC4W ở trên statusbar thể hiện nó đang chạy.
This tutorial show how to get link from youtube and send to RC4W to download. It is necessary that RC4W opened and connected to server before using this function. The icon RC4W shown on statusbar means it is running.

A) Ở Server: vào settings, đặt đường dẫn thư mục nơi sẽ chứa các file mp4 youtube được download
Server-side: in settings window, set the directory where all mp4 files will be download.




B) Ở Client: Mở RC4W, kết nối với server. Ấn home về màn hình chính và mở youtube lên.
Client-side: open RC4W, connect to server. Click home button to return to home screen and open youtube app.
1) Mở ứng dụng youtube và tìm 1 bài hát nào đó (để tìm được karaoke, nên tìm "tên bài" cộng thêm từ khóa karaoke). Mở lên bài hát lên nghe thử. Nếu ổn thì ấn nút share (khoanh đỏ).
 + Open Youtube app, search a song (to find karaoke, you should add keyword "karaoke" to search query). Open song and check. If ok, click share button (in red rectangle).

2) Cửa sổ share hiện lên, tìm đến RC4W và ấn vào
Share window will appear. Scroll to RC4W and click on it.

 3) Chương trình sẽ tải thông tin bài hát
Program will load song information

4) Sửa lại thông tin bài hát nếu cần (bạn nên sửa lại để sau này có thể tìm kiếm). Ấn start download để bắt đầu download. Sau khi download, bài hát sẽ được chèn vào cuối danh sách.
Modify song information if needed (you should, because they will be used for searching). Click start download to begin downloading. After downloading, song will be inserted to the end of in-queue list.

 

Tuesday, October 22, 2013

Cấu trúc file dữ liệu links để import

Phiên bản 1.3.0 có thêm chức năng download. Để có dữ liệu download (links đến file nhạc) cần phải có file dữ liệu. Dưới đây sẽ trình bày cấu trúc file dữ liệu.

File này cấu trúc y hệt bảng songlist trong database (nếu bạn có Microsoft Access thì có thể mở db.mdb ra xem, hoặc export database ở trong tab DB Utils trong Database Manager).
Khi import dữ liệu vào, chương trình sửa đổi tên file, đường dẫn nơi sẽ download file, còn lại các dữ liệu khác giữ nguyên.
Đầu tiên ta tìm hiểu cấu trúc bảng songlist trước.

Cấu trúc bảng songlist. 

Phần chữ màu đỏ là phần quan trọng liên quan tới chức năng download này.

  1. SID: Song id: số hiệu bài hát. Giá trị số duy nhất trong bảng. Hiện nay SID được quy định 3 dải số như sau:
    • 1-1000: dành cho server RC4W sử dụng quản lý danh sách bài hát
    • 1001-999999 (một triệu trừ một): dành cho Walaoke
    • Lớn hơn 1000000 (một triệu) : dành cho bạn điền số của mình vào. Không quan trọng số bao nhiêu, chỉ cần lớn hơn 1000000 và duy nhất.
  2. Title: tên bài hát 
  3. Pathfile, Pathfile_lyric: tên file sẽ được download (phiên bản 1.3.0)
  4. Singer: tên ca sĩ 
  5. Author: tên nhạc sĩ
  6. Type: thể loại nhạc 
  7. Abbreviation: để dành 
  8. Lyric: vài từ đầu của lời bài hát 
  9. Title2, Singer2, Author2, Lyric2: "dạng 2" sử dụng cho mục đích tìm kiếm. Ví dụ như để viết tiếng việt không dấu, cho bạn tìm tiếng việt không dấu. Hoặc với tiếng Trung có thể tìm pinyin. 
  10. RemoteURL, RemoteURL_lyric: đường link tới file sẽ download (phiên bản 1.3.0)
  11. ContentType: loại nội dung
  • DVDMIDI: bắt buộc viết chính xác là DVDMIDI nếu bài hát lấy từ dvd-karaoke midi; với loại này SID đặt đúng số như trong list nhạc (5 số hoặc 6 số)
  • MP3, MIDI, KAR, AVI, WMV, VOB, MKV, ... đuôi file nhạc.

Cấu trúc file như sau:

- Dòng thứ nhất là tên trường (đó là SID, Title, ....) cách nhau bởi dấu tab
- Từ dòng thứ 2 là dữ liệu tương ứng với các trường trên và cũng cách nhau bởi dấu tab

Cách nhanh nhất để soạn ra một file

Cách nhanh nhất là soạn file trên excel. File mẫu excel (ngắn gọn) có thể download ở đây: http://ge.tt/30sj9xv/v/0?c
File mẫu đầy đủ mà mình sưu tầm được có thể download ở đây: http://ge.tt/99ugExv/v/0?c

File excel này có dòng đầu là tên trường, các dòng tiếp theo là dữ liệu mà bạn có thể sửa.
Bạn có thể sửa tùy thích nhưng với quy định sau:
+ SID: đặt số 1... n, số phải khác nhau
+ Pathfile và Pathfile_lyric: phải chỉ ra loại đuôi file sẽ được download (sẽ viết là .MP3 .MP4), nếu không chương trình sẽ mặc định theo đuôi file ở đường link (như ở starzing đuôi ở đó là jpg không phải mp3)
+ RemoteURL và RemoteURL_lyric: đường link tới file cần download đương nhiên phải có rồi.
+ Nếu là bộ 2 file: 1 file nhạc và 1 file lời (MP3+XML hoặc MP3+LRC) thì phải chỉ rõ đường link ở RemoteURL và RemoteURL_lyric, cũng như đuôi file sẽ được download ở Pathfile và Pathfile_lyric.
+ Nếu là 1 file (video, youtube video, kar) thì chỉ cần ở pathfile và remoteURL. Pathfile_lyric và remoteURL_lyric để trắng.

Sau khi điền vào file excel xong. Bạn ấn Ctrl+A để chọn tất, xong rồi Ctrl+C để copy. Paste (Ctrl+V) vào notepad, sau đó save as thành file text là có thể dùng import vào RC4W được.

Nếu có dữ liệu hay thì hãy chia sẻ trên facebook page của chương trình.

Sunday, October 20, 2013

New version 1.3.0 (19/10/2013) and how to use download feature

New version 1.3.0 added the following features:
+ Program can now download online song. Now direct link and youtube supported.
+ Added browse by genre, artist and author
+ Added wrap text for long song title in the songlist
+ Added settings show/unshow information about artist, author and lyric in songlist
+ ...

About the main feature of this update: download online song.

First you need a text file that contains information about the online songs. 
Here I made one from star zing (a karaoke site in Vietnam) http://ge.tt/3zcmFhv/v/0?c, one from youtube http://ge.tt/2VagJhv/v/0?c, and one from dropbox (sunfly karaoke) http://ge.tt/3bAnPjv/v/0?c
Note: I don't intend to provide contents. These files are just examples (even so, it is big (~11000 songs)).

Step by step:

1) Download file above
2) Run RC4W server
3) In the main window, click "Database manager"
4) Select tab "Import links", like following:

 5) Click "Open links file", choose the text file you just downloaded
 6) Back to tab Import links, click "Choose destination folders" to select the folder where songs will be downloaded into.
7) Click "apply filename template" to name file (default is <title>-<singer>)
8) Click "Import to database" to import all this data into database

That is all. Now you can use client to search for songs and download them.

Beside, you can use window "Downloader" to download batch of songs instead of using client.


Saturday, October 19, 2013

Cách sử dụng chức năng download trong phiên bản mới 1.3.0

Đầu tiên phải có file dữ liệu
Ở đây mình đã làm 1 file dữ liệu từ star zing. http://ge.tt/3zcmFhv/v/0?c
File chứa link 1 số video từ youtube: http://ge.tt/2VagJhv/v/0?c

Ghi chú: mình không có ý định cung cấp nội dung - tức là cung cấp nhạc karaoke, cập nhật mới, ... File này có ý nghĩa tham khảo và ví dụ thôi (mặc dù nó chứa toàn bộ dữ liệu zing cho tới thời điểm hiện tại).

Các bước làm:

1) Download file trên về
2) Bật chương trình RC4W server trên PC lên.
3) Ở cửa sổ chính hoặc từ menu chọn "Database Manager"
4) Vào tab "Import links", giống như ở hình dưới:

 5) Ấn vào Open links file, chương trình sẽ yêu cầu mở file .txt là file dữ liệu mà bạn vừa download về. Chọn file đó.
 6) Quay về tab Import links, ấn vào Choose destination folders để chọn thư mục sẽ download các file nhạc về.
7) Lại tiếp tục tab (import links): ấn vào apply filename template để đặt tên file (mặc định là dạng <tên bài>-<ca sĩ>)
8) Ấn import to database để ghi dữ liệu này vào database.

Thế là xong. Giờ có thể dùng client để tìm bài hát và download về hát.
Như thế bạn có kho dữ liệu bài hát lớn mà không phải download tất cả về máy. Cần bài nào thì download bài đấy thôi.

Ngoài ra từ cửa sổ chính, bạn có thể ấn vào Downloader để download hàng loạt bài trước thay vì đến khi hát mới download:


Phiên bản mới 1.3.0 (19/10/2013)


Phiên bản mới 1.3.0 có những tính năng mới sau:

+ Cả client lẫn server:
- Thêm chức năng download từ internet: đây là tính năng chủ yếu của lần cập nhật này. Có thể download từ link trực tiếp (có thể từ sannhac.com, star zing, có thể từ dropbox, ... miễn là link trực tiếp) và từ Youtube. Nếu ai không dùng chức năng này thì cũng không thấy sự khác biệt lắm.
- Thêm cách thức lựa chọn bài hát: chọn từ một danh sách ca sĩ, nhạc sĩ hay thể loại nhạc.
- Thêm tìm kiếm theo viết tắt (ví dụ "bản tình ca mùa đông" tìm btcmd )

+ Ở server:
- Tăng tốc độ scan và import dữ liệu vào database

+ Ở client:
- Thêm điều chỉnh midi
- Thêm settings cho phép hiển thị hay không tên ca sĩ, nhạc sĩ và lời bài hát trong các list (in-queue list, song list)
- Thêm settings cho phép bẻ dòng hoặc không bẻ dòng đối với tên bài hát quá dài
- Thay đổi cách sắp xếp inqueue list: ấn giữ và kéo để thay đổi thứ tự, ấn vào và chọn remove để xóa bài hát khỏi danh sách

Nói qua về chức năng download bài hát từ internet

1) Chương trình không cung cấp server, hay URL để cho bạn download, mà chỉ là công cụ để download.
2) Dữ liệu về bài hát online cũng chứa trong database
3) Dữ liệu này được chương trình import từ một file danh sách đường link và các thông tin khác của bài hát vào database (cấu trúc file sẽ nói sau)
4) Khi import thì bạn sẽ chọn chỗ để download và sau đó không có cách gì chọn lại nữa (vì nó đã ghi vào database)
5) Sau đó có thể dùng server để download cả loạt bài về
6) Hoặc dùng ở client thì tìm kiếm như bình thường. Bài hát online, cần download về trước khi hát sẽ có biểu tượng quả địa cầu ở bên cạnh. Ấn vào để chọn download và đưa vào hàng chờ
7) Nhận xét khi test chương trình: Bài hát từ zing thường dưới 10MB, download chỉ mất mấy chục giây, đủ để bạn hát xong là có bài hát mới sẵn sàng. Video từ youtube thì lớn hơn, chắc vài chục MB, nhưng nếu mạng tốt thì cũng không hề phải chờ.




Sunday, August 25, 2013

Phiên bản server mới 1.2.1 (25/8/2013)

25/8/2013: Server updated: version 1.2.1
+ Thêm chức năng chỉnh sửa list nhạc tự tạo trên server.
+ Lấy ra full list nhạc: tìm với từ khóa /f
+ Sửa một số lỗi nhỏ khác


Đây là cập nhật server trên PC, client trên android không thay đổi và sẽ vẫn dùng tốt.

Chỉnh sửa list nhạc trên server (PC)

Để quản lý tốt và thuận thiện hơn về list nhạc, mình làm thêm 1 cửa sổ cho phép chỉnh sửa list nhạc trên PC. Để mở cửa sổ này thì ở cửa sổ chính ấn vào nút "List Editor".


Cửa sổ này có các phần:
Bên trái: tìm kiếm bài hát. Kết quả tìm được sẽ hiện ra ở một bảng. Nháy đúp sẽ đưa bài hát này vào list nhạc đã mở ở bên phải phía dưới. Hoặc có thể chọn nhiều bài rồi ấn nút "Add selected to list".
Bên phải phía trên: Danh sách list nhạc. Bạn có thể thêm, xóa, đổi tên, ... Nháy đúp để mở một list nhạc ra. Có thể dùng phải chuột để ra menu tắt.
Bên phải phía dưới: Nội dung của list nhạc được mở. Bạn có thể xóa bài hát khỏi list nhạc hoặc thêm vào từ danh sách tìm kiếm được ở phía bên trái. 
 
 

Hiện full list nhạc

Do có nhiều bạn đề nghị hiển thị toàn bộ bài hát nên mình thêm vào.
Cách làm: khi tìm kiếm bạn tìm với từ khóa "/f" (không tính dấu ngoặc kép). Mình không làm nút ấn cho client trên android chức năng này vì nó cũng ít người muốn dùng. Người nào cần dùng thì cũng không quá khó khăn để làm.

Tuesday, August 13, 2013

Phiên bản mới 1.2.0 (12/8/2013)

Phiên bản cập nhật mới 12/8/2013 version 1.2.0
+ Thêm quản lý list nhạc: danh sách mới chơi gần đây (recent list), danh sách hay chơi (most played list) và danh sách do người sử dụng tự lập ra
+ Thêm tự động kiểm tra và cập nhật phiên bản mới cho server (có thể tắt đi nếu không thích).
+ Thêm kiểm tra tính tương thích version ở client: kiểm tra version của client và server có tương thích nhau hay không.
+ Server tự động kiểm tra các thư mục nhạc có bài hát mới hay không để đưa vào thư viện vào mỗi lần chương trình được chạy.

Vẫn như mọi khi, download ở đây



Thursday, July 25, 2013

Sử dụng laptop hoặc điện thoại làm bộ phát wifi

Nếu nhà bạn không có router wifi, bạn có thể biến laptop hoặc điện thoại của bạn thành bộ phát wifi để có thể sử dụng RC4W. Với điện thoại android, chức năng biến điện thoại thành bộ phát wifi được tích hợp sẵn, còn ở Windows bạn cần cài thêm phần mềm ngoài hoặc dùng ad-hoc wifi.

Biến laptop thành bộ phát wifi

Một số phần mềm biến máy tính thành bộ phát wifi:
mhotspot http://mhotspot.com/

MyPublicWifi http://www.mypublicwifi.com/publicwifi/en/index.html

Sau khi dùng phần mềm này để làm bộ phát wifi, bạn có thể dùng điện thoại để tìm mạng này và kết nối.

Dùng điện thoại làm bộ phát wifi

Trường hợp này thì ngược lại, điện thoại sẽ làm bộ phát wifi còn laptop sẽ kết nối vào. Với Jelly bean 4.1 mình đang dùng thì nó ở Settings > Wireless & network (more) > Tethering and portable hotspot > Portable wifi hotspot. Với 2.3 chắc cũng nằm ở đâu đó gần đấy, nhưng mỗi hãng sản xuất điện thoại lại tùy biến nó đi một chút.
 

Kết luận

Dùng wifi hotspot, hay bộ phát wifi từ laptop hoặc điện thoại, bạn không cần phải dùng đến một router wifi bên ngoài nữa. Nghĩa là chỉ cần laptop và điện thoại là có thể dùng RC4W ở nhà được.
Hạn chế khi dùng là mỗi lần tạo wifi hotspot mới, bạn phải cấu hình lại cho RC4W server ở phần network interface vì có thể khi tạo wifi hotspot, IP được cấp phát không còn giống như cũ nữa. Nhưng chương trình sẽ nhắc bạn, và chỉ mất 5 giây để cấu hình lại.

Wednesday, July 24, 2013

(English) New version 1.1.0 (15/7/2013)

New features in this version:

1)  Allow client to search for servers, and just click to connect.
Setting on PC:
+ Turn on "Clients can detect this server"
+ Input server name and server info

On client, it will be shown as follow:

Just click and connect

2) Modified the UI, added some dynamic effects (animation)
3) Added Volume control +/-/mute, button L/R to change audio channel (voice and beat maybe).
 
4) Added ability to modify the in-queue list (sort, delete): hold and drag the grey rectangle on the left to sort. Click the red thrash bin icon on the right to delete.

 Advanced information

1) Restart service button in the main windows (server)
This button is used to restart all network services (AutoDiscoveryService - service that let clients find server, TCP Server - main connection between client and server). Note that if you click this button, all connected connection will be disconnected.
If you change something related to network configuration, you can use this button to apply without restarting program.


2) Added this configuration(file Remote Controller For Walaoke.exe.config)
AutoDiscoveryPort: UDP port that is used to transmit the information about server for client. Client use this port to find servers. You can changed it here.
<setting name="AutoDiscoveryPort" serializeAs="String">
                <value>18500</value>
            </setting>



Thursday, July 18, 2013

Phiên bản mới 1.1.0 (15/7/2013)

Phiên bản mới này thêm một số tính năng sau:

1) Thêm tính năng cho phép client tìm server và ấn vào để kết nối. Không cần phải mất công nhớ IP và Port để đăng nhập nữa.
Cấu hình trên PC:
+ Tích vào "Clients can detect this server"
+ Đặt tên và ghi thông tin trên đó

Hiện ra ở trên điện thoại như sau:

Ấn vào và kết nối!

2) Sửa lại giao diện, thêm vài hiệu ứng động
3) Thêm chỉnh sửa volume +/-/mute, điều khiển kênh âm thanh L/R để tách lời bài hát.
 
4) Thêm khả năng chỉnh sửa danh sách bài hát chờ (sắp xếp, xóa) : ấn vào phía bên trái (màu xám) và kéo để thay đổi thứ tự bài hát. Ấn vào biểu tượng thùng rác (màu đỏ bên phải) để xóa bài hát.

Thông tin nâng cao:

1) Thêm nút restart services ở cửa sổ chính.
Nút này dùng để khởi động lại các service mạng (AutoDiscoveryService - để client tự tìm được server, TCP Server - đường kết nối chính ở đây). Chú ý là khi ấn nút này thì các client đang kết nối sẽ bị ngắt kết nối hết.
Nút này dùng khi bạn thay đổi gì đó về cấu hình mạng, muốn áp dụng ngay mà không phải đóng mở chương trình.


2) Server có thêm cài đặt cấu hình sau: (trong file Remote Controller For Walaoke.exe.config)
AutoDiscoveryPort: cổng UDP dùng để phát đi thông tin về server cho client. Client sẽ thông qua đây để tìm server. Bạn có thể thay đổi cổng này nếu chẳng may bị trùng lặp với chương trình khác trong máy. 
<setting name="AutoDiscoveryPort" serializeAs="String">
                <value>18500</value>
            </setting>




Nếu bạn phát hiện lỗi của phiên bản này thì hãy ghi ở comment dưới. Mình không có điều kiện thử nghiệm phần mềm (cả client lẫn server) trên các máy khác nhau (các máy android khác nhau và PC chạy các đời Win khác nhau) do đó không thể tránh khỏi lỗi.
Máy mình dùng là Samsung Captivate chạy Rom Jelly Bean 4.1, PC thì chạy Windows 7 32bit.

Friday, June 07, 2013

What will be added


These feature will be developed:
+ Client automatically search for server. I hope i can make it auto-search for server. (DONE with 1.1.0)
+ More control: volume control, left-right audio toggle, mute, (DONE with 1.1.0)
+ Server can download songs from internet (songs URL must be specified in database). This saves hard disk space but needs internet connection (and high speed if song is HD Video) (Done with 1.3.0)
+Download and play video karaoke from youtube (Done with 1.3.0)
+ Use youtube app on android to search for karaoke video (or whatever video) and then send to RC4W to download and play on PC

Client trên điện thoại android

Phần này giải thích ngắn gọn về client trên điện thoại android. Thực ra không có gì để nói nhiều vì sử dụng rất đơn giản.

Kết nối

Phiên bản 1.1.0 trở lên cho phép tìm kiếm server và ấn vào để kết nối thay vì phải nhập bằng tay. Tuy nhiên bạn vẫn có thể nhập bằng tay ip và port để kết nối. Chương trình sẽ lưu lại địa chỉ để sử dụng sau này.

Màn hình chính

Trong màn hình chính có 2 trang: SEARCH và IN QUEUE. SEARCH sẽ hiển thị các kết quả tìm kiếm, INQUEUE hiển thị danh sách bài hát đang nằm trong hàng đợi.

Phía dưới là nút để pause/play và next, volume +/-/mute và L/R để đổi kênh âm thanh.

Tìm kiếm

Để tìm kiếm, ấn vào biểu tượng tìm kiếm (hình kính lúp) phía trên.
Kết quả tìm kiếm được hiển thị với tên bài hát, loại file nhạc, nhạc sĩ, ca sĩ và vài từ đầu tiên của lời bài hát.

Đặc điểm tìm kiếm:
  • Hiện nay chương trình chỉ cho phép tìm kiếm 3 kí tự trở lên.
  • Tìm tên bài hát, tên ca sĩ, nhạc sĩ, lời bài hát ở dạng gốc và dạng 2 (tiếng Việt không dấu, pinyin, hoặc romanji) có chứa chuỗi kí tự tìm kiếm trên.
  • Thứ tự sắp xếp kết quả: hiển thị kết quả tìm được theo tên bài hát trước, sau đó các kết quả theo tên nhạc sĩ, ca sĩ, sau đó là theo lời bài hát.
Ví dụ tìm kiếm:
+ "mua dong" -> "Mùa đông không lạnh", "Cô bé mùa đông", ...
+ "xuan" ->  "xuân này con không về", "cháu yêu bà" (của Xuân Mai hát)
+ ABBA -> các bài hát ABBA hát
+ "hung" -> "người con gái thủy chung", ... các bài hát của Tuấn Hưng
+ ....


Sunday, May 26, 2013

Tin tức - News

8/12/2013: Server version 1.4.1 build 2: fix bugs
30/11/2013: Server version 1.4.1 build 1: fix bugs
23/11/2013: Server updated version 1.4.1. Click here for details
19/11/2013: Client and server updated version 1.4.0: Click here for details

Thursday, May 23, 2013

Server RC4W - other files

In earlier post you knew about the database, now this post will tell you about all file in this Server RC4W software:
  • Configuration file: Remote Controller For Walaoke.exe.config
  • Conversion helper file: Information about converting name from 1st form to 2nd form: convert.cfg. 1st form is original, 2nd form is for searching purpose.
  • File log.txt và scanlog.log

Configuration file

There is only item in this configuration file is used: path to db.mdb, file extentions that can be scanned. Changing other items has no meaning because this settings can only be set in setting windows when program run.

Path to db.mdb: 

You can change this to make program use other mdb file (at the bold text)
<connectionStrings>
        <add name="RemoteControllerForWalaoke.Properties.Settings.dbConnectionString"
            connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb"
            providerName="System.Data.OleDb" />
    </connectionStrings>

File extentions that can be scanned

You can add or remove file type that you want program to scan and import to database here. Remember to write each of them in UPPER CASE, separated by ";"
    <applicationSettings>
        <RemoteControllerForWalaoke.Properties.Settings>
            <setting name="ImportExts" serializeAs="String">                <value>KAR;MIDI;MID;MP3;WAV;SWF;MKV;VOB;DAT;AVI;MPG;FLV;WMV;MP4;MOV;WEBM;</value>
            </setting>
        </RemoteControllerForWalaoke.Properties.Settings>
    </applicationSettings>

File convert.cfg

File convert.cfg is used to change 1st form to 2nd form. Its structure as following:
Each line of this file has the following format: <Original character><TAB><Destination string>
<Original character> is Vietnamese, Chinese, or Japanese, ... characters
<TAB> is tab character (\t)
<Destination string> is string that will replace the <original character>
In Vietnamese this string is only one character. But in Chinese or Japanese, this string usually has more than one character.

File log.txt và scanlog.log

log.txt log the activities of program that shown in Log Window (in Main Window, click button "Status Window")
File scanlog.log log the activities when scanning and importing data about karaoke files to the database.

Conclusion:

Normally, you don't need to know about this information. You will need this information only if you have to set up something more advanced, such as:
  • You want to sing chinese and search by pinyin.
  • You run a karaoke bar, you can use 1 server computer that keeps all music and database. Other sub-server installed Server RC4W will refer to shared folders and database in this server computer. Like this, everytime you update database, other sub-servers automatically get update.
  • ...

Hỏi & đáp

Đây là các câu hỏi thường xuyên, bây giờ có lẽ chưa nhiều lắm nhưng sẽ điền đầy dần dần. Bạn có thể comment ở đây nếu gặp vướng mắc hoặc đề xuất gì cho chương trình

1. Bị lỗi hiển thị tiếng Việt, làm thế nào?

Vào phần cài đặt của Walaoke, đặt như hình dưới.

2. DVD Midi cài đặt thế nào

Vào phần Cài đặt MIDI DVD, chọn đường dẫn đến ổ đĩa DVD

3. Chỉ tìm kiếm được 3 kí tự trở lên

Vì chương trình tìm kiếm 1 xâu kí tự ở bất kì vị trí nào trong tất cả các trường (tên bài, lời, nhạc sĩ, ca sĩ) nên nếu tìm kiếm 1 hoặc 2 kí tự sẽ ra quá nhiều kết quả. Do đó, chương trình hạn chế tìm kiếm ở 3 kí tự trở lên. Ghi chú: mình đang suy nghĩ cho tìm kiếm 1 hoặc 2 kí tự, nhưng chỉ tìm những cái BẮT ĐẦU bằng 1 hoặc 2 kí tự này.

Wednesday, May 22, 2013

More details Server RC4W: database

If you missed the post More details about Server RC4W, you (really) should have a look. That post talks about program's task, windows, settings window, database manager window, and about which steps are taken when scanning folders for songs and importing data to database.

This post will be more about Server RC4W. As said earlier, server is much more complicated than client, but if you do it right, searching song on client will be much more comfortable.

WARNING: wrong modification database can make program to work unexpectedly. You should have a little knowledge about access database, and should also carefully read the description in this post before doing anything.

Database file location

Server RC4W keeps information of songs title, authors, lyrics, ... in the db.mdb file, that located in the same folder of exe file. In zip-file, this file is blank. However you can download a database file that already contained list of songs of dvd midi california vol 18.

This file can be open with Microsoft Access and doesn't have password-protected.

Content of db.mdb

There is only one table: Songlist

This is the structure of this table:

  1. SID: Song id: This is the only numberic field in this table. For now, SID is defined as following:
    • 1-1000: for server RC4W to manage playing song and songs in queue.
    • 1001-999999 (million minus one): for Walaoke
    • Bigger than 1000000 (million, 7 digits) : for you to fill your number. It can be any as long as it is bigger than 10000000 and unique.
  2. Title: Song title
  3. Pathfile: Path to karaoke file. You can use absolute path (recommend) or relate path (not recommend).
  4. Pathfile_lyric: Path to lyric file (reserved, not used).
  5. Singer: Artist name
  6. Author: Author name
  7. Type: Genres
  8. Abbreviation: Reserved
  9. Lyric: A few words in the beginning of song.
  10. Title2, Singer2, Author2, Lyric2: "form 2" are used for searching purpose. For example: can search Vietnamese without diacritics or Chinese pinyin or Japanese romanji.
  11. RemoteURL, RemoteURL_lyric: reserved, not used
  12. ContentType: content type or file type
  • DVDMIDI: this means this song from DVD MIDI, and it must be correctly written as DVDMIDI. And SID must be set correctly as number in provided songs list.
  • MP3, MIDI, KAR, AVI, WMV, VOB, MKV, ... extentions of media files.
Knowing about this file content can help you check if data was correctly imported or not. Or you can by yourself modify data (with the condition that you knew what you are doing).

Priority order when searching data

When client sends commands "search", server will search with priority order as follow:
  1. SID: Song id first. Normally, you don't have to search songid (this was the purpose when I made this program), but this order is added for back compability with DVDMIDI.
  2. Title, Title2: Song title, and 2nd form of song title
  3. Author, Author2: author, and 2nd form of author name
  4. Singer, Singer2: artist, and 2nd form of artist name
  5. Lyric, Lyric2: lyric and 2nd form of lyric
Searching results in client are also sorted by this order.

Additional information files

In the post More details about Server RC4W additional information files were mentioned, about how program uses them when scanning folders. This post will tell more about this files.
NOTE: You don't have to read this part if you feel that searching by song name (karaoke-file name) is enough.

Importinfo.txt

Importinfo.txt is a specific file of this program to get additional information. This file content is actually a copy of table Songlist in db.mdb:
  • First line: Fields name of table, separated by TAB character.
  • Next lines: data of these fields.
  • Encoding: UTF8 or Unicode 16.
When program scans for media files, if it doesn't find the importinfo.txt file, it will import data to database normally, using file name as song title. The other information will be blank. This means that in client you can only search by song name

Beginning: Database is blank, you use program to scan and import data of songs to database. Then open database with Microsoft Access and fill data by manually. By saying manually, I mean you can copy from excel, text file or actually input manually. Keep in mind that you should backup database before beginning.
You have rich database and want to share: Maybe after a long time manually inputing data, you have a big database and want to share it along with karaoke files for your friends.You should create a importinfo.txt file in your karaoke folders, so that your friend can import files along with additional data.
  1. Open Database Manage
  2. Go to tab database utils
  3. Click "Get song-info for a folder". Select the folder containing karaoke files. The below table will be filled with information about karaoke files in the selected folder (subfolders are not included).
  4. Click "Export table as importinfo.txt". Program will create "importinfo.txt" file in the selected folder, and export this table into it.
  5. Now you have "importinfo.txt" for your karaoke folder. This folder now can be copied to other computer and your friend can import it and get additional data immediately, thank to you.

Lyric files

One of popular karaoke format is MP3+LRC. MP3 is music file, LRC is lyric file. LRC file contains the following information:
  • Song name
  • Author/artist
  • Lyric and timing
You can read more about this format at http://en.wikipedia.org/wiki/LRC_%28file_format%29
With RC4W, you only need to know that this program can use the LRC files having the same name as MP3 file as additional information for this MP3.

INF+MP3+XML

This is bunch of files used in star.zing.vn. It is unnecessory to talk about this file structure. Just know that if you use ZKOP or ZingToWalaoke, this file can import karaoke folders of these two applications.

Database manager - tab Database Utils

Tab Folders Management was told in post More details about Server RC4W, so it will not be told again here. This tab "Database Utils" contains some small tweak, utils for your database:
  • Check if missing files:  Use this to check if there are certain files that actually don't exist on harddisk any more. This missing files will be shown in the below table.
  • Delete items: delete all items shown in the table (delete in database of course)
  • Get songs-info for a folder; Export table as (importinfo.txt):  see above in "Importinfo.txt" section.
  • Export database: Export all database as a text file.
  • Clean database: Delete all items in datababse.
  • Test Search: test the search function (as in client)

Sunday, May 19, 2013

Chi tiết hơn về Server RC4W - Các file khác

Phần trước đã trình bày chi tiết về Database, phần này sẽ nói về danh sách các file trong chương trình Server RC4W:
  • File cấu hình ban đầu:Remote Controller For Walaoke.exe.config
  • File chuyển đổi từ dạng 1 sang dạng 2: convert.cfg. "dạng 2" là dạng tên bài, ca sĩ, nhạc sĩ, lời bài hát, ở dạng tiếng Việt không dấu, hoặc pinyin, hoặc romanji; dạng 2 nhằm phục vụ mục đích tìm kiếm.
  • File log.txt và scanlog.log

File cấu hình ban đầu

Đây là file cấu hình ban đầu, do đó nếu đã chạy thì một số hạng mục sẽ lưu ở chỗ khác (tùy theo user sử dụng). Những hạng mục lưu ở chỗ khác này đều thay đổi được trong settings của chương trình. Còn lại, những hạng mục thuộc về Application thì chỉ có thể thay đổi ở file này. Các hạng mục thuộc về Application là:

Đường dẫn đến file db.mdb: 

Bạn có thể đổi để dùng file mdb khác. Đổi ở chỗ chữ màu đậm.
<connectionStrings>
        <add name="RemoteControllerForWalaoke.Properties.Settings.dbConnectionString"
            connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb"
            providerName="System.Data.OleDb" />
    </connectionStrings>

Các loại đuôi file sẽ được chương trình quét

Bạn có thể thêm bớt file mà bạn muốn quét vào cơ sở dữ liệu ở đây. Nhớ viết chữ hoa và các đuôi này cách nhau bởi dấu chấm phảy (;)
    <applicationSettings>
        <RemoteControllerForWalaoke.Properties.Settings>
            <setting name="ImportExts" serializeAs="String">                <value>KAR;MIDI;MID;MP3;WAV;SWF;MKV;VOB;DAT;AVI;MPG;FLV;WMV;MP4;MOV;WEBM;</value>
            </setting>
        </RemoteControllerForWalaoke.Properties.Settings>
    </applicationSettings>

File convert.cfg

File convert.cfg dùng để đổi dạng 1 sang dạng 2. Nó có cấu trúc như sau:
Mỗi dòng của file có dạng sau: <Kí tự gốc><TAB><Xâu kí tự đích>
<Kí tự gốc> là kí tự tiếng Việt, Trung, Nhật, ... nói chung là gốc.
<TAB> là kí tự tab
<Xâu kí tự đích> xâu kí tự tương ứng với kí tự gốc.
Ở tiếng Việt thì xâu kí tự đích chỉ là một kí tự. Ở tiếng Trung có thể là xâu kí tự pinyin dài hơn, tiếng Nhật cũng tương tự.

File log.txt và scanlog.log

 File log.txt ghi lại các hoạt động của chương trình tương ứng với cửa sổ Log Window (khi bấm nút Status Window ở cửa sổ chính)
File scanlog.log ghi lại hoạt động quét và nhập thông tin file nhạc vào database của chương trình.

Kết luận:

Nói chung người dùng thông thường không cần quan tâm những thông tin này. Nếu bạn cần cài đặt sâu xa hơn thì bạn tham khảo những thông tin này. Ví dụ về việc tùy chỉnh:
  • Bạn muốn hát tiếng Trung và tìm kiếm theo pinyin thì cài đặt file config.cfg
  • Nếu bạn làm một quán karaoke, bạn có thể làm 1 máy chủ chứa tất cả nhạc + database tập trung. Các máy con cài đặt Server RC4W sẽ trỏ tới file database được share từ máy chủ. Như thế chỉ cần cập nhật database một lần ở máy chủ sẽ đảm bảo cập nhật hết cho các máy con.
  • ...