Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - marlonob

Pages: 12 3
1
MusicBee Wishlist / Re: Make Filters Optional for 'This Library Only'
« on: March 09, 2017, 11:02:15 PM »
+1

I have one library for classical and one for popular music. There are some filters, views, auto‐playists, etc. that may be useful in both (those based on ratings, duration, mood, etc) and some that not (those based on genres, album status, release year, decade, etc). For the latter ones, an option to be “Available for this library only” would be terrific (this option may even be available only for those who have more than one library registered).

I think it would be equally helpful if MB would save the state of every library, e.g. each of my libraries has its own set of views, tag needed in the thumbnail explorer (composer for classical, album artist for popular) and some other details. When I change libraries, I have to manually select the appropiate behaviour, and then again when I switch back. That alone has made me think of merging both libraries, but the uses and info that I require from each are just too different…

2
MusicBee Wishlist / A couple of small behavioural changes
« on: February 24, 2017, 09:07:30 PM »
Just a couple of small behavioural changes that would be nice to have.

Ability to use multiple key strokes in the Scan folders for new files > Choose folders… dialog

Currently, if you stroke several keys in this dialog (no matter how fast) it will change from the first folder starting with the first key to the first folder starting with the second key (example: press B goes to BADBADNOTGOOD, press R goes to Radiohead) instead of going to the first folder starting “Br”, as the thumbnail browser does.


Make the Now playing bar > Track information aligned to the top, not the bottom

Currently, this element is aligned to the bottom, causing the visual lost of the more relevant part of the information (where most of us, I guess, have it). Example:


As can be seen, the Now playing bar shows only the bottom of the track details (visible in the panel on the right), but it will be more useful to have the top of the information visible. Maybe even add a scroll bar to the right of the artist picture…

3
[…]I'm wondering about your use of [\s:,]*.  To me, read left to right, it looks inconsequential because of the use of the "*" rather than "+" since "*" would still select a character even in the absence of the whitespace, colon or comma at that location.

According to my experience, * will select zero or more [\s:,], but I'm having trouble imagining a case with zero occurrences of  [\s:,], so + may be more suitable.

I have some difficulty in understanding the workings and/or syntax of RxSplit.

[…] if I try the same to get the contents after the colon this won't work:
$RxSplit(<Title>,"(: )",2)
(it will only display ":")

$RxSplit(<Title>,"(: )",3) will give you what you need. It seem that, for whatever reason, MB counts the split pattern as part of the splitted series. This may be a bug, though.

4
Then create an if-else function where you $ismatch titles with two or more semicolons:

Code
(.*?:){2,}
Do one $rxreplace for that and another for titles containing only one semicolon
That also wouldn’t work, since there are cases where the relevant part is after the first colon (Saeviat tellus inter rigores, HWV 240: Recitativo: Carmelitarum ut confirmet ordinem) and others where it is after the second (Star Wars Episode V: The Empire Strikes Back: The Imperial March)

Your post, however, gave me an idea, and I think I got a solution. For anyone interested, it’s:
Code
$If($IsMatch($Replace(<Title>,<Work>,⋮),"(.*⋮){2}"),
$RxReplace(<Work>:::$Replace(<Title>,<Work>,⋮),"^(.+):::⋮[\s:,]*(.+)⋮(.*)$","⋮$2$1$3"),
$RxReplace($Replace(<Title>,<Work>,⋮),"⋮[\s:,]*","⋮"))

This first checks whether there’s two ⋮ (meaning, there have been two substitutions). If yes, then will put the content of <Work> along with a unique string (“:::”) before the resulting $Replace, so it can be used by the regex and put it instead of the second ⋮.

Thank you very much for your help, @theta_wave and for your commitment with the community.

5
That still wouldn’t function for my case in the first two examples (
The Hollywood Songbook no. 19: Panzerschlacht
The Hollywood Songbook no. 16: Die letzte Elegie

 since the main work title ends before any colon) neither will for titles such as
Saeviat tellus inter rigores, HWV 240: Recitativo: Carmelitarum ut confirmet ordinem
Mass no. 17 for Soloists, Chorus & Orchestra in C minor, K. 417a/427 (fragment) “Great”: IIa. Gloria: “Gloria in excelsis”

 where the work title ends just before the first colon.

As I mentioned before, I have three substitutions in mp3tag to help me automate the tagging of <Work>:
^(.+):\s.+ →  $1
:\s.+ →
\sn(o|r|º)\.\s?\d.* →

but which one will be needed each time has to be determined manually.

So, the <Work> tag contains the result of this task, and it would be useful to have the possibility to use it  for other purposes as well.

6
Hmm, I don't know why you need to include <work> in your regex when you can still easily parse <Title> without including that tag field.  I don't know the significance of "⋮" in your setup, but I'll include it anyways.  You seem to know your way around regex, so you can remove it if you don't need it.

What I would use for <Title->:
Code
$rxreplace(<Title>,"(^.+?)(\:\s)(.*$)","⋮$3")
Thank you for your reply.
The ⋮ is just an indicator that the title has been abreviated.
As for your solution: that would not work as well for me. Consider the following cases.
The Hollywood Songbook no. 19: Panzerschlacht
The Hollywood Songbook no. 16: Die letzte Elegie
Concerto grosso no. 5 in G‐major (arr. of Corelli: sonate op. 5 no.5): I. Adagio
Star Wars Episode V: The Empire Strikes Back: The Imperial March

In this cases, the expected results will be.
The Hollywood Songbook no. 19: Panzerschlacht
The Hollywood Songbook no. 16: Die letzte Elegie
Concerto grosso no. 5 in G‐major (arr. of Corelli: sonate op. 5 no.5): I. Adagio
Star Wars Episode V: The Empire Strikes Back: The Imperial March

But with that expression, it will be.
The Hollywood Songbook no. 19: Panzerschlacht
The Hollywood Songbook no. 16: Die letzte Elegie
Concerto grosso no. 5 in G‐major (arr. of Corelli: sonate op. 5 no.5): I. Adagio
Star Wars Episode V: The Empire Strikes Back: The Imperial March


I do have a very similar expression in mp3tag to auto-populate the <Work> tag, along with one to copy to it everything before the last colon, and another to copy everyting before "n(o|r|º)\.\s?\d" for this cases, but I have to select which is the right one per case.

The expression you suggested is, of course, the most common, but not the only one I’ll need.

7
Do you have an example of what you wanted to do?

Yes. I have a virtual tag (for classical) that deletes the work part of the title an leaves only the particular information of the track, like this:


Where (for the first track):
Work:   Symphony no. 4 in D minor, op. 120
Title:  Symphony no. 4 in D minor, op. 120: I. Ziemlich langsam - Lebhaft
Title-: ⋮I. Ziemlich langsam - Lebhaft


<Title-> is my virtual tag, defined as
$RxReplace($Replace(<Title>,<Work>,⋮),"⋮[ :,]*","⋮")


The problem occurs when the <Work> is used in the part of the title that I want to preserve. Example:

See track 06, where:
Work:   La noche de los mayas
Title:  La noche de los mayas: I. La noche de los mayas
Title-: ⋮I. ⋮

The expected <Title-> is
⋮I. La noche de los mayas

So, I’d rather use something like
$RxReplace(<Title>,"^"<Work>"[ :,]*(.+)","⋮$1")

 for my virtual tag, but I can’t find a way to do so.

8
I don’t know if this will work for you (or which device do you have) but for me, if, in the Settings sections for the device, in the “playlist path” field, I put something like “..\Playlists” it will not write anything on the device, but still sync all the files.

9
Hi, everyone:


Does anyone know whether is possible to use the content of a <tag> (as a literal string) in the expression?

10
MusicBee Wishlist / Re: Full regex functionality for virtul tags.
« on: February 16, 2017, 11:07:23 PM »
Is it possible to use the content of a <tag> (as a literal string) in the expression? I can’t figure out how.

11
Bug Reports / Re: Multiple Sort Album Artist not recognized properly
« on: February 07, 2017, 07:23:55 PM »
Not for multiple ways to sort one Album Artist, but for each name in a multiple-value <Album Artist> tag.

For example:
Album Artist: Johann Sebastian Bach; Ludwig van Beethoven; Wolfgang Amadeus Mozart
Sort Album Artist: Bach, Johann Sebastian; Beethoven, Ludwig van; Mozart, Wolfgang Amadeus

Most of my classical music albums have at least the composer, the orchestra and the director as album artists…

12
Bug Reports / Multiple Sort Album Artist not recognized properly
« on: February 07, 2017, 07:07:32 PM »
Consists in:
Those artists who appear in a multi-value <Sort Album Artist> tag, though showing properly in the thumbnail browser, show an empty Main Panel.

Happens when:
  • in the Music tab
  • having the thumbnail browser set to “Sort Album Artist”

Notes:
  • It works fine for <Album Artist>
  • It works fine for <Sort Album Artist> with just one value
  • MB version: 3.1.6246

13
Many thanks, sorry if this had been brought up before.

14
Consists in:
  • Hotkeys does not work (e.g. ctrl+a just makes the panel lose focus)
  • Commands to selected tracks do nothing (edit tracks, etc.)
  • Send to library command produce an error to be reported
Happens when:
  • In Now Playing tab
  • Main panel is Theater Mode
  • Playing Tracks is in the Now Playing sidebar
Error report
This is the report generated while trying to “send to library” from the Playing Tracks panel under the above circumstances
Code
MusicBee v3.1.6242.39186 (Win10.0), 6 feb. 2017 10:01:

System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.
   en MusicBee.MusicBeeMain.#=q8hrJCoX6YcdSw57MZ5R6eGrKQdoBwFWODlWz7k4xuXU=._Lambda$__0()
   en MusicBee.MusicBeeMain.#=qa9CQV__jDnlZekSPmuXCi$E11mO1sm6YMbYXKHjXyLA=(#=qLElodKCACc0avJyhj4nPA7WlBCVN2gQ8by2pVzlzwOQ= #=qR37LWzqIIfl5fuPzYVh4Sw==, #=qOvF6poC7b$Ee1ZHdIXB0ng_Znm7Db7UHDMJ6ivHsREU=& #=qBShPyQT3zcef4VPqouQLLw==, #=qRMOZq8a4lEe$WB5eX1yZjjGWv_6YL4PhGWDMHLM9MxQ=& #=qmtLg9Zl9u4bDV2gkT_9cBQ==, #=qfxzdSCZxrJzWiHtHuAr7E2dhzU78tNmoYXyPTFtgMTI=& #=qH_sWcHTCD$HbLItViK0jYg==)
   en MusicBee.MusicBeeMain.#=qsrEXFVs7$V1MY6Z7QPdcyw==(#=qLElodKCACc0avJyhj4nPA7WlBCVN2gQ8by2pVzlzwOQ= #=q7MyvDdHhAAJopXSCKy0T6w==, #=qOvF6poC7b$Ee1ZHdIXB0ng_Znm7Db7UHDMJ6ivHsREU=& #=qz_aFbT76iNIwEfzq2BFlxQ==, #=qRMOZq8a4lEe$WB5eX1yZjjGWv_6YL4PhGWDMHLM9MxQ=& #=qlkQnQhPayiAgBoY9WSoXbQ==, #=qfxzdSCZxrJzWiHtHuAr7E2dhzU78tNmoYXyPTFtgMTI=& #=qVEyq52634i_OU1tPEUxOxw==)
   en MusicBee.MusicBeeApplication.#=qyoQRz7rdVgUHsLGpIIyzyg==.#=qMYXThH1WfbJTXvmS_Z8BRw==(ApplicationCommand #=qbXAq7EPTxBfIz2bZQ7qIkQ==, Object #=q66UkR5mKNE2mUnF6G7Zj2A==, IList`1 #=qF8RNQ_DoNqpCKbbTseaRzg==)
   en #=q4LDNydwub74OZ$8nL2pZGVxTeajp0PQzzqICUwPx5C4=.OnClick(EventArgs #=qEIL38o0E_JlXm6oZcGPR8A==)
   en System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   en System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   en System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   en System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   en System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   en System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   en System.Windows.Forms.Control.WndProc(Message& m)
   en System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   en System.Windows.Forms.ToolStrip.WndProc(Message& m)
   en System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

15
Questions / Re: Why does MB convert custom id3 tags to all-capitals?
« on: February 03, 2017, 04:26:12 PM »
Thank you very much, Steven.

Pages: 12 3