ショートカット Part 4
■ このスレッドは過去ログ倉庫に格納されています
Safariの履歴とwebサイトデータ消去って出来ないのかな? ミュージックを再生時に音量を調整(下げる)
5曲再生(音楽停止)
音量を元に戻す(上げる)
この2〜3行目をどうしたらいいのか誰か教えてもらえないですか? 5曲再生はプレイリストに5曲入れてそれ指定したらいいと思うけど
最後のはできないのでは >>221
なるほどなぁ
でも5曲終わったタイミングでボリューム戻すのは無理っぽいのか
「戻るまで待機」で戻ったタイミングでボリューム戻すってのは出来るだろうけどそれだったら手動の方が早いだろってなりそうだし レスありがとう。
スクリーンショットを参考にしてみましたが、レシピの再生をすると
ボリュームダウンしてすぐにボリュームアップしてしまいますね。
5曲の再生が終了してからじゃなく、5曲がセットされた時点でボリュームが再設定されてしまう感じになりました。 ミュージック選択するかプレイリスト取得して5曲分を変数に入れた上で
ミュージックの詳細を取得 再生時間
統計を計算 合計
端数を処理 小数点の右側 切り上げ
変数を取得 5曲分
ミュージックを再生
待機 合計を代入
音量を元に戻す
バックグラウンドで動くのかは試してない >>224
間違えた
待機に代入するのは合計じゃなくて端数処理済みの数値ね
まあ合計でも再生終了直前に音量が戻る程度の誤差だけど まぁ 待機 させててもバックグラウンドに回してるとそのうちショートカット自体が止まるだろ >>225
詳しくありがとう。
分かりやすく書いていただいたので簡単に追加できました。
ですがやは指摘されてるようにバックグラウンドではボリューム変更はされないようでした。
>>226
なるほどー
ショートカット アプリ自体が止まってしまうのですね。
じゃ時計アプリのような仕様にならないとこれはどうしようもないですね。 再生されてるかどうかチェックできないのかな
(試したら無理っぽい) from objc_util import ObjCClass, ns
NSLocale=ObjCClass('NSLocale')
test = NSLocale.alloc().initWithLocaleIdentifier_(ns('ja-JP'))
print(test.localeIdentifier())
print(test.objectForKey_(ns('NSLocaleIdentifier')))
objectForKey:NSLocaleIdentifierが動かない
何でだ
誰か教えてくれ print(test.localeIdentifier())
と
print(test.objectForKey_(ns('NSLocaleIdentifier')))
は同じ値のはずなんだが
objectForKey:NSLocaleIdentifierでは上手くいかない >>236
君が移動したほうがいい。
君のような事を言う人はここには必要ないから。 煽りじゃなくPython関係のスレで聞いた方がいいんじゃないの? iOS固有の機能が使えるようにPythonistaが独自に実装したもんを、
Pythonスレで聞いたところで追い返されるのがオチじゃん
スレの勢いもそんな早くないし、やることは似通っているんだから、仲良く共存していけばいいじゃん >>240
そのスレはiOSのPythonistaというアプリとは関係ないよ >>241
iOSのPythonistaの話もしてて追い出されてないからここよりいいんじゃね? 自分が知らないor関心がないからってすぐ排除しようとするのはどうかと思うわ
Workflowが日本語化されてから変な人が増えたなあ >>235
print(test.objectForKey_(ns('NSLocaleIdentifier')))
じゃなくて
print(test.objectForKey_('NSLocaleIdentifier'))
じゃ無いのか
試して無いし適当だけど ショートカットアプリに関わる話をしているんだから問題ないよ。
気に入らない人が出て行けばいい。 いやどう考えてもスレチだろw
コソコソやっときゃスルーするけど
開き直って共存とか言い出したらウザいわ >>243
いや排除とかそんなんじゃなくて向こうの方が分かる人とか多いんじゃないかと思っただけなんだけどね だからわかる人が多方がいい人はそのスレに行けばいいじゃん。 あれも聞けないこれはどうだろう?
向こうのショートカットスレみたいになっていくんだな。
向こうにも
UNIX板でやってくださる?
とか言う人。同じ人だろうが。 みんなが仲良くショートカットアプリを使って楽しめるスレを新しく作ろうか。
排除したりすぐにググれカスとか禁止なスレを別に作るか。 だれも答えてくれてなかったみたいだから書いただけなんだけど…何かすごい反発受けて戸惑うわ >>244
結果は同じ
nsはNSStringに変換してるだけだから 意に沿わなければ攻撃されたと短絡的に考えてしまってるんだろな こいつちょっと前からいる教えたがり君だろ
大した知識も無いのにPythonistaガー言ってるから痛々しくて見てられん ショートカットに関わるPythonならココでやるべき
同様にsshでシェルスクリプトや場合によっては
Perlやrubyスクリプトも例題にあがることもあるだろう
ショートカットからssh使えるのはとても強力な機能だもの
ヒアドキュメント使えばショートカット側でスクリプトファイルを用意できるし ある数字の桁数を揃えたいのですがいい方法はありませんか?
18
9
4
などの場合に
18
09
04
て感じです。
Pythonistaなど使わずショートカットのアプリ内で完結したいです。 >>257
ごめんなさいわかりました。
テキストを置き換える
テキストを検索 ¥d{1}
置き換え 0数字
正規表現 オン amazon echo スレでも、Node-REDの話をするとよそに行けとか言い出す奴がいたな >>258
これ間違ってますね。
これだと18は018018が返ってきたので
^[0-9]$
にしました。
>>259
ありがとうございます。
スクリーンショットを参考にします。(こっちのほうが本格的ぽい) >>235
NSLocaleIdentifierでググればグローバル変数と最初に出てくるんだが
NSLocaleIdentifierは変数名であって、そんな値のキーはないからnilが返ってくる >>263
どうしたらいい?
疲れて分からないからpythonで書いて
>>215
これ大体出来たのにここにペーストしようとしたら間違って消してしまった…
明日頑張ってもう一回やろう
何故かErrorの値だと思ってた方に住所入ってるし
たぶん何か間違ってるんだろうなあ from objc_util import ObjCClass,ObjCInstance,c_void_p,ObjCBlock
import location
location.start_updates()
from time import sleep
sleep(2)
del sleep
currentlocation = location.get_location()
location.stop_updates()
CLLocation = ObjCClass('CLLocation')
clocations = CLLocation.alloc().initWithLatitude_longitude_(currentlocation['latitude'],currentlocation['longitude'])
del location
print(clocations)
NSLocale = ObjCClass('NSLocale')
enlocale = NSLocale.alloc().initWithLocaleIdentifier_('en_US')
def completion(_adr, _error):
if _error:
print(_error)
print(ObjCInstance(_error))
print(_adr)
print(ObjCInstance(_adr))
exit('end')
completionHandler = ObjCBlock(completion, restype=c_void_p, argtypes=[c_void_p, c_void_p])
CLGeocoder = ObjCClass('CLGeocoder')
CLGeocoder.alloc().init().reverseGeocodeLocation_preferredLocale_completionHandler_(clocations, enlocale, completionHandler)
CLGeocoder.release()
enlocale.release()
clocations.release() #日本語の住所が返ってくるスクリプト
from objc_util import ObjCClass,ObjCInstance,c_void_p,ObjCBlock
import location
location.start_updates()
from time import sleep
sleep(2)
del sleep
currentlocation = location.get_location()
location.stop_updates()
CLLocation = ObjCClass('CLLocation')
clocations = CLLocation.alloc().initWithLatitude_longitude_(currentlocation['latitude'],currentlocation['longitude'])
del location
print(clocations)
NSLocale = ObjCClass('NSLocale')
enlocale = NSLocale.alloc().initWithLocaleIdentifier_('ja_JP')
def completion(_adr, _error):
if _error:
print(_error)
print(ObjCInstance(_error)[0])
print(_adr)
print(ObjCInstance(_adr))
exit('end')
completionHandler = ObjCBlock(completion, restype=c_void_p, argtypes=[c_void_p, c_void_p])
CLGeocoder = ObjCClass('CLGeocoder')
CLGeocoder.alloc().init().reverseGeocodeLocation_preferredLocale_completionHandler_(clocations, enlocale, completionHandler)
CLGeocoder.release()
enlocale.release()
clocations.release() >>265
英語住所
>>266
日本語住所
enlocale = NSLocale.alloc().initWithLocaleIdentifier_('ja_JP')
を変えるだけ
Errorの方に住所が返ってくるのを誰か直して '''
gpsの位置が不正確だった
>265>266 のsleepは5以上くらいにした方がいいなあ
gpsの位置情報ある程度正確になるまで繰り返すのを作った(適当)↓
'''
from time import sleep
import location
def getgps():
location.start_updates()
sleep(3)
#currentlocation
currentlocation = location.get_location()
if currentlocation['horizontal_accuracy'] > 10 or currentlocation['vertical_accuracy'] > 10:
for i in range(3):
sleep(3)
location.get_location()
sleep(i+2)
currentlocation = location.get_location()
if currentlocation['horizontal_accuracy'] < 10 and currentlocation['vertical_accuracy'] < 10:
break
else:
print('警告:')
location.stop_updates()
return currentlocation 要望あればpastebinに貼る
住所取得は簡単なdefとifしかないから要望ないと思うけど
短いし ソースリストをそのまま流用できるように
QRコード化してそれを貼ってもらえると
嬉しいな 計算の算術演算子に%がないのはなんでだ。
あと科学演算の係数ってなんだ?どんな計算してんだ? >>264
そのグローバル変数がObjective-Cのヘッダファイルで定義されてるから
Pyhtonista側からは参照できないと思う
素直にメソッド使え
>>267
ObjCBlockの書き方が違う
http://omz-software.com/pythonista/docs/ios/objc_util.html#objc_util.ObjCBlock
例文の「# Note: The first (hidden) argument `_cmd` is the block itself, 〜」の
コメントの通りに、ブロック自身を参照する第1引数を追加する必要がある
だから今のコードだと_adrにブロック自身が、_errorに住所が返る 計算の係数は280分入力されて
科学演算 係数
オペランド 60
にすれば40が返ってくるから何時何分の時の何分をだすときに使っていいんだよね? ショートカットを外部から呼べるようになったら、cronとかをトリガにして楽しめるのにな AutomaterをiOS版にするだけでよかったのにな。 AppleさんはAutomatorやる気無いじゃん Siriからショートカットを実行するとショートカット内の音量変更が上手く動かないのは仕様? >>281
Automaterの方がやれること少ないよ
むしろ、ショートカットをmacOSへ移植して欲しい
AppleScriptや他のスクリプト使わないと辛い
対応Appが少ない >>280
cronで音声再生してSiriショートカット起動とか? >>285
なんと!
音声合成でSiriへ指示を出すとな!
TV音声にも反応するけど
自分自身にも反応するんだろうか >>284
少ないっていうけど、AppleScriptやシェルコマンドが使えるじゃん?
ショートカットは外部アプリがひつようなんじゃない? Automatorの方が遥かにやれることは多いと思うんだが レシピでパーツっていうんだよね?
一時的にパーツを無効にしたい場合どうすればいいのかな。
今はいったん削除してるけど、チェックマークがあってオンオフができないよね? iOSに持ってきてMacと同じ事が全部出来ると思うのか >>287
PagesやNumbersすらAutomatorに対応してないし
逆に言えばスクリプトの手助けなければあれやこれが出来ない
例えば二つの画像を横に連結するレシピが過去スレにあったけど、Automatorでやらせようとしたらそのアクションが無かった
漢字Talkの時代からあったAppleScript
他社Appも操れる程強力な仕組み
macOSがUnixに代わり他のスクリプト言語も利用できるようになった
故にAutomatorは必要最低限の手続きや制御構文だけ
スクリプトと併用するのが前提
対してショートカットは素のままではスクリプトは利用出来ず、sshやPythonistaが必要
スクリプトよりも敷居が低いショートカットの方が万民向けなのは明らか ていうかAppleScriptとかシェルコマンドとか使うならAutomator介さない方が安定すると思う
Automatorは日本語ファイル名周りで不安定な事があって信用出来ない 流れをぶった切ってすみません
過去スレではさんざん既出なのかもしれませんが、「毎回違う回数繰り返す」処理がうまくできません
どなたか教えていただけませんでしょうか
あと、Evernoteの記事を取得するのに「タイトルが14〜15文字以上だとうまく取得できない」みたいですね
iOS 12.0.1、ショートカットApp 2.0です >>295
繰り返す 繰り返し回数のところに乱数入れるだけじゃないの?
どういう動作を求めてるのかいまいち分からん あと大きいテキストや辞書はメモリを使わない形でマッチとかやらないとエラーも出さずに空を返してくる
常にチェックが必要
後、ダウンロードしながら解析してるのか
ダウンロードだけで落ちるページがあったりするから確実に脆弱性もある
ショートカットにあまり期待するな WorkFlowからショートカットになってからtodoistにログインできなくなったんだが何これ >>296
レスありがとうございます
今、特に困っているのは「文を読み上げさせては『もう一度』か『別の文を入力』を選択させる」ような処理です
後出しですみません
なお
>繰り返す 繰り返し回数のところに乱数入れる
方法も教えてくれませんか?
変数「繰り返しインデックス」を直接いじるのもできないみたいだし… >>300
https://i.imgur.com/9QWPNvQ.png
よくわからんけどこんな感じは?
>繰り返す 繰り返し回数のところに乱数入れる
乱数のあとに繰り返し置いて回数をマジック変数で先の乱数にすればいいのでは 出来ることの大小の話が、敷居の高低の話にすり替わってる。 >>301
ありがとうございます
再帰させる手がありましたか
「繰り返す」の回数は[−|+]のボタンか、「実行時に尋ねる」でしか設定できないようですが… 自己レスです
>>295後段のEvernoteの件は、「Evernoteの『ノートを取得』で『タイトル検索』に渡す文字数が14〜15文字以上だと取得に失敗する(ことがある?)」です
わかりにくくてすみません >>303
マジック変数を選択っていうのがあるよ
それで事前に作った乱数を指定する >>301
ちょっと関係ないけど、こんなスクリーンショットはどうやって撮影してるの?
何かアプリをいれてるんですか? スクショを自動で繋げるアプリがあるからそういうの使ってるんじゃないか じゃ少しづつズラして撮影してそのアプリで加工してるんですね。
結構手間をかけてアップしてくれてるんですね。 >>305
追記…
繰り返し の前に変数になるようなものがなければ マジック変数を選択 は表示されない
逆に 変数を設定 していればその 変数 も選択肢に出る >>310
ありがとう。
そんなレシピもあるんだね。 >>305,309さん、ありがとうございます
選択肢に出てきました!
これでいろいろ広がります!
ただ、例えば繰り返し回数に変数iを指定してループに入ったとき、途中でiを書き換えても最初に指定しただけループは回ってしまいますね 繰り返しループの最初でその周の繰り返しインデックスが書き換えたiの値と比べて大きいか小さいかで場合分けすればいいじゃん >>306
俺も最近知ったけど、自動で連結してくれるアプリがあるんよ
Stitching Screenshotで探してみ結構色々あるから 結論としては>>301さんの再帰呼び出しで求める動作が出来ました
ありがとうございます
なお、別のショートカットに引数を2個以上渡すには「リスト」にしてしまえばいいんですね
基本かもしれませんが
自分の例で言えば「読み上げ言語」と「読み上げ文章」の2つを渡したかったので、どうしたものかしばし悩んでしまいました
テキストとしてつなげて、渡した先で分割するか、とか ■ このスレッドは過去ログ倉庫に格納されています