「spc」を含む日記 RSS

はてなキーワード: spcとは

2024-08-11

SPC+put opの件 取材動画深掘りしてて面白い

TBTFというより計算賞の面子でギリsafeって感じだったんだろうな...

2024-03-30

SPCスキーム監査法人の指摘により発覚した某企業

キーマンとされる人物処遇が気になる

直前に増資があっただけにやばそう

2022-12-04

手のひら返し何が悪いの?

直前まで大爆死不可避と思われていたスラダン結構好調らしい。

良かったね。

マーケティング下手すぎじゃね?とは思うけど、ファンは喜んでいるみたいで、素晴らしい事じゃないかと思う。

サッカーもめちゃくちゃ活躍してる。いいことじゃねーの。

その時、その時で評価を変えること、間違っていたと思ったら修正するのは当たり前のことで、真に批判されるべきはまだ結果もわからないのに「どうせダメだ」と叩くことなのではないかヒートアップするあまり後に引けなくなり、公開後にも「あん映画は爆死するべきだ」とグダグダ文句を言い続けることは、もっと悪い。みっともないよ。

しかもだ。叩いていた人物と手放しで賞賛している人物が同一人物とも限らない。その時たまたま声が大きい人たちが目立っているだけなのだから当然だ。

韓国のNO JAPANの時だってユニクロは閑散としている一方であつ森には長蛇の列ができていた。ネトウヨどもは「NO JAPANはどうなったんだよ」と嘲笑していたが(ちなみに韓国国内にも、国民一丸となっている時期に情けないと嘆く連中はいた。お前ら仲良いな)韓国にも日本ゲーム好きな人、過剰な不買運動に嫌気がさしていた人、何年も前からどうぶつの森シリーズファンで楽しみにしていた人がたくさんいたってだけだ。

ちなみに今、韓国ではまた不買運動が起きている。パン工場で激務の末機械に巻き込まれて亡くなった女性の件で、製パン大手SPCグループに抗議する為だ。

少し時計を戻せば、ここはほんの少し前まで「ポケモンパン」が大ブームだった。韓国では日本と違い、シール付きのポケモンパン最初期のみ発売され、長らく中断された状態だったのが突然復刻したのだ。その懐かしさが成長したかつてのポケモンキッズたちの心をつかみ、さら現代の子供まで巻き込んで転売ヤーが出現するほどの騒ぎになった。過剰なブームが、過剰な労働の一因だったとも考えられる…。今不買を貫いている人たちの中には、ポケモンパンブームに踊らされていた自分を悔いている人たちもいるのではないだろうか。

世界シンプルで、そして複雑だ。

今は日本勝利に酔いしれたい。が、カタール人権問題むちゃくちゃに叩くからな。鍛え上げた手首を舐めんなよ。

2021-05-17

SCPコミュニティが滅茶苦茶迷惑な件について

小さい場所でコソコソやってる分には良かったんだが

現代美術とか他人の作った作品ねつ造したくっさいテンプレ文章をくっつけて

「SCPの作品です」みたいにやってんのが滅茶苦茶腹立つんだよな

他人の物使ってくだらない承認欲求満たそうとするな

サイレンヘッドとか諸々のホラー系が勝手SPC作品にされている

2021-02-03

社内のアルファベット用語だけで書いてみる

この間GHMMと話したところ、最近SPCOC気味で、原因を調査することとなった

そこでDAかましてみるとSOCがORなことがわかったので

更にLCGC、SMB・MSA・MAに分けて調べるとどうやらMSAに対するSCが原因のようだった

更にDDしてCRMを見た上でSRHを実施するとCCのせいでNOVとBTTが増えていることがわかった

従ってOPEX削減にはRBSGIするべきだと提案した

そこでMPとなるのはLSPのPS

現地に行くわけにもいかないのでVTを結成することにした

GITは30名にもなるため、RMアレンジするのも一苦労だ

これから半年はPJTが続くことを考えると実にKO

誰かOTIYしてくれないかなぁ…

2020-11-08

anond:20201108163701

ワイも濃い人の解説は好き。めっきり見なくなったなぁ

 

女オタの2次創作は男オタの判子同人作家より浅くワンパターンから

原作解釈すっ飛ばしクトゥルフとかSPCとか哲学かぶち込んでくる作家

東方みたいに元ネタになっている神話や関連の歴史話題を丹念に調べる作家かいろいろやな

 

シナリオ論とか映画論とか嗜んでるのは当然いるし、建築に携わってたり、海外文化に造詣が深かったりな人もいるが、

まりそういう知識積極的に公開する・2次創作に盛り込む女性はいないな

ぶっちゃけ原作者がそこまで考えてない作品からってのもある

洋ゲーアメコミなど海外作品2次創作してるひとは割とガチめな人が多い気がする。背景美術含めて

2016-04-09

パナマ文書騒動にまつわるいくつかの誤解

パナマ文書」の暴露により、世界の偉い人・有名人資産隠しや租税回避が明るみに出ました。

これを発端に、いままでなじみの薄かったいわゆる「タックスヘイブン」(租税回避地)の存在が明るみになり、日本でもひろく報道議論されるようになりました。

しかしながら、このような議論のなかで、いくつかタックスヘイブンにまつわる誤解が生まれているような気がしますので、これを機会に少し整理してみたいと思います

(2016/4/10 03:15追記しました)

はじめに

書き手増田します)は民間企業中の人ですので、もちろん中立的観点からお話ができるよう配慮しますが、いくら企業寄りの、バイアスのかかった記事になってしまう可能性があることを申し添えます

記載内容は厳密には異なる場合、細かい部分を捨象している場合例外存在しており、あらゆる場面で正確性を担保できるものではありません。

企業タックスヘイブンを通じて租税回避をしている」という誤解

参考記事1: http://editor.fem.jp/blog/?p=1969

↑要約すると~日本企業タックスヘイブンであるケイマン諸島法人税率0%)へ投資した額は、直近で60兆円にものぼっている。これに対して日本法人税23.9%を課すとすると約14兆となり、消費税収をほぼカバーできる額となる~という夢のようなお話です。

まず、タックスヘイブンとは関係ないですが、法人税投資額に対して課されるのではなくて、投資して得たリターン(収益)に対して課されることになるので、そもそもの計算が違います

つぎに、日本税制では、日本親会社タックスヘイブンを含む軽課税国~無課税国に子会社をつくって投資をした場合子会社で得た利益親会社利益に乗せて課税する仕組み(外国子会社合算税制。詳しくはググれ)があるため、基本的租税回避できません。

また、確かにタックスヘイブンであるケイマン諸島パナマ会社や口座は情報の秘匿性が比較的高いといえますが、日本監査法人や税務当局バカではありませんので、仮に企業資産隠しをしようとしたら普通はバレます

日本タックスヘイブン問題について何も行動していない」という誤解

参考記事2: http://enter101.hatenablog.com/entry/2016/04/08/230542

↑に関連して。

確かに、日本政府パナマ文書について「日本企業への影響を考慮して」調査しないこと(実際には「コメントを控える」こと)を発表しました。しかしながら、これが批判されるべきことかと言えば、少々事情が異なるのかと思います

かりにパナマ文書記載日本企業リストアップされたらどうなるでしょう。「租税逃れだ!」と方々から批判を受けるのではないでしょうか。実際には上記の通りほとんどの企業親会社で相応の税負担をしているにもかかわらず、です。

さらに、この<調査しない宣言>を横展開させて「日本タックスヘイブンを野放しにしているんだ!アベ死ね!」と考えるのは畢竟お花畑思考です。皆さんはマイナンバー制度というのをご存じでしょうか。そう、今年から始まったアレです。これがなんのために始められた制度か知っていますか?OL副業水商売しているのを暴いてニヤニヤするためですか?色々な目的はありますが、その中のひとつに超富裕層租税回避対策があります近いうちに銀行口座マイナンバーの紐づけがなされ、税務当局は個人の所得を把握しやすくなります。また、このマイナンバー制度と並行して、日本世界各国と金融口座に関する情報交換協定を結んでいます。この協定の参加国にはケイマン等のタックスヘイブン国も含まれており、富裕層課税逃れはさらに難しくなっていきます

参考記事2でアフィリエイトリンクが貼られている志賀さんの著書ですが、これを読めばいかに日本タックスヘイブン対策他国に比べて進んでおり、租税逃れが難しくなっているかがわかりますので、どうしてこのような記事が書けるのか不思議でなりません。

補足QA

Q1.タックスヘイブン国に投資しても親会社課税されるとわかっているのに、日本企業がそれでも同国で投資する理由は?

この疑問はごもっともです。参考記事1で引用されるように、日本企業タックスヘイブン国に対する投資はたいしたものです。これらの企業はなぜ、外国子会社合算税制存在にもかかわらず同国で投資を行うのでしょうか。いくつか理由があります

維持費用がかからない・安い

たとえば会社であるプロジェクトを進めるとき、その会社が直接事業をはじめるのではなく、子会社を作ったほうが色々な面で都合が良い場合があります。このとき日本株式会社設立するとなると、法人税以外にも色々なコストがかかります。たとえば、会社資本に応じて事業税が課されますし、会計監査を受けるための費用も発生します。会社があるだけでけっこうな維持費用がかかるのです。これに対して、タックスヘイブン国のほとんどは日本国にいながら設立でき、会計監査不要で、かかるコスト登記費用だけとなります。このような利便性から債権不動産の流動化を目的としたSPCの多くは、いまだにタックスヘイブン国が活用されています。(SPCについては http://accountingse.net/2011/01/260/ ここの説明がわかりやすいです。)

手続き上・事業上のメリットが得られる

たとえばパナマ会社の多くは船会社ですが、これはパナマが便宜置籍のメッカであるからです。増田は船会社のことはあまり詳しくありませんが、日本で置籍するよりも色々な制度上の恩恵を受けることができ、今でもパナマで船用のペーパーカンパニーを作っているところは多いです。便宜置籍のあり方そのものが問われることがありますが、ここでの本論からずれるので措きます

節税目的

先ほどの説明矛盾しますが、子会社利益親会社課税されるといっても限界があり、スキーム次第では節税可能となる場合があります。たとえば、外国子会社合算税制適用されるのは日本会社50%出資する場合で、外国会社と共同で出資し、日本から出資比率50%以下となるような場合については適用されません。つまりこの場合には税率は0%のままとなります

厄介なことに日本法人税制はとてつもなくややこしいので説明は省きますが、他にもスキームによって0%とまではいかないまでも節税ができる場合もあります。ただしこのような例は増田の肌感覚ではそこまで多くないと思っています

Q2.国家間税制の穴を突いた租税回避脱税ではなく適法だというが、適法からいいってもんじゃないでしょ?

これについては判断がわかれるところです。増田サラリーマンなのでどうしても企業よりの回答になってはしまますが、これはケースバイケースです。たとえばはてな国で現地のはてな人顧客にしたビジネスをしたいときはてな国に会社をつくることは自然行為です。いっぽうで、日本日本人相手ビジネスをするのに、はてな国で会社をつくるのはかなり不自然ですね。はてな国が租税回避国であった場合、なおさら怪しいことになってしまます。実際のビジネスはこの両端の間で行われており、適法であっても黒に近いグレーであるような取引はたくさんあるのも事実です。たとえば最近判決の出たYahoo事件というものがあります。これはタックスヘイブンとは関係ないのですが、Yahoo日本税制の穴をついて意図的租税回避をしたかどうかについて争ったものです。最高裁判所Yahooの取り組みを「明らかに不自然で税負担の減少を意図して税制濫用した」もの結論づけました。この判決については、いまだ議論が交わされている中ですし、増田も法に詳しいわけではないので確たることは言えませんが、民法1条3項では、「権利濫用は、これを許さない」とうたわれています。実際の判決でこれが引用されることはあまりない感じはしますし、これがまさに程度問題なので線引きも難しいところですが、制度に穴があるというのは法の精神に体が追い付いていないようなものであるので、明らかに精神に反するもの排除されるべきというのは一理あると思います

参考

マイナンバーの口座との紐づけについて

http://www.cas.go.jp/jp/seisaku/bangoseido/faq/faq7.html 記載の通り、任意ではあります

自動的情報交換について

https://www.oecd.org/ctp/exchange-of-tax-information/MCAA-Signatories.pdf (PDFです)今のところパナマはないです。

ブコメを受けて追記:この文章を書いた背景と私が伝えようと意図したこと

増田でたくさんの反応を頂けてありがたく思います。この文章を書いた背景は、パナマ文書騒動を機にタックスヘイブンということばが一気に周知のものとなったにもかかわらず、そのことばの内実を曲解させるような記事がたくさん出回ってしまい、これにぶち切れたことが理由です。税に関することがらはなかなか理解しにくいところがあるので、交通整理的な意味合いを込めて2つの事例をもとに私なりにお伝えできることを書かせて頂きました。まず、本論で特に触れませんでしたがパナマ文書騒動のものに関しては、そもそもパナマ国際的租税回避地であるという事実は変わりませんし、これを利用して租税回避行動をとった個人・企業存在することも事実ですが、その一方でパナマ文書記載された個人・企業の全てが法的ないし倫理的に悪いことをしているとは言いきれない(この点においてアシュレイ・マディソン事件とは構造が異なる)ことから、その情報の取り扱い方に非常な危惧を感じました。ここで批判の矢が日本の政治家や企業におよぶことは想像に難くないですし、もちろんそれによって汚職資産隠しが明るみに出ること自体が悪いことではないのですが、特に悪いことをしていない企業までさらし者にされてしまうことは非常にかわいそうで残念なことだと思います。それは避けられないことかもしれないとしても、事実ゆき過ぎた誤解は到底容認できないと思い、できる限り事実をそのままに記述することを意図してこの文章を書いています。火のないところに煙がたたないというのは、それはそうなんですけど、だからといってそこにガソリンを撒くのはどうかと思うのです。まぁ、ガソリンで派手に燃え上がった段階で水をまいてもアレですが。

日本企業の大部分はタックスヘイブン国への投資を行うにしても合算課税されることが常ですが、合算課税されず、いわゆる「租税回避状態となる場合存在することもまた事実です。これは私の知りうる客観的事実ではありますが、では合算課税される投資租税回避される投資がそれぞれどの程度の割合でなされているかを網羅的に公開した資料があるかというと、そんなもの国税庁も明らかにしておりませんので、私の観測範囲では合算課税の方が多いという主張しかできません。この「肌感覚」について不信の視線が向くのは国語的に自然な運びとなりますので、これ以上の弁明はできません。そもそも私のポジションは「企業は何も悪くない!」とまではいかないので。制度的に不十分なところもあるし、企業がやりすぎなところもあるが、おおむねうまく回ってるんじゃない、くらいの見解です。

ちなみに、仮に適法租税回避できたとして、その収益ふつう、その会社の次の投資の原資となり、あるいは株主への配当となり、あるいは従業員にたいする給与となります。(当たり前の話ですが、租税回避国外利益流出している!と誤解されがちなので。)また、ブコメでも言及されています企業には実効税率という動かしがたい指標があるので、タックスヘイブンでどれだけ租税回避できているかは分からなくても、その企業が標準税率と比べてどの程度の税金を納めているかは何とな~くわかりますので、本当に気になる方は調べてみてください。

ここですべての疑問に答えることはしませんが、いくつかご不明な点にお答えします。(今後追加で反応があればできる限り更新します。)ちなみに、私は税理士でもなんでもないので簡単な説明にとどめておきます

外国子会社配当益金不算入税制について

外国子会社合算税制により合算課税されたタックスヘイブン国の所得配当金として日本親会社還流する場合、その配当金課税すると二重課税になりますので、既に課税を受けた見合い部分は益金不算入となります

何も悪いことしてないなら、なぜ隠すの?

隠しているというよりは、開示する義務がないという表現が正しいです。たとえば日本法律事務所クライアントを全部公開するようなことは永遠にないでしょうし、企業子会社のそれぞれの損益計算書を開示するようなこともありません。ただし子会社リスト有価証券報告書等で開示されており、ほとんどは名前でググればどこの法人かもわかりますので、通常は隠されているようなことはありません。ほんとに悪いことをしてる場合はよく簿外に飛んで見えなくなるので、オリンパス事件みたいにコーポレートガバナンスが効いていないとまずいです。

2010-11-04

航空機の簿価

ANA2011年全日空スレ NH030便【LCC運航】

http://toki.2ch.net/test/read.cgi/airline/1285364243/

で今も生きてるANAと更生会社JAL財務状況を同じ土俵で比較している香具師がいて、同じ土俵で比較するためには基準をそろえないといけないみたいな流れから航空機の簿価と含み損益の話が出てきたので、ちょっと考えてみた。


ちなみに元増田スペックは6年ほど某メーカー(5xx1)経理課で連結決算やってた元経理マンっす。

もうブランク長いし、そもそも古い知識で最新の会計基準なんか知らんからそのつもりで。

H22/3全日空決算短信より


重要減価償却資産減価償却の方法

① 有形固定資産リース資産を除く)

航空機

…主として定額法

なお、耐用年数は主として国内線機材については17年、国際線機材については20年である。

これは保有機材の人気不人気でものすごく損得が分かれる。

744みたいな不人気機種には非常にきつい。


ちょっと新しい数字が見つからなかったけど、H18/3のANAの平均機齢は9.5年だそうだ。

とすると、100の取得価額に対して 国内線の簿価は46.9、国際線は54.9になる。ANAB/Sで出てくる「航空機708,470百万円」というのはこの46とか54に相当する部分。


以下のうち星印の数字はウロ覚えなので適宜訂正してほしいんだが

744一機の新造コストが★130億(簿価をアップさせる修繕は考慮しない)なら

ANA機の平均簿価は国内線61億、国際線71億。

JAL機の売却価格(≒時価)が★20~30億とすると、1機平均40億の含み損ということになる


減価償却の方針は好き勝手には変えられないから、ANAが良いも悪いもなく744が不人気でアンラッキーだったね、というだけのことではあるんだけど。


んでもって簿価を洗い替えただろうJALはさておいて、ANAは退役後の744の簿価どうするつもりなんだろうか。

リースバックして実機は他社にリース、、不自然やな。

SPCに簿価で売却して実機はSPCから他社にリース、含み損はSPC持ち分を時価評価して資本の部から直接控除すればP/Lに出ないかな。最近P/L通さないといけないんだったかな。


漏れはもう経理畑じゃないので今の会計はよくわからんけど、今は定額法が強制適用なんだったっけか?

経理は保守性こそ正義固定資産は定率法でさっさと落としてしまえ、と学んできたわけだが。

2009-05-17

Visual Studioでのsnes9x-1.5.1のビルドのコツ

・snes9x-1.5.1-srcフォルダを入れるまとめフォルダを作る(ここにzliblibpngとfmodとnasmのフォルダを突っ込むため)。


・zlibソースDLして解凍する。できたフォルダをzlibリネームしてまとめフォルダに突っ込む。zlibフォルダ内のcrc32.cをemucrc32.cにリネームする。


libpngはコンパイル済みバイナリDLして解凍する。できたフォルダlibpngにリネームしてまとめフォルダに突っ込む。ソリューションエクスプローラlibPNGフォルダ内の*.cをプロジェクトから除外する。プロジェクトプロパティで追加の依存ファイル一覧にあるlibpngmt.liblibpng.libリネームする。


・fmodはver.3系(ver.4系でのビルドは未確認)のコンパイル済みバイナリDLして解凍する。できたフォルダの中のフォルダをfmodにリネームしてまとめフォルダに突っ込む。


・nasmはコンパイル済みバイナリDLして解凍する。できたフォルダの中のフォルダをnasmにリネームしてまとめフォルダに突っ込む。nasmはプロジェクト中の*.asmのビルドに必要になる。後の*.asmのビルド設定との整合性のためこの通りに配置すること。


プロジェクトプロパティDirectX SDKのIncludeとLibフォルダパスを通す。


プロジェクトプロパティで、「リンク前のイベント」に次のコマンドを追加する。

pushd "$(SolutionDir)..\"

del "i386\*.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\2xsaimmx.asm" "-oi386\2xsaimmx.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\bilinear.asm" "-oi386\bilinear.obj"

rem "$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\c4.asm" "-oi386\c4.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2.asm" "-oi386\fxemu2.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2b.asm" "-oi386\fxemu2b.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2c.asm" "-oi386\fxemu2c.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxtable.asm" "-oi386\fxtable.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\sfxproc.asm" "-oi386\sfxproc.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\spc.asm" "-oi386\spc.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\zsnes.asm" "-oi386\zsnes.obj"

rem "$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\zsnesc4.asm" "-oi386\zsnesc4.obj"

popd

上記のコマンドに出てくる11個の*.objファイルプロジェクトに追加する。ただしコマンドコメントアウトされている2つ(c4.objとzsnesc4.obj)はビルドから除外しておくこと。


・SARマクロ(sar.h)が原因でコンパイラが死ぬので、このマクロを不使用にするためにport.hの277行のRIGHTSHIFT_IS_SARマクロ定義を未定義にする。


ここまでの手順でビルドが通る。


TODO:

プリプロセッサZSNES_C4を有効にする時の設定

2008-10-18

http://anond.hatelabo.jp/20081018072817 の続きだよ

これでおしまいだよ

elisp

sangels.el
(require 'cl)				; for cl-seq

(defvar sangels-movies-dir nil)
(defvar sangels-player "c:/Program Files/GRETECH/GomPlayer/GOM.exe")
(defvar sangels-sort-by 'sangels-sort-by-rate)
(defvar sangels-rate-file "~/.emacs.d/.sangels/rate")
(defvar sangels-buffer "*sangels*")
(defvar sangels-thumbnail "00_thumbnail.jpg")
(defvar sangels-m3u "00_movies.m3u")
(defface sangels-name '((t (:family "fixed" :weight bold :height 3.0)))
  "")
(defface sangels-rate '((t (:family "fixed" :weight bold :height 1.5)))
  "")
(defvar sangels-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map "n" 'next-line)
    (define-key map "p" 'previous-line)
    (define-key map (kbd "RET") 'sangels-select)
    (define-key map (kbd "SPC") 'sangels-select)
    (define-key map "q" 'sangels-quit)
    (define-key map "+" 'sangels-rate-plus)
    (define-key map "-" 'sangels-rate-minus)
    map))
(defvar sangels-mode-hook nil)
(defvar sangels-highlight-overlay nil)
(defvar sangels-rate-alist nil)

(defconst sangels-rate-max 6)

(defun sangels-insert-movies ()
  (save-excursion
    (let* ((inhibit-read-only t)
           (files (remove-if-not
                   (lambda (x)
                     (and (not (member (file-name-nondirectory x) '("." "..")))
                          (file-directory-p x)
                          (member sangels-thumbnail (directory-files x))))
                   (directory-files sangels-movies-dir t)))
           (ids (mapcar 'file-name-nondirectory files)))
      (erase-buffer)
      (setq ids (sangels-sort-ids ids))
      (dolist (id ids)
        (let ((file (expand-file-name id sangels-movies-dir))
              (pos (point)))
          (insert-image-file (expand-file-name sangels-thumbnail file))
          (end-of-line)
          (insert (propertize (format "%-15s " id)
                              'face 'sangels-name))
          (sangels-insert-rate id)
          (insert "\n")
          (put-text-property pos (point) 'sangels-id id))))))

(defun sangels-sort-by-name (a b)
  (string< a b))

(defun sangels-sort-by-rate (a b)
  (or (> (sangels-rate a) (sangels-rate b))
      (sangels-sort-by-name a b)))

(defun sangels-sort-ids (ids)
  (sort ids
        (or sangels-sort-by
            'sangels-sort-by-name)))
(defun sangels-insert-rate (id)
  (let ((rate (sangels-rate id)))
    (insert (propertize (concat
                         (make-string rate ?★)
                         (make-string (- sangels-rate-max rate) ?☆))
                        'sangels-rate t
                        'face 'sangels-rate))))

(defun sangels-current-id ()
  (get-text-property (point) 'sangels-id))

(defun sangels-play-movie (movie)
  (let ((explicit-shell-file-name "cmdproxy")
        (shell-file-name "cmdproxy"))
    (apply
     'call-process-shell-command
     "start" nil "*tmp*" nil
     (mapcar (lambda (x) (concat "\"" x "\""))
             (list sangels-player
                   (unix-to-dos-filename movie))))))

(defun sangels-select ()
  (interactive)
  (let ((id (sangels-current-id)))
    (when id
      (sangels-play-movie (expand-file-name
                           sangels-m3u
                           (expand-file-name id sangels-movies-dir))))))

(defun sangels-quit ()
  (interactive)
  (kill-buffer sangels-buffer))

(defun sangels-rate (id)
  (or (cdr (assoc id sangels-rate-alist)) (/ sangels-rate-max 2)))

(defun sangels-rate-save ()
  (interactive)
  (let ((dir (file-name-directory sangels-rate-file)))
    (unless (file-exists-p dir)
      (make-directory dir t)))
  (with-temp-file sangels-rate-file
    (insert (pp-to-string sangels-rate-alist))))

(defun sangels-rate-load ()
  (interactive)
  (when (file-exists-p sangels-rate-file)
    (with-temp-buffer
      (insert-file-contents sangels-rate-file)
      (goto-char (point-min))
      (setq sangels-rate-alist (read (current-buffer))))))

(defun sangels-rate-plus (&amp;optional n)
  (interactive "p")
  (setq n (or n 1))
  (let* ((id (sangels-current-id))
         (cell (assoc id sangels-rate-alist)))
    (unless cell
      (setq cell (cons id (sangels-rate id)))
      (setq sangels-rate-alist (cons cell sangels-rate-alist)))
    (setcdr cell (+ (cdr cell) n))
    (save-excursion
      (let ((inhibit-read-only t))
        (beginning-of-line)
        (goto-char (next-single-property-change (point) 'sangels-rate))
        (delete-region (point)
                       (next-single-property-change (point) 'sangels-rate))
        (sangels-insert-rate id)))
    (sangels-rate-save)))

(defun sangels-rate-minus (&amp;optional n)
  (interactive "p")
  (setq n (or n -1))
  (sangels-rate-plus (- n)))

(defun sangels-post-command-hook ()
  (save-excursion
    (move-overlay
     sangels-highlight-overlay
     (progn
       (move-beginning-of-line 1)
       (point))
     (progn
       (move-end-of-line 1)
       (forward-line)
       (point))
     (current-buffer))))

(defun sangels-mode ()
  (interactive)
  (kill-all-local-variables)
  (use-local-map sangels-mode-map)
  (setq sangels-highlight-overlay (make-overlay 0 0))
  (overlay-put sangels-highlight-overlay 'face 'highlight)
  (overlay-put sangels-highlight-overlay 'evaporate t)
  (make-local-variable 'post-command-hook)
  (add-hook 'post-command-hook 'sangels-post-command-hook nil t)
  (setq major-mode 'sangels-mode)
  (setq mode-name "Sangels")
  (run-mode-hooks 'sangels-mode-hook)
  (set-buffer-modified-p nil)
  (setq buffer-read-only t))

(defun sangels (&amp;optional arg)
  (interactive "P")
  (when (or arg (not sangels-movies-dir))
    (setq sangels-movies-dir (read-directory-name "movies dir: ")))
  (sangels-rate-load)
  (switch-to-buffer (get-buffer-create sangels-buffer))
  (sangels-insert-movies)
  (sangels-mode))

(provide 'sangels)
 
ログイン ユーザー登録
ようこそ ゲスト さん