1. 愛はフラクタル
  2. #299 誰でもないわたしが..
{ if (!this.player) return; this.time = this.player.currentTime; if (!this.player.paused) { setTimeout(updateTimeFn, this.interval); } }; setTimeout(updateTimeFn, this.interval); gtag('event', 'audio_start', { 'audio_title': '#299 誰でもないわたしが漂うひととき〜\"Ku:Cafe\" 的愉しみ', 'audio_url': 'https://listen.style/p/ailovekotoba/rlht8gw1', 'audio_current_time': this.time }); }); this.player.addEventListener('timeupdate', () => { this.updateProgressBar(); if (this.hasPlayed && Math.floor(this.time / 30) != Math.floor(this.lastPosition / 30)) { this.updatePosition(); } // 95%以上再生で完了リクエスト送信 if (this.player.duration > 0 && this.time > (this.player.duration * 0.95) && !this.completedSent) { this.completedSent = true; this.updatePosition(); } // 巻き戻しリセット if (this.player.duration > 0 && this.time < (this.player.duration * 0.9)) { this.completedSent = false; } }); this.player.addEventListener('pause', () => { this.playing = false; if (this.hasPlayed) { this.updatePosition(); } }); window.addEventListener('beforeunload', () => { if (this.player && !this.player.paused) this.updatePosition(); }); this.player.addEventListener('ratechange', () => { this.updatePlaybackRate(); }); this.player.addEventListener('loadeddata', () => { if (this._loadeddataTriggered) return; this._loadeddataTriggered = true; this.player.currentTime = this.time; this.lastPosition = this.time; this.player.playbackRate = this.speed; }, { once: true }); }, playEpisode(start) { // console.log('play', this.time); if ((start <= this.player.currentTime) && (this.player.currentTime <= (start + 5))) { if (this.player.paused) { this.player.play(); } return; } this.time = start; this.player.currentTime = this.time; this.player.play(); // console.log(this.time); }, togglePlay() { this.player.paused ? this.player.play() : this.player.pause(); }, updatePosition() { this.lastPosition = this.time; fetch('https://listen.style/p/01hd7g5vqzc3dy7w11yvr5r76f/01hd7g62jhtrwjkp94s9bxck6a/update_position', { method: 'POST', body: JSON.stringify({ time: this.time }), headers: { 'Content-Type': 'application/json','X-CSRF-TOKEN': 'YqGfOJxNgQHbBjvrXSw4WU5UuPbSdKBSUvdSkY9t'} }); }, updatePlaybackRate() { fetch('https://listen.style/update_playback_rate', { method: 'POST', body: JSON.stringify({ rate: this.player.playbackRate }), headers: { 'Content-Type': 'application/json','X-CSRF-TOKEN': 'YqGfOJxNgQHbBjvrXSw4WU5UuPbSdKBSUvdSkY9t'} }); }, updateTime(t) { if (t < 0) { t = 0; } else if (this.player.duration < t) { t = Math.max(this.player.duration - 3, 0); } this.time = t; this.player.currentTime = t; this.updateProgressBar(); }, updateProgressBar(percent) { if (!percent) { percent = this.time * 100 / this.player.duration; } this.progressBar.style.width = percent + '%'; this.progressBar.parentElement.setAttribute('aria-valuenow', Math.floor(percent)); }, setupKeyboardShortcuts() { document.addEventListener('keydown', (event) => { const playerElement = document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'TEXTAREA' || document.activeElement.isContentEditable; if (playerElement) return; // Ignore key events when input or textarea is focused const shiftNotAllowedShortcuts = ['Space', 'KeyK', 'KeyM', 'ArrowLeft', 'ArrowRight', 'KeyJ', 'KeyL', 'KeyS', 'ArrowUp', 'ArrowDown']; if (shiftNotAllowedShortcuts.includes(event.code) && event.shiftKey) { // If shift is pressed and the shortcut should not allow shift, return return; } switch (event.code) { case 'Space': case 'KeyK': event.preventDefault(); this.togglePlay(); break; case 'KeyM': event.preventDefault(); this.player.muted = !this.player.muted; break; case 'ArrowLeft': event.preventDefault(); this.updateTime(this.time - 5); break; case 'ArrowRight': event.preventDefault(); this.updateTime(this.time + 5); break; case 'KeyJ': event.preventDefault(); this.updateTime(this.time - 10); break; case 'KeyL': event.preventDefault(); this.updateTime(this.time + 10); break; case 'KeyS': event.preventDefault(); this.addStar(); break; case 'Period': // > event.preventDefault(); if (event.shiftKey) { this.speed = Math.min(Math.max(parseFloat(this.speed) + 0.1, 0.5), 4.0); this.speed = parseFloat(this.speed); this.player.playbackRate = this.speed; } break; case 'Comma': // < event.preventDefault(); if (event.shiftKey) { this.speed = Math.min(Math.max(parseFloat(this.speed) - 0.1, 0.5), 4.0); this.speed = parseFloat(this.speed); this.player.playbackRate = this.speed; } break; case 'ArrowUp': event.preventDefault(); this.changeVolume(parseFloat(this.volume) + 0.05); break; case 'ArrowDown': event.preventDefault(); this.changeVolume(parseFloat(this.volume) - 0.05); break; default: break; } }); }, changeVolume(volume) { if (this.player && (volume >= 0 && volume <= 1)) { this.volume = volume; this.player.volume = this.volume; } } }" x-init=" window.addEventListener('notify', event => { showNotification(event.detail.message); }); window.addEventListener('replace-text', event => { replaceText(event.detail.searchString, event.detail.replacementString); }); const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); if (mediaQuery.matches) { document.documentElement.classList.add('dark'); } setupKeyboardShortcuts(); ">
#299 誰でもないわたしが漂うひととき〜"Ku:Cafe" 的愉しみ
2022-10-30 03:38

#299 誰でもないわたしが漂うひととき〜"Ku:Cafe" 的愉しみ

愛
Host

エピソード内で紹介し忘れたけれど
そんな「誰でもないわたし」達の小さな物語たち
数年前にローカルのフリーペーパーに連載していたものですが
珈琲のお供に、どうぞ。

『Ku:Cafe in Vancouver』
ひととき宙に浮かぶ気球のように、一杯の珈琲と共に旅するひととき。
バンクーバーに実在するカフェを舞台にした12のショートストーリー。

挿絵は愛知在住の画家/音楽家原田 章生氏。

https://note.com/aloha_ai/m/mf5b7d35c9dd2



■お悩み相談、ツッコミ、ラブレターはコチラから

https://forms.gle/bu6gpmjTfkMKYD5d7

ㅤㅤ

■引き続き★「愛の幸せ株」販売中です。

・一株500円から購入できます。

・株主様には、後日幸せレポートします。

・ご購入はこちらから。 

https://buy.stripe.com/7sI2bU7Mc0DFcesfZ0

感想

まだ感想はありません。最初の1件を書きましょう!

00:04
真の愛のある皆様、アロハです。今日は10月の29日、土曜日のお昼ぐらいになっております。
今日はね、ダウンタウンに来ておりまして、お気に入りのカフェで時間を過ごしておりました。
カナダも急に寒くなってね、どういうわけより曇り空だったり、バシャバシャ雨が降ったり、でもその中でね、紅葉がとっても綺麗で、
エロジオがね、黄色や赤や黄色やオレンジに染まって、ああ、来た来たバンクーバーの冬っていう、そんな気持ちです。
でもこれね、すごい良いですよね。ちょっとずつ寒くなってきて、季節のね、匂いが変わってくるっていう、こういう時期がね、とても好きだったりします。
でね、最近私、お気に入りのね、カフェをね、買えたんですよね。ずっと行ってたカフェが、すっごいクロワッサン、カバンチーズクロワッサンがめっちゃ美味しくて、ずっと入り浸ってたんですけど、
そこがね、最近すごい人気で、混んできちゃってね、席の取り合いみたいになってて、なので、ちょっとね、落ち着かなくなっちゃったなぁと思って。
隣にね、また素敵なカフェがあったので、そこに行ってみるとですね、モカがすごい美味しくて、なんかイタリア系のカフェだから、エスプレッソが濃いのかなぁっていう感じで、
とてもね、空間も美しくて、新たなお気に入りとして先週からね、通っております。
そこでね、子供が日本語学校に行っている間にね、3時間、2時間、3時間ぐらいね、時間を過ごすんですけど、これが私の1週間の中ですごくね、大事な時間になっておりまして。
カフェってね、何だろう、スターバックスがさ、出た時に、サードプレイスっていう言葉が流行りましたけど、なんか職場でもね、家庭でもない第三の場所みたいなね、感じで、
会社での役割、役職とかね、肩書きとか、家でのね、役割みたいなものを、一旦ね、下ろして、荷物を下ろして、何か何者でもない事務になれるっていうね、そういうチューブラリーになれる場所っていう意味で、
なんかね、私にとってもとっても大事なんですよね。なんかそのチューブラリーの時の自分が生み出すものとか、感じることとか、
考えていることっていうのが、実はとってもね、大事だったりするんじゃないのかなーって思っていて、
まあ仕事したりもね、しているんですけど、学んだりもしているんですけど、
そこの、家とね、家とか、職場とか、まあ私は職場ないけど、そう何者でもない自分になれる場所っていうのがね、とっても大事だなーって思っております。
それがね、やっぱりね、譲れないっていうか、まあもう一つね、ギブネス研究員の秋子さんとね、ギブネスラジオっていうのを作ったんですけど、ポッドキャストね。
そこでもね、先週あの節約とギブネスの関係みたいなことをお話ししてたんですけど、やっぱりカフェだけはね、けちれないみたいな、節約できないみたいな、
03:02
マクドナルド行ったら100円でコーヒー飲めるけど、やっぱりそのね、その空間ごとね、味わいたいっていうのがね、すごいあるので、
なのでね、カフェ時間は私にとってとっても大事なひとときとなっております。
はい、というわけでね、皆さんもね、秋が深まってくるとね、あったかい飲み物も美味しい季節になっておりますが、お気に入りのね、カフェとかね、もしあったらぜひぜひ、はい、教えてください。
はい、というわけでね、寒くなってきたけど、あったかくしてお過ごしください。じゃねー、バイバイー。
03:38

コメント

スクロール