推薦軟硬體、網站

Google Adsense

aNobii網路書櫃

顯示具有 教學 標籤的文章。 顯示所有文章
顯示具有 教學 標籤的文章。 顯示所有文章

2010年5月16日 星期日

[Mac] 用QuickTime X + Soundflower進行含系統音效的螢幕錄製

Keywords: QuickTime X, audio, screen capture, screen recording.

Snow Leopard上的一個很大的改變是新的QuickTime X,其中一個好用的功能就是螢幕錄製(screen recording)。可是預設是沒有辦法連同系統音效一起錄製的,只能選擇麥克風當作音源。其實透過 Soundflower 這個套件可以幫我們做到。
  1. 至專案網址 http://code.google.com/p/soundflower/ 下載soundflower的dmg檔。掛載後點選Soundflower.mpkg,照正常的步驟安裝。雖然沒強制,但裝完之後建議重開機。

  2. 至系統偏好設定 -> 聲音 -> 輸出,原本的聲音輸出設備是內建揚聲器,現在改選Soundflower (2ch or 16ch)


    Note1: 從現在開始會聽不到系統音效,因為所有的音效輸出都被導到Soundflower。

    Note2: 有個方便的切換方法:option + click工具列右上方的喇叭圖示,可直接切換聲音輸出設備。


  3. 開啟QuickTime X -> 檔案 -> 新增螢幕錄製,點選向下箭頭,麥克風選擇剛剛設定的Soundflower (2ch or 16ch),再按下錄製鈕就可以錄製有聲音的畫面了。


    Note:
    錄製的時候仍然聽不到任何聲音,感覺有點怪但是沒辦法XD。

  4. 完成之後再用2.的方法,把聲音輸出設備改回內建揚聲器,才能再聽到聲音。這樣子剛剛錄製的螢幕就含有系統音效了!


獻醜一段我剛剛錄的一個例子XD


參考資料:

  1. Snow Leopard – Use Quicktime Player to capture web video and audio | Apple Mac | Tech-Recipes
  2. How to use Snow Leopard’s new QuickTime Screen Recording feature to record Hulu content for your iPhone — Sample the Web

2009年9月7日 星期一

[Mac] Adding a keyboard shortcut to "Show Package Contents"

中文標題:[Mac] 為"顯示套件內容"添加快速鍵


雖然說一般安裝/使用軟體不會需要這個功能,不過有時比較進階的操作需要對應用程式按右鍵,然後點選"顯示套件內容"來更動一些細節。

然而對於一些龜毛的使用者,按右鍵(在筆電上就是ctrl+click或是兩指觸控板+click) -> 移動游標 -> 選擇"顯示套件內容"按下去,三個步驟可能還嫌太慢。XD
如果想要一步完成該怎麼做呢?

從Leopard開始,系統偏好設定允許我們自訂這個快速鍵囉!
方法如下(以下screenshots是用Snow Leopard的):
1. 進入系統偏好設定(System Preferences) -> 鍵盤(Keyboard) ,Leopard的話是鍵盤與滑鼠(Keyboard & Mouse for Leopard)

2. 在鍵盤快速鍵分頁(Keyboard Shortcuts tab)的"應用程式快速鍵",按一下"+"。

3. 應用程式選擇"Finder.app",選單名稱打入"顯示套件內容"。
For English systems, type "Show Package Contents".
鍵盤快速鍵,就隨便取一個自己喜歡,而且在Finder裡沒有重複的,例如cmd+P。


如此就新增一筆鍵盤快速鍵了!
來測試看看Finder,果然對應用程式按下剛剛自訂的快速鍵,就會新開一個視窗並"顯示套件內容了"。
一般開啟app是用cmd+O,如果顯示套件內容用cmd+P的話,個人覺得蠻方便的,按鍵就在旁邊。

2009年9月2日 星期三

[Mac] MATLAB R2009a on Snow Leopard : An Installation Solution

If you previously installed MATLAB R2009a on OSX 10.5 Leopard, and then upgraded your OS to OSX 10.6 Snow Leopard, the MATLAB program would work fine.

But if you try to install MATLAB R2009a on Snow Leopard, you will get the following Java exception: (For those who just want to know the solution, go directly to the second image)
So I went check the log, saying:

(Sep 03, 2009 01:35:52)Starting activation process.
(Sep 03, 2009 01:35:52)Performing interactive activation.
(Sep 03, 2009 01:35:52)MATHWORKS ACTIVATION IS STARTING UP.
(Sep 03, 2009 01:35:54)com.mathworks.instutil.JNIException: java.lang.UnsatisfiedLinkError: Cant load library: /Applications/MATLAB_R2009a.app/bin/maci64/libinstutil.jnilib
java.lang.UnsatisfiedLinkError: Cant load library: /Applications/MATLAB_R2009a.app/bin/maci64/libinstutil.jnilib
com.mathworks.instutil.NativeUtility.(NativeUtility.java:30)
com.mathworks.instutil.MachineInfo.(MachineInfo.java:41)
com.mathworks.activationclient.model.ActivationModelImpl.loadNativeLib(ActivationModelImpl.java:228)
com.mathworks.activationclient.model.ActivationModelImpl.getMachineInfo(ActivationModelImpl.java:211)
com.mathworks.activationclient.view.ApplicationViewImpl.getMachineInfo(ApplicationViewImpl.java:260)
com.mathworks.activationclient.view.ApplicationViewImpl.showGUI(ApplicationViewImpl.java:116)
com.mathworks.activationclient.controller.ApplicationControllerImpl.start(ApplicationControllerImpl.java:118)
com.mathworks.activationclient.ActivationClientImpl.start(ActivationClientImpl.java:210)
com.mathworks.activationclient.ActivationApplication.goInteractive(ActivationApplication.java:186)
com.mathworks.activationclient.ActivationApplication.go(ActivationApplication.java:172)
com.mathworks.activationclient.ActivationApplication.main(ActivationApplication.java:135)

(Sep 03, 2009 01:35:54)java.lang.NullPointerException
com.mathworks.activationclient.view.ApplicationViewImpl.showGUI(ApplicationViewImpl.java:116)
com.mathworks.activationclient.controller.ApplicationControllerImpl.start(ApplicationControllerImpl.java:118)
com.mathworks.activationclient.ActivationClientImpl.start(ActivationClientImpl.java:210)
com.mathworks.activationclient.ActivationApplication.goInteractive(ActivationApplication.java:186)
com.mathworks.activationclient.ActivationApplication.go(ActivationApplication.java:172)
com.mathworks.activationclient.ActivationApplication.main(ActivationApplication.java:135)

(Sep 03, 2009 01:36:10)There was an unexpected exception:
null

Then I checked the MATLAB_R2009a.app (right click => Show Package Content), and found that
there was no such directory "bin/maci64", but only "bin/maci".
So I copied and renamed it to "maci", ran the installation again. This time I got another exception:


(Sep 03, 2009 12:26:51)com.mathworks.instutil.JNIException: java.lang.UnsatisfiedLinkError: /Applications/MATLAB_R2009a.app/bin/maci64/libinstutil.jnilib: no suitable image found. Did find: /Applications/MATLAB_R2009a.app/bin/maci/libinstutil.jnilib: mach-o, but wrong architecture /Applications/MATLAB_R2009a.app/bin/maci64/libinstutil.jnilib: mach-o, but wrong architecture
java.lang.UnsatisfiedLinkError: /Applications/MATLAB_R2009a.app/bin/maci64/libinstutil.jnilib: no suitable image found. Did find: /Applications/MATLAB_R2009a.app/bin/maci/libinstutil.jnilib: mach-o, but wrong architecture /Applications/MATLAB_R2009a.app/bin/maci64/libinstutil.jnilib: mach-o, but wrong architecture
...

This "wrong architecture" message reminded me to turn to Java settings for the final trial.
(After all, the activation program was written in Java :p)
And it worked!!

Here's the solution:
1. Use Finder to go to /Applications/Utilities/Java Preferences.
2. In the Java Application section, set 32-bit as the first priority over the 64-bit by dragging it upward.
3. Run the MATLAB R2009a installation again.

As I remember, Java in Leopard had the Java SE 5 (32-bit) as the first priority, but Snow Leopard does not! (all Java SE 6, and 64-bit first)

Hopefully you will finally see this activation window. I believe everyone knows what to do next :DD
Upon success, you can see that MATLAB R2009a runs in 32-bit mode.


I also saw some good news about the coming R2009b release from MATLAB Central blog.
The R2009b will be a 64-bit version, and will move one step closer to being entirely independent of X11. However the latter is going to take another couple of releases to accomplish...

I really look forward to the day when 64-bit + native MATLAB application become possible :)

[Mac] clean install並用硬碟安裝Snow Leopard

這是我的心得


由於後來證實Snow Leopard就是完整版 不需要透過現有作業系統才能升級


所以到底要直接升級?還是砍掉重練呢?



p.s.後來抓到讓我Snow Leopard異常變慢的兇手了 是我運氣不好Orz


所以照PTT板友的說法,可以不用照Windows穩定系統的邏輯來砍掉重灌,直接升級也是很夠的,砍掉重練的必要性就很低了:DD


不過還是提供一下clean install + 備份還原的方法:

(clean install需要用到Time Machine和外接硬碟備份)

(也包含把買來的Snow Leopard做成dmg,並用硬碟安裝的方法[2.1~2.4])


1. 先用Time Machine備份原本的系統(直接升級者不用)


2. 如果要加速,可以考慮用"硬碟"來裝Snow Leopard :p

單純用光碟的話可跳讀2.4


2.1 Disk Utility把硬碟多切出一塊HFS+磁碟區(保險一點切個8~10G)


2.2 Disk Utility把買來的Snow Leopard轉成dmg (謎版的就不用啦XD)


檔案 -> 新增 -> "Mac OS X Install DVD"的磁碟映像檔 -> 存檔。

(這個需要20分鐘甚至更久喔 可以同時做其他事)


2.3 如果直接用Disk Utility的"回復" -> 選擇"來源":映像檔 和 "目的":新切磁區

的話,會出現錯誤。後來發現先執行 映像檔 -> 掃描回復所需的映像檔

掃過一遍dmg就可以用"回復"來裝到新磁區了。


2.4 重開機,按option選擇用剛切的磁碟區開機,進入OSX安裝程式。

沒錯!2.3的disk copy步驟就是把硬碟磁區弄得像光碟一樣可開機。

如果是選擇用光碟安裝,那按option後選擇光碟即可。

然後在正式安裝之前用工具 -> 磁碟工具程式把要砍掉重練的磁區清除。

(當然只有砍掉重練的人要清,直接升級的就不用了。)


2.5 接著就是典型的Mac OS X安裝啦!

據統計用光碟要45分鐘,用硬碟只要30分鐘。

不過有備份OS光碟習慣的人會選用硬碟,畢竟以後再重灌也方便嘛XD


3. 第一次進OSX,並還原Time Machine的備份


3.1 重開機後有問到"使用者名稱"的時候請小心!

備份的使用者名稱不能和新系統的使用者名稱相同,否則無法由Time Machine還原!

所以就暫時取另一個名稱,等到還原以後再刪掉這個暫時的使用者。

(如果不小心取到一樣的,那就暫時不要還原,到系統偏好設定->使用者的地方:

建立一個具有管理者權限的使用者 -> 然後把同名的刪掉)


3.2 當安裝程式問到要不要轉移系統時,選擇從Time Machine來還原備份。

也可選擇稍後再從"系統轉移輔助程式"來還原,看個人習慣。

如果有3.1臨時多建立使用者情形時,結束以後可以把這些暫時使用者刪掉。


4. 完成

如果需要Xcode的話,可考慮順便裝,因為就在Snow Leopard的光碟/磁碟區裡。

下一步如果有用boot camp的人應該就弄這個吧。不過比較討厭的是,

跑boot camp前要先把磁碟區合併回一個,最後就只能一個HFS+和一個Win並存。

如果想要嘗試boot camp + multiple partitions,那就是另一個可怕的地獄了Orz。



2008年10月11日 星期六

Octave on MacOSX

說到科學計算,一般人總是想到MathWorks公司的MATLAB。但這學期修數值方法,老師反而推薦另一套軟體:GNU/Octave
其實這樣的態度是好的,老師也說,學生時期,應該要鼓勵我們用沒有版權爭議的Octave,而不是奇怪版本的MATLAB。況且MATLAB包含的領域太多了大部分也用不到,身為自由軟體的支持者,雖然MATLAB也能做到,但如果只是修課、寫作業的話,當然要試試看Octave這套軟體。


如果是Windows使用者那就直接跳過這篇吧XD。Windows上面的設定很簡單,只要抓回來安裝好就好了,而且還有內建編輯器SciTE,用edit指令就可直接呼叫。
Mac底下就沒有那麼容易了,自己也曾經碰到一些困難。以下說明Octave for MacOSX的一些主要設定步驟:

1. 下載編譯好的可執行檔
2. 解決編輯器的問題
3. 設定.octaverc
4. 解決繪圖的問題(gnuplot與AquaTerm)



1. 下載編譯好的可執行檔
這很簡單,官網Download的地方選MacOSX可以連到SourceForge下的下載頁面。選擇最新的版本並確定自己的機型就可以囉。Intel的選octave-x.x.x-i386.dmg,PowerPC的選octave-x.x.x-ppc.dmg。


接下來就是簡單的drag-and-drop,把disk image檔裡的Octave.app拖曳到Applications裡就可以啦。
不過檔案先別急著刪,Extras資料夾裡的gnuplot等等還會用到!
用一般方式開啟Octave,就可以得到如下的終端機畫面:


注意畫面上方的標題,與開terminal時不一樣,Octave使用的shell是sh而不是一般情形的bash,所以有些unix指令在octave裡是行不通的。


2. 解決編輯器的問題
Octave for Mac的一大問題就是沒有內建編輯器。雖然說其實有沒有不影響,開個慣用的editor來寫,再用Octave來跑就行了。不過當打edit指令沒有辦法出現自己習慣的編輯器畫面,爽度就是有差XD。
Octave預設的編輯器是emacs,不信可以打入EDITOR來查看環境變數,會出現"ans = emacs"。
如果要換成vim,可以打
> edit editor "vim %s" 來切換,雙引號和%s都要照打,>是命令提示字元不用打。

但我和同學用edit或是edit xxx來編輯檔案都會當掉,不知什麼原因,我們用的是Intel Mac + OSX 10.5.5,預設編輯器換成vim也是不行,看來只要是terminal下的編輯器都有問題。
感謝iPluto補充:也可以用edit editor "xterm -e vim %s"就不會當,但是這樣會多開X11環境多此一舉。

解決之道就是改用其他GUI的編輯器,不推薦TextMate,雖然號稱最貴的text editor,但中文支援有問題,而且想支援MATLAB語法還要裝外掛。
所以我推薦用Smultron,是自由軟體,支援數十種程式語言,也有一些不錯的特色。可惜對於MATLAB語言的支援還是不如MATLAB的編輯器來得好,keyword辨別、註解、縮排等還有進步空間,不過以一個支援這麼多語言的編輯器來說算很不錯了!


首先要注意,Smultron會把.m的副檔名,辨認成Mac開發者常用的Objective-C,所以除非讀者本身就是Cocoa API的視窗程式開發高手,否則可以考慮修改副檔名辨認。


在偏好設定->進階->語法定義,勾選「使用擴展名猜測」,並且在下面的程式語言列表中,把Matlab後面加上m,把Objective-C的m去掉,這樣以後用Smultron開.m時,就能辨識成Matlab語法了。

最後還有一步,既然我們希望在Octave底下打edit就能開Smultron,就必須讓它能從terminal開啟。所幸Smultron和TextMate都有這項設計。


從Smultron選單的說明->安裝命令行工具,或是TextMate選單的Help->Terminal Usage(TextMate第一次啟動似乎就會問你要不要裝),即可輕易安裝。過程會要求輸入管理者的密碼,因為要動到/usr/bin下的東西。剩餘步驟請見下一段。


3. 設定.octaverc
編輯器安裝設定完了,因為現在/usr/bin下已經有smultron, mate這些東西,只要到terminal下打
> smultron 或
> mate
就能開啟該GUI文字編輯器。(注意開terminal時,如果目前正在跑octave,要按cmd+N開一個新視窗才是bash shell的terminal喔)
再回到Octave畫面,打edit editor "smultron %s"就能將預設編輯器改成Smultron。
不過必須每次開Octave都要下edit editor "smultron %s"才能變更編輯器,很麻煩該怎麼辦呢?

可以設定.octaverc。點代表隱藏檔,rc是run commands的縮寫,在程式開始的時候就run一些commands,意義相當於偏好設定檔。其他unix-like系統常見的有.vimrc,.bashrc,.cshrc。
現在再回到bash terminal(不是octave喔),我們要在home底下建立.octaverc。
> cd ~ 切換到home,~代表家目錄的意思
> touch .octaverc 為了避免沒這個檔案,先摸(建立)一下。一定要加"點"喔!
> open .octaverc 用Mac的文字編輯開啟.octaverc。
會用vim的人也可以直接在第二步:
> vim .octaverc



先把預設編輯器改成自己喜歡的:
edit editor "smultron %s"
然後看還有沒有其他的東西要設定。例如預設的起始路徑是~/,但是我喜歡把程式都放在~/Octave目錄下,所以可以多加這行:
cd ~/Octave
讀者如果有自己習慣要先跑的指令也可以加在這裡。


4. 解決繪圖的問題(安裝gnuplot與AquaTerm)
現在再回到Octave下,舉一個簡單的繪圖範例:
> x = 1:100;
> y = sqrt(x);
> plot(x,y);
這樣會畫出 y=sqrt(x)從x=1~100的圖,可是畫面卻出現error:
error: you must have gnuplot installed to display graphics; if you have gnuplot installed in a non-standard location, see the 'gnuplot_binary' function 原來是還需要gnuplot這個元件才能畫圖。這時候回到1.抓下來的octave-x.x.x-xxxx.dmg檔,把Extras裡的gnuplot-x.x.x-xxxx.dmg裝起來,同樣也是drag-and-drop就可以了。(其實一開始就該裝了啦XD,只是故意寫在後面來說明。)

注意:使用gnuplot需要先安裝X11系統,OSX10.5 Leopard本身就附上X11了,但OSX10.4 Tiger的人需要到安裝光碟Disc 2找X11來裝,但下面有免X11的解決方法。

這時候再畫一次應該就能出現這樣的結果:


有點鋸齒狀,效果不是很好。因此在Mac上推薦使用AquaTerm這個套件。網路上說:

AquaTerm allows you to plot things in OS X without using an X client, such as X11. This has two advantages:
  • It requires less memory and hard drive space, if you don't have X installed or running already.
  • The graphs look better, and can be saved as Quartz PDFs.
不需要X11,省空間跟記憶體,畫出來的圖漂亮又能存成PDF和EPS,所以別懷疑快去下載吧。安裝方法也是簡單的drag-and-drop至/Applications裡。
不過裝完AquaTerm仍然會用X11來畫圖,還差最後一步。到bash terminal下:
> cd ~
> touch .profile
> open .profile 編輯.profile這個檔案,還是要加"點"。檔案裡打入這行:
export GNUTERM='aqua'

存檔離開,重新開啟Octave,再用剛剛的畫圖範例:
> x = 1:100;
> y = sqrt(x);
> plot(x,y);
現在用Octave畫圖就會開啟AquaTerm來顯示了,很細緻呢!




《本篇文章歡迎補充與指教》
主要參考資料:Octave Docs,Octave Wiki上的OctaveForMac
Powered By Blogger

Google Analytics