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.
  • ...

Saturday, May 18, 2013

Chi tiết hơn về Server RC4W - cơ sở dữ liệu

Nếu bạn bỏ sót phần chi tiết 1 thì bạn nên xem lại. Phần đó nói về: nhiệm vụ và các cửa sổ, cửa sổ settings, cửa sổ database manager (quản lý cơ sở dữ liệu) và các bước thực hiện khi tiếp hành quét bài hát và nhập vào cơ sở dữ liệu.

Trong phần này sẽ nói tiếp về Server RC4W. Như đã nói thì về Server sẽ phức tạp hơn, tuy nhiên nếu bạn quản lý tốt server thì client sẽ dễ chịu hơn rất nhiều.

Phần này sẽ nói cơ sở dữ liệu. Nếu nắm được sơ sơ về phần này, bạn có thể khiến cho việc tìm kiếm bài hát ở client dễ chịu hơn rất nhiều. Tuy nhiên đây là phần nâng cao, nếu bạn không có kinh nghiệm về cơ sở dữ liệu, làm việc với nó sẽ không đơn giản.

GHI CHÚ: việc chỉnh sửa cơ sở dữ liệu có thể khiến chương trình hoạt động không như mong muốn nữa. Bạn nên có kiến thức cơ bản về access, cũng như cần đọc kĩ các mô tả về cơ sở dữ liệu trong bài viết này trước khi định làm gì.

Nơi chứa cơ sở dữ liệu

Phần mềm Server RC4W chứa cơ sở dữ liệu về các bài hát, tác giả, lời nhạc, ... trong file db.mdb ở trong thư mục file chạy. Khi bạn mới tải phần mềm về thì file này trắng, chỉ có một bảng trắng. Tuy nhiên bạn cũng có thể tải sẵn một file db.mdb có chứa danh sách karaoke của dvd midi california vol 18 nếu muốn.

File này không có mật khẩu và bạn có thể mở bằng Microsoft Access.

Nội dung file db.mdb

Chỉ có một bảng duy nhất trong file db.mdb: Songlist
Dữ liệu lưu trữ thông tin chỉ đến các file nhạc trong máy tính của bạn, các thông tin bài hát như tên bài, tên tác giả, ca sĩ, những lời đầu bài hát và các thông tin hỗ trợ tìm kiếm khác.

Cấu trúc bảng như sau:

  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: đường dẫn đến file nhạc. Đường dẫn khuyến khích dùng đường dẫn tuyệt đối (dạng C:\abc\xyz\song.mp3). Đường dẫn tương đối (dạng ..\..\abc\xyz.mp3) có thể dùng được nhưng không khuyến khích. 
  4. Pathfile_lyric: đường dẫn đến file lời bài hát (để dành, chưa sử dụng)
  5. Singer: tên ca sĩ 
  6. Author: tên nhạc sĩ
  7. Type: thể loại nhạc 
  8. Abbreviation: để dành 
  9. Lyric: vài từ đầu của lời bài hát 
  10. 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. 
  11. RemoteURL, RemoteURL_lyric: để dành, chưa sử dụng 
  12. 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.
Việc biết về nội dung file để bạn có thể kiểm tra việc chương trình đã import dữ liệu đúng hay chưa, hoặc bạn có thể tự mình thêm dữ liệu bằng tay nếu muốn (với điều kiện là bạn phải hiểu về cấu trúc file rồi)

Thứ tự ưu tiên khi tìm kiếm dữ liệu

Khi client gửi lệnh tìm kiếm, server sẽ tìm kiếm như sau với thứ tự ưu tiên như sau:
  1. SID: mã số bài hát trước. Thông thường bạn không cần tìm mã số bài hát, nhưng để tương thích ngược lại DVD MIDI thì việc tìm kiếm này được thêm vào.
  2. Title, Title2: tên bài, tên bài dạng 2
  3. Author, Author2: tác giả, tác giả dạng 2
  4. Singer, Singer2: ca sĩ, ca sĩ dạng 2
  5. Lyric, Lyric2: lời bài hát và lời bài hát dạng 2
Cũng theo thứ tự này, kết quả tìm kiếm sẽ xếp theo thứ tự trên ở client.

Các file thông tin bổ sung

Trong bài  chi tiết phần 1 có nói qua về các file thông tin bổ sung, cách chúng được sử dụng khi chương trình quét dữ liệu trong các thư mục. Phần này sẽ nói chi tiết hơn về những file này.
Ghi chú: không nhất thiết phải quan tâm đến phần này nếu bạn thấy tìm kiếm theo tên bài hát (tên file karaoke) là đủ

Importinfo.txt

Importinfo.txt là file riêng của chương trình để nhận biết các thông tin bổ sung cho file bài hát karaoke. Nội dung file này thực tế là bản copy của bảng Songlist trong cơ sở dữ liệu:
  • Dòng đầu tiên: tên các trường, cách nhau dấu TAB
  • Các dòng tiếp theo: dữ liệu của các trường đó
  • Encoding: UTF8 hoặc Unicode 16
Khi chương trình quét file nhạc, nếu không tìm thấy file importinfo.txt, nó sẽ nhập dữ liệu vào như bình thường, sử dụng tên file làm tiêu đề bài hát, còn các dữ liệu khác (tác giả, tên bài, lời nhạc) để trống. Có nghĩa là khi tìm kiếm ở client, bạn chỉ có thể tìm theo tên bài hát. Với đại đa số có lẽ thế là đủ, tuy nhiên để tiện lợi hơn, bạn nên tạo file importinfo.txt mà có kèm thông tin khác (tác giả, ca sĩ, lời nhạc). Khi đó bạn có thể tìm kiếm theo tên tác giả, lời bài hát nữa. Có thể khách hàng của bạn sẽ thấy dễ chịu hơn.

Tình huống ban đầu: Cơ sở dữ liệu trắng, bạn cho chương trình quét bài hát vào database, khi đó chỉ có mỗi tên bài hát, các trường khác bị trống, và bạn muốn bổ sung. Khi đó hãy dùng Microsoft access mở file ra và sửa ở trong bảng Songlist. Nên sao lưu file db.mdb trước khi làm việc này.
Tình huống đã dùng lâu: bạn đã có dữ liệu đầy đủ (có thể là sau khi ngồi tỉ mẩn nhập dữ liệu), muốn chia sẻ file karaoke + thông tin bổ sung (importinfo.txt) này, copy sang cho máy tính khác:
  1. Mở cửa sổ Database Manager lên
  2. Vào tab database utils
  3. Ấn Get song-info for a folder. Chọn thư mục có file karaoke. Bảng phía dưới sẽ được điền đầy thông tin về các file karaoke trong thư mục bạn chọn (sẽ không có của thư mục con).
  4. Ấn vào Export table as importinfo.txt. Chương trình sẽ xuất bảng trên vào file importinfo.txt nằm ở thư mục bạn đã chọn.
  5. Như vậy bạn đã có file importinfo.txt cho thư mục karaoke của mình, thư mục này giờ đây có thể share, người khác khác có thể import và có dữ liệu bổ sung ngay lập tức.

Lyric files

Có một loại định dạng karaoke là MP3+LRC. Nghĩa là MP3 là file nhạc, LRC là file lời bài hát. File LRC chứa thông tin sau:
  • Tên bài
  • Tác giả
  • Lời nhạc + thời gian 
Để hiểu hơn về định dạng này, có thể tìm ở http://en.wikipedia.org/wiki/LRC_%28file_format%29
Với RC4W, bạn chỉ cần biết là chương trình có đọc các file LRC cùng tên với MP3 trong thư mục, lấy đó làm thông tin bổ sung cho MP3 đó.

INF+MP3+XML

Đây là nhóm file dùng trong star.zing.vn. Nói cấu trúc file này thì không cần thiết, chỉ cần biết rằng nếu bạn dùng ZKOP hoặc ZingToWalaoke thì chương trình này có thể nhập được thư mục bài hát karaoke của 2 ứng dụng trên.

Cửa sổ Database manager - tab Database Utils

Tab Folders Management quản lý thư mục nhạc đã được nói ở phần chi tiết 1 nên ở đây không nói lại mà sẽ nói về Database Utils. Thực ra thì không có gì nhiều để nói, đây chỉ vài tool nhỏ hỗ trợ:
  • Check if missing files:  Dùng để kiểm tra xem liệu có file nhạc nào có dữ liệu trong database nhưng thực tế trên đĩa cứng không còn tồn tại hay không. Nếu có danh sách sẽ hiện ra ở bảng bên dưới.
  • Delete items: xóa dữ liệu trong cơ sở dữ liệu tương ứng với bảng bên dưới
  • Get songs-info for a folder: Dùng lấy ra một danh sách file nhạc kèm thông tin bổ sung (tên ca sĩ, nhạc sĩ, lời nhạc, ...) cho một thư mục xác định trên ổ cứng. Chức năng này dùng khi bạn muốn chia sẻ một thư mục nhạc karaoke cho bạn bè. Bạn xuất ra thành file importinfo.txt ở trong thư mục đó, người khác sẽ đơn giản import vào sẽ có đầy đủ thông tin cho từng file nhạc trong thư mục. Khi thực hiện chức năng này, bạn sẽ được yêu cầu chọn một thư mục. Chương trình sẽ tìm các file trong thư mục đó cùng với thông tin bổ sung có trong database và điền vào bảng phía dưới.
  • Export table as (importinfo.txt):  xuất toàn bộ bảng phía dưới thành file importinfo.txt vào thư mục đã chọn khi thực hiện chức năng Get songs-info for a folder.
  • Export database: Xuất danh sách nhạc cho cả database
  • Clean database: Xóa toàn bộ dữ liệu
  • Test Search: thử chức năng tìm kiếm cơ sở dữ liệu. Kiểm tra thử để xem database đã đúng chưa. Cái này sẽ ảnh hưởng đến chất lượng tìm kiếm ở client

Friday, May 17, 2013

Karaoke songs source - Nguồn file karaoke

For english: scroll down.

Bạn có thể tìm  nguồn nhạc karaoke:
  • MIDI DVD. Cách sử dụng xem ở hướng dẫn Walaoke
  • MP3+LRC: file mp3 và file lrc (lyric, định dạng cải tiến). Mình không biết có nguồn nào không, nhưng có vẻ nó không dễ tìm. Bạn vào google, tìm dạng "filetype:lrc <tên bài>" có thể tìm được.
  • MP3+XML: file mp3 và file xml (loại lấy từ star zing). Để lấy được loại file này bạn vào google tìm "Zing Karaoke Offline Player" và "Zing to Walaoke" sẽ tìm được các công cụ phù hợp.
  • KAR, MIDI: có thể tìm thấy ở nhiều trang chia sẻ, tuy nhiên nhạc nước ngoài nhiều hơn và chất lượng âm thanh thì bình bình (MIDI DVD nói ở trên chính là một bó các file MIDI/KAR này).
  • Video karaoke: FLV (có thể lấy từ youtube, đây là danh sách khoảng 1000 bài từ youtube), MP4, MKV (từ các nguồn HD nào đó, youtube cũng có), SWF (dạng flash - bản Walaoke pro mới chơi được; có thể lấy twww.sannhac.com). 

You can find source of karaoke files:
  • MIDI DVD California.
  • MP3+LRC: file mp3 and lrc (lyric, enhanced format). I really don't know where can download this type. You can try search by google: "filetype:lrc <songname>" 
  • MP3+XML: it is a format that used in a vietnamese karaoke website. If you are not vietnamese, this is maybe not what you want.
  • KAR, MIDI
  • Video karaoke: FLV (can get from youtube), MP4, MKV (from other HD sources, youtube is also a good source), SWF (flash, can get from www.sannhac.com (a Vietnamese site)). Other: collection of nearly 10 000 links of karaoke video from sunflykaraoke.

Wednesday, May 15, 2013

More details about Server RC4W

(Link download for Server RC4W: here )

Server always is more complicated than Client. I tried to make the first start as simple as possible (quick start), but it still lacks of information, so if error occurs and users may give up, or even uninstall software.

This post will talk more about Server RC4W, maybe it will help you to fix errors.


PROGRAM TASKS:
  • Interface with client: Server through protocol TCP/IP through LAN/WLAN talks with client, retrieves command (play/next/search songs/...) from client.
  • Control Walaoke: Send hotkey to Walaoke to request play/next/stop/volume/... . Beside, Server can read list of songs that currently are playing.
  • Database Management: Search for song in database: search by title, artist, author or lyric. It may find original title or title without diacritics (vietnamese), pinyin (chinese), .....
WINDOWS:
MainWindow: window that observes server activities. This window can be opened by double-clicking the notify-icon in traybar or from context menu..
  • Local listening: ip of server, and port that server are listenings to.
  • Connected clients: list of all connected clients
  • Button "Disconnect" is to force a client to disconnect.
  • Status Window (maybe i put wrong name) shows log window
  • Settings - settings window.
  • Database manager - database manager window.
  • Shutdown server
  • Closing or minimizing this window only makes it to minimize to traybar (not to close). You should click shutdown server or exit in context menu to quit program.

Settings:
Cửa sổ Settings
  • Walaoke execute: path to execution file of walaoke.
  • Pro version checkbox: program will check it after you select above field. You can change it (but not recommend). It tells Server RC4W which version of Walaoke to send hotkey correctly.
  • Network interface: Network ip of your computer. It maybe IPv4, IPv6, wlan or lan, but it must be the same network with your android phone.
  • Port: port that server will be listening to.
  • Show status window when program starts.
Cửa sổ Folder Management
Database manager: In order to search for songs quickly, by many critirials (title, artist, author, lyric), data is organized in db.mdb (Access database). This window is consisted of 2 tabs: Tab Folder management let you folders that contains karaoke media files and scan for them. Tab Database Utils allows you to tweak database. But in this post, i don't talk about this because it is not simple.
Tab Folder Management:
  • Add:
  • Remove:
  • Apply change: save the list of folders and scan
  • Discard change:
When button Apply change is clicked, program will scan all the folders and subfolders in the list. It will do all these steps:
  1. Search for all file MP3, KAR, MIDI, VOB, MKV, AVI, SWF, in short all formats which Walaoke can play (many).
  2. Beside, program will try to find additional information from files LRC (lyric); INF và XML (zing star); file importinfo.txt (specific format file of this program); to get artist, author name and lyric.
  3. Convert all additional information into "2nd form" (vietnamese without diacritics, pinyin, romanji) to serve searching purpose afterwards (file convert.cfg will be used for this operation).
  4. Check for duplications and import to database.
Details about format of additional information files; "2nd form" and convert.cfg; tab Database Utils will be described in other post.

Note that if there is no additional files, program will still import normally, using file names as title of songs.