FrontPage

オープンソースの自転車トレーニングデータ解析ソフト「Golden Cheetah」のメモです。

ダウンロード

正式版

開発版スナップショット

ビルド方法

MacOSX

MacPorts?を入れておくと楽。

# port install git
# port install qt4-mac
# port install boost

どこか適当な場所にGoldenCheetahのソースコードを落とす。

$ cd /some/where
$ git clone git://github.com/srhea/GoldenCheetah.git

qwtをビルド。インストールはしなくてOKです。

$ cd GoldenCheetah/qwt
$ cp qwtconfig.pri.in qwtconfig.pri
$ vi qwtconfig.pri
(ごにょごにょする)
$ qmake-mac qwt.pro
$ make

GoldenCheetah本体をビルド。

$ cd ../src
$ cp gcconfig.pri.in gcconfig.pri
$ vi gcconfig.pri
(ごにょごにょする)
$ qmake-mac -macx -o Makefile src.pro
$ make

SRMIOとかD2XX要求されるんだけどどうすればいいの?

MacPorts?使用時のMacOSX上でビルドする際のgcconfig.priの例。SRMIOやD2XXは外してある。

--- gcconfig.pri.in	2010-07-23 11:20:30.000000000 +0900
+++ gcconfig.pri	2010-07-23 11:23:38.000000000 +0900
@@ -2,9 +2,9 @@
 # local installs of Boost and srmio in the copy.  If you don't want
 # support for SRM downloads, just comment out the SRMIO_INSTALL line.
 
-BOOST_INSTALL = /usr/local/boost
-SRMIO_INSTALL = /usr/local/srmio
-D2XX_INCLUDE = /usr/local/include/D2XX
+BOOST_INSTALL = /opt/local
+#SRMIO_INSTALL = /usr/local/srmio
+#D2XX_INCLUDE = /usr/local/include/D2XX
 
 # If you want 3D plotting, you need to install qwtplot3d
 #

yLeft2 / yRight2などのエラーが出るのですがどうしたらいいの?

以下のようなエラーが出てビルドが通らないことがあります。

AllPlot.cpp: In constructor ‘AllPlot::AllPlot(QWidget*, MainWindow*)’:
AllPlot.cpp:232: error: ‘yLeft2’ was not declared in this scope
AllPlot.cpp:242: error: ‘yRight2’ was not declared in this scope
AllPlot.cpp: In member function ‘void AllPlot::setYMax()’:
AllPlot.cpp:520: error: ‘yLeft2’ was not declared in this scope
AllPlot.cpp:535: error: ‘yRight2’ was not declared in this scope
AllPlot.cpp:552: error: ‘yLeft2’ was not declared in this scope
AllPlot.cpp:554: error: ‘yRight2’ was not declared in this scope
AllPlot.cpp: In member function ‘void AllPlot::setDataP(AllPlot*, int, int)’:
AllPlot.cpp:625: error: ‘yLeft2’ was not declared in this scope
AllPlot.cpp:627: error: ‘yRight2’ was not declared in this scope
make: *** [AllPlot.o] Error 1

qwtのパスが誤っていることが原因なのでMakefileを書き換えて対応します。

--- Makefile-orig	2010-07-23 11:25:33.000000000 +0900
+++ Makefile	2010-07-23 11:25:49.000000000 +0900
@@ -13,7 +13,7 @@
 DEFINES       = -DQT_WEBKIT_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
 CFLAGS        = -pipe -g -gdwarf-2 -Wall -W $(DEFINES)
 CXXFLAGS      = -pipe -g -gdwarf-2 -Wall -W $(DEFINES)
-INCPATH       = -I/opt/local/libexec/qt4-mac/mkspecs/macx-g++ -I. -I/opt/local/libexec/qt4-mac/lib/QtCore.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtCore -I/opt/local/libexec/qt4-mac/lib/QtNetwork.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtNetwork -I/opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtGui -I/opt/local/libexec/qt4-mac/lib/QtXml.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtXml -I/opt/local/libexec/qt4-mac/lib/QtSql.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtSql -I/opt/local/libexec/qt4-mac/lib/QtWebKit.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtWebKit -I/opt/local/libexec/qt4-mac/include -I/opt/local/include -I../qwt/src -I. -F/opt/local/libexec/qt4-mac/lib
+INCPATH       = -I../qwt/src -I/opt/local/libexec/qt4-mac/mkspecs/macx-g++ -I. -I/opt/local/libexec/qt4-mac/lib/QtCore.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtCore -I/opt/local/libexec/qt4-mac/lib/QtNetwork.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtNetwork -I/opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtGui -I/opt/local/libexec/qt4-mac/lib/QtXml.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtXml -I/opt/local/libexec/qt4-mac/lib/QtSql.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtSql -I/opt/local/libexec/qt4-mac/lib/QtWebKit.framework/Versions/4/Headers -I/opt/local/libexec/qt4-mac/include/QtWebKit -I/opt/local/libexec/qt4-mac/include -I/opt/local/include -I. -F/opt/local/libexec/qt4-mac/lib
 LINK          = /usr/bin/g++-4.2
 LFLAGS        = -headerpad_max_install_names
 LIBS          = $(SUBLIBS) -F/opt/local/libexec/qt4-mac/lib -L/opt/local/libexec/qt4-mac/lib ../qwt/lib/libqwt.a -lm -framework Carbon -framework QtWebKit -framework phonon -framework QtDBus -framework QtXmlPatterns -framework QtSql -framework QtXml -framework QtGui -framework QtNetwork -framework QtCore 

FAQ

Q. ぼく / わたしのパソコンで動きますか?

GoldenCheetahはWindows / Linux / MacOSXをサポートしています。

Q. ファイルはどこに保存されていますか?

GolcenCheetah?について」を開いてください。下部にライドファイルなどの保存先が書かれています。

Q. Training Stress Score / Normalized Power / Intensity Factorなどの表示はありますか?

WKO固有のデータはGoldenCheetahにはありませんが、代わりに相当する指針が存在します。 それぞれ、BikeScore?, xPower, Relative Intensityと表記されているのでご参照ください。

Q. CycleOps? Cerevoのデータは読み込めますか?

純正のUSBドライバを利用して、GoldenCheetahに直接読み込むことが可能です。

Q. CycleOps? Jouleのデータは読み込めますか?

残念ながら、2010/5/29現在、GoldenCheetahに直接読み込むことはできません。

一度PowerAgent?に取り込み、CSV出力を行うことで取り込むことが出来ます。

ローカライズのメモ

日付の処理

全般にQDateTime?オブジェクトを使用。表示時にtoString()で変換している。リファレンスは以下。

http://doc.trolltech.com/4.6/qdatetime.html#toString

日本語文字化けの対処

10.6以前(Snow Leopard以前)

ノートが記述される。環境変数を適切に設定すればUnicodeでファイルを書いてくれる(日本語可)。

MacOSX(Lion以前)では以下の手順で環境変数の設定をする。

mkdir ~/.MacOSX
cd ~/.MacOSX
vi environment.plist

environment.plistの中身。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
    <key>LANG</key>
    <string>ja_JP.UTF-8</string>
    <key>PATH</key>
    <string>/opt/local/bin:/opt/local/sbin/:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin</string>
</dict>
</plist>

参考:http://d.hatena.ne.jp/Seasons/20090329/1238350469

10.7以降(Lion以降)

/etc/launchd.confを作成して以下の内容を記述する。

setenv LANG ja_JP.UTF-8

Macを再起動後、GoldenCheetahを起動する。

ファイル

.gc

GoldenCheetah独自フォーマット。インターバルやサマリが含まれる。

TCXやCSV(PT)を変換するとこのファイルが作成される。

.notes

ノートが記述される。環境変数を適切に設定すればUnicodeでファイルを書いてくれる(日本語可)。

.cpi

クリティカルパワーの記録。

seasons.xml

自分にとっての区切りの日付を入れる。入力した日付はCPカーブプロットの右下のタブに反映され、期間別のCPカーブを見られるようになる。

<?xml version="1.0"?>
<seasons>
  <season>
    <name>Long Ago</name>
    <startdate>2005-01-01</startdate>
    <enddate>2009-05-01</enddate>
  </season>
  <season>
    <name>Road Season 2010</name>
    <startdate>2009-12-01</startdate>
    <enddate>2010-10-01</enddate>
  </season>
</seasons>

charts.xml

統計情報の定義用XML

metadata.xml

オプションで設定可能なメタデータの定義用XML

その他資料

その他コード

GCファイルのwatts属性を取り出す

from lxml import etree

doc = etree.parse('Library/GoldenCheetah/mitsukuni/2011_07_09_07_13_50.gc')

for item in doc.xpath('//samples/sample'):
    print item.attrib['watts']

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-05-20 (火) 11:42:31 (1099d)