問題タブ [taglib-ruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
373 参照

ruby - taglib-ruby とリソース バランシング (ファイル ハンドルの解放) は?

友達、

非常に高速な (Gem-Server 経由で 0.2.1) ライブラリを使用してID3 タグをスキャンすることにより、 Ruby (1.9.3) スクリプトを使用して大量のオーディオ ファイルを処理しようとしています。taglib-ruby

これは私のコードの一部ですがaudio、Ruby-String に完全なファイル パスが含まれています。

その後、処理のほぼ最後に問題が発生します。TagLibは読み取り権限がないことを訴えており、FileUtils.mv後でファイルを移動できなくなりました。私のスクリプトはファイル ハンドルを解放しないため、TagLibが処理中に食べている可能性があります。

残念ながら、API に特定の Ruby メソッドが見つかりませんでした。最終的にTagLibs C 関数の 1 つまたは両方を呼び出します。taglib-ruby

libmagicたとえば、Ruby バインディングはcloseそのMagicクラス内に -Method を提供するため、ブロックが確実に動作するように解放します。

の正しい Ruby メソッドtaglib-rubyが欠落しているだけですか、それとも現時点で欠落していますか? Ruby経由で取得したファイルハンドルを解放する別の方法はありますか?

0 投票する
2 に答える
1016 参照

ruby-on-rails - RoR TagLib-Ruby: DB に ID3 タグを設定する方法

事前に助けてくれてありがとう。

モデル MasterSong の属性としてデータベースに id3 タグ データを設定したいと考えています。具体的には、タイトル、アーティスト、アルバムです。

私のモデルでは、オブジェクト (master_song) が保存される前にコールバックを使用してデータを設定しています。

私の構文に問題があると確信しています。オブジェクトにエラーが発生したようです

コントローラの作成アクションは正常です:

ここで何が間違っていますか?更新: def set_id3_tags z = TagLib::MPEG::File.open(self.m_song.path) do |file| tag = file.id3v2_tag tag.title end self.update_attribute!(:title => z) end

スタック レベルが深すぎるというエラーが表示されるようになりました。

0 投票する
1 に答える
498 参照

heroku - Taglib の依存関係として Vulcan を使用して、Heroku で cmake をビルドします。

Taglibを Heroku で動作させようとしているので、 taglib-ruby gemを使用できます。私は、Vulcan とカスタム Heroku ビルドパックを使って、それを機能させるために戦ってきました。Taglib の依存関係の 1 つは cmake であるため、最初にこれを機能させようとしています。

Vulcan を使用して cmake をビルドする方法を説明する Github の問題があります: Issue #32が、ビルド サーバーから同じ応答を受け取り続けます。

cmake が機能したら、Taglib のビルドはかなり簡単になるはずです。

私は、Vulcan を使用してバイナリ アプリケーションの依存関係を構築する方法についての Ryan Daigle の投稿をフォローしました。Vulcan サーバーへのリモート シェルを確立し、実行しました。

…ここで、「5382f498-fd89-4c1a-9269-e05815294f40」は、cmake ビルド エラー時に Vulcan によって返される ID ですが、上記と同じエラーが表示されます。

これを機能させるために、MAKE環境変数を何に設定する必要があるかについて、誰かが洞察を提供できますか?

0 投票する
0 に答える
364 参照

heroku - Heroku はバンドル構成を無視しています

Heroku に gem 'taglib-ruby' をインストールしようとしています。この gem は、taglib と呼ばれるシステム依存関係を必要とするネイティブ拡張としてコンパイルされるため、heroku vulcan を介してコンパイルおよびアップロードした後、heroku bash のコマンドラインから gem をコンパイルすることができました。

そして、このパラメーターが後でバンドラーによって使用されるようにするために、次のコマンドを使用してバンドラー構成として追加しました。

ファイル /.bundle/config を検査し、BUNDLE_BUILD__TAGLIB-RUBY の行を探して、この構成が適用されていることを確認しました。

ただし、プロジェクトをherokuにプッシュした後、バンドルインストールコマンドを実行している間、herokuは、taglibライブラリが存在しないため、上記のgem(taglib-ruby)をインストールできないと不平を言いますが、それは私が解決しようとしていたものです上記のオプション「--with-opt-dir=/app/vendor/taglib」

そのため、Heroku はバンドラーの設定を無視しているようです。

何が起こっている可能性がありますか?Heroku で同じ目的 (カスタム ビルド オプションを使用して gem をインストールする) を達成する別の方法を知っていますか?

0 投票する
1 に答える
1173 参照

ruby-on-rails - Taglib-Ruby を使用して Web アプリ用のカスタム Heroku Ruby/Rails Buildpack を構築する

taglib-ruby gem を利用する Rails 3.2 を使用してアプリケーションを構築しました。

このアプリを Heroku にアップロードする必要がありますが、関連する C++ taglib ライブラリをマシンにインストールする必要があるため、taglib-ruby gem を正常にビルドできません。

これにより、Vulcan を使用してカスタム ビルドパックを作成し、アプリをインストールすることにしました。

https://github.com/heroku/vulcan/issues/32のアドバイスに従って、Vulcan を使用して cmake と taglib を正常にインストールできました。https://github.com/JllyGrnGiant/vulcan-buildpackでホストしているコンピューターに vulcan がダウンロードした結果のファイル

アプリのディレクトリに移動して実行すると

次に、アプリをプッシュしようとすると、ビルダーはビルドパックを正常に見つけますが、アプリのインストールを続行する方法がわかりません

これは、デフォルトの Ruby ビルドパックをフォークする必要があるためだと思います。

今、私たちは私の問題に到達しました。私はデプロイメントに関してあまり詳しくないので、taglib ファイルをどこに含めるべきか、また変更すべき他のファイルがわからないので、アプリをプッシュすると、これらの taglib ライブラリが見つかり、taglib-ruby gem がビルドされます。Heroku の Web サイトのヘルプのパッケージ化バイナリ セクションは、バイナリは持っていないが、ヘッダー ファイルとライブラリがたくさんあるという問題のコンテキストでは言うまでもなく、私にはあまり意味がありません。

taglib-ruby と Heroku についてこの質問をした他の人は、私にとっては問題なく完了した cmake のインストールに成功していません。また、Ruby/Rails のカスタム ビルドパックにライブラリを含める方法を説明するリソースを見つけることができませんでした。アプリ。

どんな助けでも大歓迎です。お時間をいただきありがとうございます。

0 投票する
2 に答える
387 参照

ruby - MP3 ID3V2 APIC を jpeg ファイルに保存

taglib-ruby を使用して APIC 画像を読み取ってファイルに保存しようとしていますが、その方法を理解するのに苦労しています。私が言えることから、画像は「image/jpeg」とASCII-8BITです。誰でもこれを達成しようとしましたか?

0 投票する
2 に答える
172 参照

ruby-on-rails - 初期化されていない定数 ActivityObjects::BuildController::TagLib

レールでtaglibを使用しようとしました。このコード (以下を参照) をコントローラーに入れましたが、「uninitialized constant ActivityObjects::BuildController::TagLib」というエラーが発生しました。

レールでtaglibを使用する方法はありますか?

0 投票する
1 に答える
348 参照

ruby-on-rails - taglib(-ruby)で特定のファイルが読み込めない

ドロップボックスフォルダーから曲をダウンロードし、いくつかのメタタグを抽出するなど、いくつかのアクションを実行するルビーオンレールアプリを実装しています。現在、同じアルバムに属する 10 個の mp3 を使用しているため、エンコードなどは同じです。ただし、taglib-rubyを使用してメタタグを読み取ろうとすると、10 個のファイルのうち 3 個で次のようにエラーがスローされます。

ここで左側にあるコードをガイドとして使用したところ、次のようになりました。

最初はダウンロードしたファイルが壊れているのではないかと思いましたが、nautilus でメタデータを確認すると問題なく、Rhismbox でも再生できます。アーティストとタイトルを取得する必要があるだけで、さまざまな形式のファイルから取得できるようにする必要があるため、形式固有のものではなく、taglib-ruby の Basic API を使用したいと考えています。

これを修正する方法はありますか?私がこのトピックに関して初心者であることを考えると、非常に明白な何かが欠けている可能性があります。

編集:ロビンストのコメントを考慮して、これはls -lそれぞれのファイルのリストです: